Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE > Class Template Reference

#include <otbWaveletFilterBank.h>

+ Inheritance diagram for otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >:
+ Collaboration diagram for otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef Wavelet::WaveletDirection DirectionOfTransformationEnumType
 
typedef
WaveletOperatorType::HighPassOperator 
HighPassOperatorType
 
typedef InputImageType::Pointer InputImagePointerType
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef InputImageType::IndexType InputIndexType
 
typedef InputImageType::PixelType InputPixelType
 
typedef InputImageType::SizeType InputSizeType
 
typedef
WaveletOperatorType::LowPassOperator 
LowPassOperatorType
 
typedef OutputImageType::Pointer OutputImagePointerType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::IndexType OutputIndexType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef OutputImageType::SizeType OutputSizeType
 
typedef itk::SmartPointer< SelfPointer
 
typedef WaveletFilterBank Self
 
typedef
itk::ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
 
typedef TWaveletOperator WaveletOperatorType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetSubsampleImageFactor ()
 
virtual unsigned int GetUpSampleFilterFactor ()
 
virtual void SetSubsampleImageFactor (unsigned int _arg)
 
virtual void SetUpSampleFilterFactor (unsigned int _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ImageSource< TOutputImage >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter (void)
 

Static Public Attributes

static const
DirectionOfTransformationEnumType 
DirectionOfTransformation = Wavelet::INVERSE
 
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

 WaveletFilterBank ()
 
virtual ~WaveletFilterBank ()
 
virtual void AfterThreadedGenerateData ()
 
virtual void AllocateInternalData (const OutputImageRegionType &outputRegion)
 
virtual void BeforeThreadedGenerateData ()
 
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
 
virtual void CallCopyInputRegionToOutputRegion (unsigned int direction, OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
 
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 
virtual void CallCopyOutputRegionToInputRegion (unsigned int direction, InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 
virtual void GenerateInputRequestedRegion () throw (itk::InvalidRequestedRegionError)
 
virtual void GenerateOutputInformation ()
 
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 
virtual void ThreadedGenerateDataAtDimensionN (unsigned int direction, itk::ProgressReporter &reporter, const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 

Private Types

typedef std::vector
< OutputImagePointerType
InternalImagesTabular
 

Private Member Functions

 WaveletFilterBank (const Self &)
 
void operator= (const Self &)
 

Private Attributes

std::vector
< InternalImagesTabular
m_InternalImages
 
unsigned int m_SubsampleImageFactor
 
unsigned int m_UpSampleFilterFactor
 

Detailed Description

template<class TInputImage, class TOutputImage, class TWaveletOperator>
class otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >

Definition at line 332 of file otbWaveletFilterBank.h.

Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef itk::SmartPointer<const Self> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ConstPointer

Definition at line 340 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef Wavelet::WaveletDirection otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::DirectionOfTransformationEnumType

Definition at line 367 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef WaveletOperatorType::HighPassOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::HighPassOperatorType

Definition at line 365 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef InputImageType::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImagePointerType

Definition at line 350 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef InputImageType::RegionType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImageRegionType

Definition at line 351 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef TInputImage otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImageType

Template parameters typedefs

Definition at line 346 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef InputImageType::IndexType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputIndexType

Definition at line 353 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef InputImageType::PixelType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputPixelType

Definition at line 354 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef InputImageType::SizeType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputSizeType

Definition at line 352 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef std::vector<OutputImagePointerType> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InternalImagesTabular
private

the easiest way to store internal images is to keep track of the splits at each direction. Then, std::vector< InternalImagesTabular > is a tab of size ImageDimension-1 and each InternalImagesTabular contains intermediate images. Internal images are used for multiresolution case only.

Definition at line 472 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef WaveletOperatorType::LowPassOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::LowPassOperatorType

Definition at line 364 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef OutputImageType::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImagePointerType

Definition at line 357 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef OutputImageType::RegionType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImageRegionType

Definition at line 358 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef TOutputImage otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImageType

Definition at line 356 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef OutputImageType::IndexType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputIndexType

Definition at line 360 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef OutputImageType::PixelType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputPixelType

Definition at line 361 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef OutputImageType::SizeType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputSizeType

Definition at line 359 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef itk::SmartPointer<Self> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Pointer

Definition at line 339 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef WaveletFilterBank otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Self

Standard typedefs

Definition at line 337 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Superclass

Definition at line 338 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
typedef TWaveletOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::WaveletOperatorType

Definition at line 363 of file otbWaveletFilterBank.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TWaveletOperator >
otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::WaveletFilterBank ( )
protected

Template Specialization for the Wavelet::INVERSE case

Definition at line 615 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::~WaveletFilterBank ( )
inlineprotectedvirtual

Definition at line 392 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::WaveletFilterBank ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::AfterThreadedGenerateData ( void  )
protectedvirtual

AfterThreadedGenerateData. It enforce memory destruction of internal images

Definition at line 762 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::AllocateInternalData ( const OutputImageRegionType outputRegion)
protectedvirtual

Internal Data Allocation If m_SubsampleImageFactor != 1, internal data with progressive region size subsampling if required...

Definition at line 737 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::BeforeThreadedGenerateData ( void  )
protectedvirtual

BeforeThreadedGenerateData If SubsampleImageFactor neq 1, it is necessary to up sample input images in the Wavelet::INVERSE mode

Definition at line 713 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CallCopyInputRegionToOutputRegion ( OutputImageRegionType destRegion,
const InputImageRegionType srcRegion 
)
protectedvirtual

Definition at line 838 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CallCopyInputRegionToOutputRegion ( unsigned int  direction,
OutputImageRegionType destRegion,
const InputImageRegionType srcRegion 
)
protectedvirtual

Definition at line 902 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CallCopyOutputRegionToInputRegion ( InputImageRegionType destRegion,
const OutputImageRegionType srcRegion 
)
protectedvirtual

CallCopyOutputRegionToInputRegion Since input and output image may be of different size when a subsampling factor has tp be applied, Region estimation functions has to be reimplemented

Definition at line 774 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CallCopyOutputRegionToInputRegion ( unsigned int  direction,
InputImageRegionType destRegion,
const OutputImageRegionType srcRegion 
)
protectedvirtual

CallCopyOutputRegionToInputRegion This function is also redefined in order to adapt the shape of the regions with resect to the direction (among the dimensions) of the filtering.

Definition at line 865 of file otbWaveletFilterBank.txx.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual::itk::LightObject::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CreateAnother ( void  ) const
template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::GenerateInputRequestedRegion ( void  )
throw (itk::InvalidRequestedRegionError
)
protectedvirtual

The inverse transformation needs larger inputs requested region than the output requested region (larger by subsampling but also by the kernel size used in the filter bank).

Then, the class needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.

See Also
ImageToImageFilter::GenerateInputRequestedRegion()

Definition at line 667 of file otbWaveletFilterBank.txx.

References itk::DataObjectError::SetDataObject(), itk::DataObjectError::SetDescription(), and itk::DataObjectError::SetLocation().

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::GenerateOutputInformation ( void  )
protectedvirtual

GenerateOutputInformation Set the size of the output image depending on the decimation factor Copy informations from the input image if existing.

Definition at line 630 of file otbWaveletFilterBank.txx.

References otbGenericMsgDebugMacro.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual const char* otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::GetNameOfClass ( ) const
virtual

Creation through object factory macro

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::GetSubsampleImageFactor ( )
virtual

Set/Get the level of down sampling of the image used in forward algorithm. (or upsampling in the inverse case)

In this implementation, we are dealing with M-band decomposition then m_SubsampleImageFactor is most likely to be 1 or 2... but in any case integer and not real...

template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::GetUpSampleFilterFactor ( )
virtual

Set/Get the level of up sampling of the filter used in the A-trou algorithm.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
static Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::New ( )
static

Type macro

template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::SetSubsampleImageFactor ( unsigned int  _arg)
virtual
template<class TInputImage , class TOutputImage , class TWaveletOperator >
virtual void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::SetUpSampleFilterFactor ( unsigned int  _arg)
virtual
template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
protectedvirtual
template<class TInputImage , class TOutputImage , class TWaveletOperator >
void otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ThreadedGenerateDataAtDimensionN ( unsigned int  direction,
itk::ProgressReporter reporter,
const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
protectedvirtual

Member Data Documentation

template<class TInputImage , class TOutputImage , class TWaveletOperator >
const DirectionOfTransformationEnumType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::DirectionOfTransformation = Wavelet::INVERSE
static

Definition at line 368 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
const unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImageDimension = TInputImage::ImageDimension
static

Dimension

Definition at line 371 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
std::vector<InternalImagesTabular> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::m_InternalImages
private

Definition at line 473 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::m_SubsampleImageFactor
private

Definition at line 465 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::m_UpSampleFilterFactor
private

Definition at line 464 of file otbWaveletFilterBank.h.

template<class TInputImage , class TOutputImage , class TWaveletOperator >
const unsigned int otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImageDimension = TOutputImage::ImageDimension
static

Definition at line 372 of file otbWaveletFilterBank.h.


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