OTB  6.7.0
Orfeo Toolbox
otbScalarImageToAdvancedTexturesFilter.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 otbScalarImageToAdvancedTexturesFilter_h
22 #define otbScalarImageToAdvancedTexturesFilter_h
23 
25 #include "itkMacro.h"
26 #include "itkImageToImageFilter.h"
27 
28 namespace otb
29 {
104 template<class TInpuImage, class TOutputImage>
106  <TInpuImage, TOutputImage>
107 {
108 public:
109 
115 
117  itkNewMacro(Self);
118 
121 
123  typedef TInpuImage InputImageType;
124  typedef typename InputImageType::Pointer InputImagePointerType;
125  typedef typename InputImageType::PixelType InputPixelType;
126  typedef typename InputImageType::RegionType InputRegionType;
127  typedef typename InputImageType::OffsetType OffsetType;
129  typedef TOutputImage OutputImageType;
130  typedef typename OutputImageType::Pointer OutputImagePointerType;
131  typedef typename OutputImageType::RegionType OutputRegionType;
132 
140 
141  typedef typename VectorType::iterator VectorIteratorType;
142  typedef typename VectorType::const_iterator VectorConstIteratorType;
143 
145  itkSetMacro(Radius, SizeType);
146 
148  itkGetMacro(Radius, SizeType);
149 
151  itkSetMacro(Offset, OffsetType);
152 
154  itkGetMacro(Offset, OffsetType);
155 
157  itkSetMacro(NumberOfBinsPerAxis, unsigned int);
158 
160  itkGetMacro(NumberOfBinsPerAxis, unsigned int);
161 
163  itkSetMacro(InputImageMinimum, InputPixelType);
164 
166  itkGetMacro(InputImageMinimum, InputPixelType);
167 
169  itkSetMacro(InputImageMaximum, InputPixelType);
170 
172  itkGetMacro(InputImageMaximum, InputPixelType);
173 
175  itkSetMacro(SubsampleFactor, SizeType);
176 
178  itkGetMacro(SubsampleFactor, SizeType);
179 
181  itkSetMacro(SubsampleOffset, OffsetType);
182 
184  itkGetMacro(SubsampleOffset, OffsetType);
185 
188 
191 
194 
197 
200 
203 
206 
209 
212 
215 
216 protected:
219 
222 
224  void GenerateOutputInformation() override;
225 
227  void GenerateInputRequestedRegion() override;
228 
230  void BeforeThreadedGenerateData() override;
231 
233  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) override;
234 
235 private:
236  ScalarImageToAdvancedTexturesFilter(const Self&) = delete;
237  void operator =(const Self&) = delete;
238 
240  static OutputRegionType RegionUnion(const OutputRegionType& region1, const OutputRegionType& region2);
241 
244 
247 
250 
252  unsigned int m_NumberOfBinsPerAxis;
253 
256 
259 
262 
265 };
266 } // End namespace otb
267 
268 #ifndef OTB_MANUAL_INSTANTIATION
270 #endif
271 
272 #endif
itk::Size< Monteverdi_DIMENSION > SizeType
Definition: mvdTypes.h:137
CooccurrenceIndexedListType::PixelValueType PixelValueType
CooccurrenceIndexedListType::ConstPointer CooccurrenceIndexedListConstPointerType
This class holds a VectorType of CooccurrencePairType with each pair is a combination of pixel index ...
static OutputRegionType RegionUnion(const OutputRegionType &region1, const OutputRegionType &region2)
itk::NumericTraits< PixelType >::RealType PixelValueType
CooccurrenceIndexedListType::RelativeFrequencyType RelativeFrequencyType
GreyLevelCooccurrenceIndexedList< InputPixelType > CooccurrenceIndexedListType
void ThreadedGenerateData(const OutputRegionType &outputRegion, itk::ThreadIdType threadId) override
unsigned int ThreadIdType
In this case, 10 advanced texture features will be processed. The 10 output image channels are: Mean...
CooccurrenceIndexedListType::IndexType CooccurrenceIndexType
CooccurrenceIndexedListType::Pointer CooccurrenceIndexedListPointerType
TOutputImage OutputImageType
itk::ImageToImageFilter< TInpuImage, TOutputImage > Superclass
itk::NumericTraits< FrequencyType >::RealType RelativeFrequencyType
void operator=(const Self &)=delete