RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
rtk::DeconstructImageFilter< TImage > Class Template Reference

#include <rtkDeconstructImageFilter.h>

+ Inheritance diagram for rtk::DeconstructImageFilter< TImage >:
+ Collaboration diagram for rtk::DeconstructImageFilter< TImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using ConvolutionFilterType = rtk::DaubechiesWaveletsConvolutionImageFilter< InputImageType >
 
using DownsampleImageFilterType = rtk::DownsampleImageFilter< InputImageType >
 
using InputImageConstPointer = typename Superclass::InputImageConstPointer
 
using InputImagePointer = typename Superclass::InputImagePointer
 
using InputImageType = typename Superclass::InputImageType
 
using InternalPixelType = typename TImage::InternalPixelType
 
using OutputImagePointer = typename Superclass::OutputImagePointer
 
using OutputImageType = typename Superclass::OutputImageType
 
using PadFilterType = itk::MirrorPadImageFilter< InputImageType, InputImageType >
 
using PixelType = typename TImage::PixelType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = DeconstructImageFilter
 
using Superclass = itk::ImageToImageFilter< TImage, TImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
InputImageType::IndexTypeGetIndices ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNumberOfLevels ()
 
virtual unsigned int GetOrder ()
 
InputImageType::SizeTypeGetSizes ()
 
virtual void SetOrder (unsigned int _arg)
 
virtual void SetNumberOfLevels (unsigned int levels)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TImage::ImageDimension
 

Protected Member Functions

virtual unsigned int CalculateNumberOfOutputs ()
 
 DeconstructImageFilter ()
 
void GenerateData () override
 
void GeneratePassVectors ()
 
void ModifyInputOutputStorage ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~DeconstructImageFilter () override=default
 

Private Attributes

std::vector< typename ConvolutionFilterType::Pointerm_ConvolutionFilters
 
std::vector< typename DownsampleImageFilterType::Pointerm_DownsampleFilters
 
std::vector< typename InputImageType::IndexTypem_Indices
 
unsigned int m_NumberOfLevels {5}
 
unsigned int m_Order {3}
 
std::vector< typename PadFilterType::Pointerm_PadFilters
 
std::vector< typename ConvolutionFilterType::PassVectorm_PassVectors
 
bool m_PipelineConstructed {false}
 
std::vector< typename InputImageType::SizeTypem_Sizes
 

Detailed Description

template<class TImage>
class rtk::DeconstructImageFilter< TImage >

An image filter that deconstructs an image using Daubechies wavelets.

This filter is inspired from Dan Mueller's GIFT package http://www.insight-journal.org/browse/publication/103

dot_inline_dotgraph_8.png
Test:
rtkwaveletstest.cxx
Author
Cyril Mory

Definition at line 119 of file rtkDeconstructImageFilter.h.

Member Typedef Documentation

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 130 of file rtkDeconstructImageFilter.h.

Definition at line 152 of file rtkDeconstructImageFilter.h.

Definition at line 153 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::InputImageConstPointer = typename Superclass::InputImageConstPointer

Definition at line 146 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::InputImagePointer = typename Superclass::InputImagePointer

Definition at line 144 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::InputImageType = typename Superclass::InputImageType

Inherit types from Superclass.

Definition at line 142 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::InternalPixelType = typename TImage::InternalPixelType

Definition at line 148 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::OutputImagePointer = typename Superclass::OutputImagePointer

Definition at line 145 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::OutputImageType = typename Superclass::OutputImageType

Definition at line 143 of file rtkDeconstructImageFilter.h.

Typedefs for pipeline's subfilters

Definition at line 151 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::PixelType = typename TImage::PixelType

Definition at line 147 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::Pointer = itk::SmartPointer<Self>

Definition at line 129 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::Self = DeconstructImageFilter

Standard class type alias.

Definition at line 127 of file rtkDeconstructImageFilter.h.

template<class TImage >
using rtk::DeconstructImageFilter< TImage >::Superclass = itk::ImageToImageFilter<TImage,TImage>

Definition at line 128 of file rtkDeconstructImageFilter.h.

Constructor & Destructor Documentation

template<class TImage >
rtk::DeconstructImageFilter< TImage >::DeconstructImageFilter ( )
protected
template<class TImage >
rtk::DeconstructImageFilter< TImage >::~DeconstructImageFilter ( )
overrideprotecteddefault

Member Function Documentation

template<class TImage >
virtual unsigned int rtk::DeconstructImageFilter< TImage >::CalculateNumberOfOutputs ( )
protectedvirtual

Calculates the number of ProcessObject output images

Referenced by rtk::DeconstructImageFilter< TImage >::GetIndices().

template<class TImage >
virtual::itk::LightObject::Pointer rtk::DeconstructImageFilter< TImage >::CreateAnother ( ) const
template<class TImage >
void rtk::DeconstructImageFilter< TImage >::GenerateData ( )
overrideprotected

Does the real work.

Referenced by rtk::DeconstructImageFilter< TImage >::GetIndices().

template<class TImage >
void rtk::DeconstructImageFilter< TImage >::GenerateInputRequestedRegion ( )
override
template<class TImage >
void rtk::DeconstructImageFilter< TImage >::GenerateOutputInformation ( )
override

DeconstructImageFilter produces images which are of different size than the input image. As such, we reimplement GenerateOutputInformation() in order to inform the pipeline execution model.

Referenced by rtk::DeconstructImageFilter< TImage >::GetNumberOfLevels().

template<class TImage >
void rtk::DeconstructImageFilter< TImage >::GeneratePassVectors ( )
protected

Creates and sets the kernel sources to generate all kernels.

Referenced by rtk::DeconstructImageFilter< TImage >::GetIndices().

template<class TImage >
InputImageType::IndexType* rtk::DeconstructImageFilter< TImage >::GetIndices ( )
inline
template<class TImage >
virtual const char* rtk::DeconstructImageFilter< TImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TImage >
virtual unsigned int rtk::DeconstructImageFilter< TImage >::GetNumberOfLevels ( )
inlinevirtual
template<class TImage >
virtual unsigned int rtk::DeconstructImageFilter< TImage >::GetOrder ( )
virtual

Get/Set the order of the wavelet filters

template<class TImage >
InputImageType::SizeType* rtk::DeconstructImageFilter< TImage >::GetSizes ( )
inline

Get the size of each convolution filter's output This is required because the downsampling implies a loss of information on the size (both 2n+1 and 2n are downsampled to n), and the upsampling filters used in the reconstruction process need this information.

Definition at line 188 of file rtkDeconstructImageFilter.h.

References rtk::DeconstructImageFilter< TImage >::m_Sizes.

template<class TImage >
void rtk::DeconstructImageFilter< TImage >::ModifyInputOutputStorage ( )
protected

Modifies the storage for Input and Output images. Should be called after changes to levels, bands, deconstruct, reconstruct, etc...

Referenced by rtk::DeconstructImageFilter< TImage >::GetIndices(), and rtk::DeconstructImageFilter< TImage >::SetNumberOfLevels().

template<class TImage >
static Pointer rtk::DeconstructImageFilter< TImage >::New ( )
static

Method for creation through the object factory.

template<class TImage >
void rtk::DeconstructImageFilter< TImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected
template<class TImage >
virtual void rtk::DeconstructImageFilter< TImage >::SetNumberOfLevels ( unsigned int  levels)
inlinevirtual
template<class TImage >
virtual void rtk::DeconstructImageFilter< TImage >::SetOrder ( unsigned int  _arg)
virtual

Member Data Documentation

template<class TImage >
constexpr unsigned int rtk::DeconstructImageFilter< TImage >::ImageDimension = TImage::ImageDimension
static

ImageDimension enumeration.

Definition at line 139 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename ConvolutionFilterType::Pointer> rtk::DeconstructImageFilter< TImage >::m_ConvolutionFilters
private

Definition at line 232 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename DownsampleImageFilterType::Pointer> rtk::DeconstructImageFilter< TImage >::m_DownsampleFilters
private

Definition at line 233 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename InputImageType::IndexType> rtk::DeconstructImageFilter< TImage >::m_Indices
private
template<class TImage >
unsigned int rtk::DeconstructImageFilter< TImage >::m_NumberOfLevels {5}
private
template<class TImage >
unsigned int rtk::DeconstructImageFilter< TImage >::m_Order {3}
private

Definition at line 226 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename PadFilterType::Pointer> rtk::DeconstructImageFilter< TImage >::m_PadFilters
private

Definition at line 231 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename ConvolutionFilterType::PassVector> rtk::DeconstructImageFilter< TImage >::m_PassVectors
private

Definition at line 235 of file rtkDeconstructImageFilter.h.

template<class TImage >
bool rtk::DeconstructImageFilter< TImage >::m_PipelineConstructed {false}
private

Definition at line 227 of file rtkDeconstructImageFilter.h.

template<class TImage >
std::vector<typename InputImageType::SizeType> rtk::DeconstructImageFilter< TImage >::m_Sizes
private

The documentation for this class was generated from the following file: