23 #ifndef otbWaveletPacketTransform_h
24 #define otbWaveletPacketTransform_h
26 #include "itkProgressAccumulator.h"
63 class TCost = FullyDecomposedWaveletPacketCost<TInputImage>>
117 template <
class TInputImage,
class TOutputImage,
class TFilter,
class TCost>
138 typedef typename InputImageType::SizeType
SizeType;
165 return this->m_WaveletPacketRule;
169 itkGetMacro(NumberOfFilters,
unsigned int);
170 itkGetMacro(DepthOfDecomposition,
unsigned int);
173 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
183 itkGetMacro(SubsampleImageFactor,
unsigned int);
184 itkSetMacro(SubsampleImageFactor,
unsigned int);
197 void GenerateData()
override;
200 virtual void GenerateData(
unsigned int depth, OutputImageType* outputPtr, itk::ProgressAccumulator* accumulator);
250 template <
class TInputImage,
class TOutputImage,
class TFilter>
272 typedef typename InputImageType::SizeType
SizeType;
300 return this->m_WaveletPacketRule;
304 this->m_WaveletPacketRule = rule;
317 itkGetMacro(SubsampleImageFactor,
unsigned int);
318 itkSetMacro(SubsampleImageFactor,
unsigned int);
322 itkGetMacro(NumberOfFilters,
unsigned int);
323 itkGetMacro(DepthOfDecomposition,
unsigned int);
326 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
338 void GenerateOutputInformation()
override;
344 void GenerateData()
override;
347 virtual unsigned int SetInputFilters(
unsigned int& ruleID, InputImageIterator& inputIter,
unsigned int filterID);
350 void InterpretRule();
351 void InterpretRule(
unsigned int& ruleID,
unsigned int curDepth);
377 #ifndef OTB_MANUAL_INSTANTIATION
Cost evaluation to be used into the Wavelet Packet decomposition class.
Base class for all the filters producing an otbImageList.
Base class for all the filters taking an images list as input to produce an image.
itk::SmartPointer< Self > Pointer
Superclass::Iterator Iterator
Base class for all the filters taking an image input to produce an image list.
Iterator of the object list.
This class is a generic all-purpose wrapping around an std::vector<itk::SmartPointer<ObjectType> >.
itk::SmartPointer< Self > Pointer
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.