OTB  6.7.0
Orfeo Toolbox
otbNAPCAImageFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbNAPCAImageFilter_h
22 #define otbNAPCAImageFilter_h
23 
24 #include "otbMNFImageFilter.h"
25 
26 namespace otb {
27 
48 template <class TInputImage, class TOutputImage,
49  class TNoiseImageFilter,
50  Transform::TransformDirection TDirectionOfTransformation >
51 class ITK_EXPORT NAPCAImageFilter
52  : public MNFImageFilter< TInputImage, TOutputImage, TNoiseImageFilter, TDirectionOfTransformation >
53 {
54 public:
56  typedef MNFImageFilter< TInputImage, TOutputImage,
57  TNoiseImageFilter, TDirectionOfTransformation > Superclass;
60 
62  itkNewMacro(Self);
63 
66 
68  typedef typename Superclass::InputImageType InputImageType;
69  typedef typename Superclass::OutputImageType OutputImageType;
70 
71  typedef typename Superclass::CovarianceEstimatorFilterType CovarianceEstimatorFilterType;
72  typedef typename Superclass::CovarianceEstimatorFilterPointerType CovarianceEstimatorFilterPointerType;
73 
74  typedef typename Superclass::RealType RealType;
76  typedef typename Superclass::MatrixObjectType MatrixObjectType;
77  typedef typename Superclass::MatrixType MatrixType;
78  typedef typename Superclass::InternalMatrixType InternalMatrixType;
79  typedef typename Superclass::MatrixElementType MatrixElementType;
80 
81  typedef typename Superclass::TransformFilterType TransformFilterType;
82  typedef typename Superclass::TransformFilterPointerType TransformFilterPointerType;
83 
84  typedef typename Superclass::NoiseImageFilterType NoiseImageFilterType;
85  typedef typename Superclass::NoiseImageFilterPointerType NoiseImageFilterPointerType;
86 
87  typedef typename Superclass::NormalizeFilterType NormalizeFilterType;
88  typedef typename Superclass::NormalizeFilterPointerType NormalizeFilterPointerType;
89 
90 protected:
92  ~NAPCAImageFilter () override { }
93 
95  void GenerateTransformationMatrix() override;
96 }; // end of class
97 
98 } // end of namespace otb
99 
100 #ifndef OTB_MANUAL_INSTANTIATION
101 #include "otbNAPCAImageFilter.hxx"
102 #endif
103 
104 #endif
105 
Superclass::VectorType VectorType
itk::SmartPointer< const Self > ConstPointer
Superclass::MatrixObjectType MatrixObjectType
Performs a Maximum Noise Fraction analysis of a vector image.
Superclass::MatrixType MatrixType
std::vector< double > VectorType
Superclass::NormalizeFilterPointerType NormalizeFilterPointerType
Superclass::OutputImageType OutputImageType
Performs a Noise Adjusted PCA analysis of a vector image.
Superclass::NoiseImageFilterType NoiseImageFilterType
Superclass::TransformFilterType TransformFilterType
itk::SmartPointer< Self > Pointer
Monteverdi_FLOATING_TYPE RealType
Definition: mvdTypes.h:84
Superclass::InputImageType InputImageType
Superclass::TransformFilterPointerType TransformFilterPointerType
Superclass::NormalizeFilterType NormalizeFilterType
Superclass::RealType RealType
Superclass::CovarianceEstimatorFilterType CovarianceEstimatorFilterType
Superclass::CovarianceEstimatorFilterPointerType CovarianceEstimatorFilterPointerType
Superclass::MatrixElementType MatrixElementType
Superclass::InternalMatrixType InternalMatrixType
Superclass::NoiseImageFilterPointerType NoiseImageFilterPointerType
MNFImageFilter< TInputImage, TOutputImage, TNoiseImageFilter, TDirectionOfTransformation > Superclass