19 #ifndef rtkDeconstructImageFilter_h 20 #define rtkDeconstructImageFilter_h 127 template <
class TImage>
147 static constexpr
unsigned int ImageDimension = TImage::ImageDimension;
167 this->m_NumberOfLevels = levels;
168 this->ModifyInputOutputStorage();
176 return this->m_NumberOfLevels;
184 GenerateOutputInformation()
override;
187 GenerateInputRequestedRegion()
override;
190 itkGetMacro(Order,
unsigned int);
201 typename InputImageType::SizeType *
204 return m_Sizes.data();
214 typename InputImageType::IndexType *
217 return m_Indices.data();
224 PrintSelf(std::ostream & os,
itk::Indent indent)
const override;
230 ModifyInputOutputStorage();
234 GenerateData()
override;
238 CalculateNumberOfOutputs();
242 GeneratePassVectors();
245 unsigned int m_NumberOfLevels{ 5 };
246 unsigned int m_Order{ 3 };
247 bool m_PipelineConstructed{
251 typename std::vector<typename InputImageType::SizeType>
m_Sizes;
252 typename std::vector<typename InputImageType::IndexType>
m_Indices;
254 typename std::vector<typename ConvolutionFilterType::Pointer>
256 typename std::vector<typename DownsampleImageFilterType::Pointer>
259 typename std::vector<typename ConvolutionFilterType::PassVector>
m_PassVectors;
265 #ifndef rtk_MANUAL_INSTANTIATION 266 # include "rtkDeconstructImageFilter.hxx" typename OutputImageType::Pointer OutputImagePointer
std::vector< typename ConvolutionFilterType::PassVector > m_PassVectors
virtual void SetNumberOfLevels(unsigned int levels)
typename Superclass::InputImagePointer InputImagePointer
typename Superclass::InputImageConstPointer InputImageConstPointer
std::vector< typename InputImageType::IndexType > m_Indices
std::vector< typename ConvolutionFilterType::Pointer > m_ConvolutionFilters
std::vector< typename PadFilterType::Pointer > m_PadFilters
#define itkSetMacro(name, type)
InputImageType::IndexType * GetIndices()
TOutputImage OutputImageType
typename TImage::InternalPixelType InternalPixelType
typename TImage::PixelType PixelType
virtual unsigned int GetNumberOfLevels()
std::vector< typename DownsampleImageFilterType::Pointer > m_DownsampleFilters
InputImageType::SizeType * GetSizes()
typename Superclass::InputImageType InputImageType
Creates a Daubechies wavelets kernel image with the requested attributes (order, type, pass along each dimension)
An image filter that deconstructs an image using Daubechies wavelets.
std::vector< typename InputImageType::SizeType > m_Sizes
Downsamples an image by a factor in each dimension.