OTB  9.0.0
Orfeo Toolbox
otbMaximumAutocorrelationFactorImageFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 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 otbMaximumAutocorrelationFactorImageFilter_h
22 #define otbMaximumAutocorrelationFactorImageFilter_h
23 
24 
27 #include "itkNumericTraits.h"
28 
29 #include "vnl/vnl_vector.h"
30 #include "vnl/vnl_matrix.h"
31 
32 namespace otb
33 {
34 
68 template <class TInputImage, class TOutputImage>
69 class ITK_EXPORT MaximumAutocorrelationFactorImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage>
70 {
71 public:
74  typedef itk::ImageToImageFilter<TInputImage, TOutputImage> Superclass;
75  typedef itk::SmartPointer<Self> Pointer;
76  typedef itk::SmartPointer<const Self> ConstPointer;
77 
79  itkNewMacro(Self);
80 
82  itkTypeMacro(MaximumAutocorrelationFactorImageFilter, ImageToImageFilter);
83 
85  typedef TInputImage InputImageType;
86  typedef typename InputImageType::Pointer InputImagePointer;
87  typedef typename InputImageType::ConstPointer InputImageConstPointer;
88  typedef typename InputImageType::RegionType InputImageRegionType;
89  typedef typename InputImageRegionType::SizeType InputImageSizeType;
90  typedef typename InputImageRegionType::IndexType InputImageIndexType;
91  typedef typename InputImageType::PixelType InputImagePixelType;
92  typedef typename InputImageType::ValueType InputImageValueType;
93  typedef TOutputImage OutputImageType;
94  typedef typename OutputImageType::Pointer OutputImagePointer;
95  typedef typename OutputImageType::RegionType OutputImageRegionType;
96  typedef typename OutputImageType::PixelType OutputImagePixelType;
97  typedef typename InputImageType::InternalPixelType InputInternalPixelType;
98  typedef typename itk::NumericTraits<InputInternalPixelType>::RealType InternalPixelType;
99 
101 
102 
107  typedef typename MatrixObjectType::ComponentType MatrixType;
108  typedef typename MatrixType::InternalMatrixType InternalMatrixType;
110 
111  typedef typename VectorType::ValueType RealType;
112  typedef vnl_vector<RealType> VnlVectorType;
113  typedef vnl_matrix<RealType> VnlMatrixType;
114 
116  itkGetMacro(V, VnlMatrixType);
117 
119  itkGetMacro(AutoCorrelation, VnlVectorType);
120 
123  itkGetObjectMacro(CovarianceEstimator, CovarianceEstimatorType);
124 
127  itkGetObjectMacro(CovarianceEstimatorH, CovarianceEstimatorType);
128 
131  itkGetObjectMacro(CovarianceEstimatorV, CovarianceEstimatorType);
132 
133 protected:
136  {
137  }
138 
139  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
140 
141  void GenerateOutputInformation() override;
142 
143 private:
144  MaximumAutocorrelationFactorImageFilter(const Self&) = delete;
145  void operator=(const Self&) = delete;
146 
149 
153 
157 
160 
163 
166 };
167 
168 } // end namespace otb
169 
170 #ifndef OTB_MANUAL_INSTANTIATION
172 #endif
173 
174 #endif
otb::MaximumAutocorrelationFactorImageFilter::InputImagePointer
InputImageType::Pointer InputImagePointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:86
otb::MaximumAutocorrelationFactorImageFilter::VnlVectorType
vnl_vector< RealType > VnlVectorType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:112
otbMaximumAutocorrelationFactorImageFilter.hxx
otb::MaximumAutocorrelationFactorImageFilter::InputImageType
TInputImage InputImageType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:82
otb::MaximumAutocorrelationFactorImageFilter::InputImageIndexType
InputImageRegionType::IndexType InputImageIndexType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:90
otb::MaximumAutocorrelationFactorImageFilter::VectorType
CovarianceEstimatorType::RealPixelType VectorType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:109
otbStreamingStatisticsVectorImageFilter.h
otb::MaximumAutocorrelationFactorImageFilter::InputImageSizeType
InputImageRegionType::SizeType InputImageSizeType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:89
otb::MaximumAutocorrelationFactorImageFilter::InputImagePixelType
InputImageType::PixelType InputImagePixelType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:91
otb::MaximumAutocorrelationFactorImageFilter::CovarianceEstimatorPointer
CovarianceEstimatorType::Pointer CovarianceEstimatorPointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:105
otb::MaximumAutocorrelationFactorImageFilter::OutputImageRegionType
OutputImageType::RegionType OutputImageRegionType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:95
otb::MaximumAutocorrelationFactorImageFilter::RealType
VectorType::ValueType RealType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:111
otb::MaximumAutocorrelationFactorImageFilter::CovarianceEstimatorType
StreamingStatisticsVectorImageFilter< InternalImageType > CovarianceEstimatorType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:104
otb::MaximumAutocorrelationFactorImageFilter::OutputImagePointer
OutputImageType::Pointer OutputImagePointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:94
otb::StreamingStatisticsVectorImageFilter::MatrixObjectType
StatFilterType::MatrixObjectType MatrixObjectType
Definition: otbStreamingStatisticsVectorImageFilter.h:323
otb::StreamingStatisticsVectorImageFilter::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbStreamingStatisticsVectorImageFilter.h:304
otb::MaximumAutocorrelationFactorImageFilter::InternalPixelType
itk::NumericTraits< InputInternalPixelType >::RealType InternalPixelType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:98
otbConcatenateVectorImageFilter.h
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::MaximumAutocorrelationFactorImageFilter::InputImageConstPointer
InputImageType::ConstPointer InputImageConstPointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:87
otb::MaximumAutocorrelationFactorImageFilter::InternalMatrixType
MatrixType::InternalMatrixType InternalMatrixType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:108
otb::MaximumAutocorrelationFactorImageFilter::m_CovarianceEstimatorH
CovarianceEstimatorPointer m_CovarianceEstimatorH
Definition: otbMaximumAutocorrelationFactorImageFilter.h:152
otb::MaximumAutocorrelationFactorImageFilter::VnlMatrixType
vnl_matrix< RealType > VnlMatrixType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:113
otb::StreamingStatisticsVectorImageFilter::RealPixelType
StatFilterType::RealPixelType RealPixelType
Definition: otbStreamingStatisticsVectorImageFilter.h:320
otb::MaximumAutocorrelationFactorImageFilter::m_Mean
VnlVectorType m_Mean
Definition: otbMaximumAutocorrelationFactorImageFilter.h:162
otb::MaximumAutocorrelationFactorImageFilter::OutputImagePixelType
OutputImageType::PixelType OutputImagePixelType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:96
otb::MaximumAutocorrelationFactorImageFilter::m_V
VnlMatrixType m_V
Definition: otbMaximumAutocorrelationFactorImageFilter.h:159
otb::MaximumAutocorrelationFactorImageFilter::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:76
otb::MaximumAutocorrelationFactorImageFilter
This filter implements the Maximum Autocorrelation Factor.
Definition: otbMaximumAutocorrelationFactorImageFilter.h:69
otb::MaximumAutocorrelationFactorImageFilter::InputInternalPixelType
InputImageType::InternalPixelType InputInternalPixelType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:97
otb::MaximumAutocorrelationFactorImageFilter::InternalImageType
VectorImage< InternalPixelType, 2 > InternalImageType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:100
otb::MaximumAutocorrelationFactorImageFilter::InputImageRegionType
InputImageType::RegionType InputImageRegionType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:88
otb::StreamingStatisticsVectorImageFilter
This class streams the whole input image through the PersistentStatisticsImageFilter.
Definition: otbStreamingStatisticsVectorImageFilter.h:297
otb::MaximumAutocorrelationFactorImageFilter::MatrixType
MatrixObjectType::ComponentType MatrixType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:107
otb::MaximumAutocorrelationFactorImageFilter::InputImageValueType
InputImageType::ValueType InputImageValueType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:92
otb::MaximumAutocorrelationFactorImageFilter::Self
MaximumAutocorrelationFactorImageFilter Self
Definition: otbMaximumAutocorrelationFactorImageFilter.h:73
otb::MaximumAutocorrelationFactorImageFilter::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbMaximumAutocorrelationFactorImageFilter.h:75
otb::MaximumAutocorrelationFactorImageFilter::Superclass
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: otbMaximumAutocorrelationFactorImageFilter.h:74
otb::MaximumAutocorrelationFactorImageFilter::MatrixObjectType
CovarianceEstimatorType::MatrixObjectType MatrixObjectType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:106
otb::MaximumAutocorrelationFactorImageFilter::OutputImageType
TOutputImage OutputImageType
Definition: otbMaximumAutocorrelationFactorImageFilter.h:93
otb::MaximumAutocorrelationFactorImageFilter::m_CovarianceEstimator
CovarianceEstimatorPointer m_CovarianceEstimator
Definition: otbMaximumAutocorrelationFactorImageFilter.h:148
otb::MaximumAutocorrelationFactorImageFilter::m_CovarianceEstimatorV
CovarianceEstimatorPointer m_CovarianceEstimatorV
Definition: otbMaximumAutocorrelationFactorImageFilter.h:156
otb::MaximumAutocorrelationFactorImageFilter::m_AutoCorrelation
VnlVectorType m_AutoCorrelation
Definition: otbMaximumAutocorrelationFactorImageFilter.h:165
otb::MaximumAutocorrelationFactorImageFilter::~MaximumAutocorrelationFactorImageFilter
~MaximumAutocorrelationFactorImageFilter() override
Definition: otbMaximumAutocorrelationFactorImageFilter.h:135
otb::VectorImage
Creation of an "otb" vector image which contains metadata.
Definition: otbVectorImage.h:45