OTB
9.0.0
Orfeo Toolbox
|
#include <otbWaveletFilterBank.h>
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< Self > | Pointer |
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 |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const DirectionOfTransformationEnumType | DirectionOfTransformation = Wavelet::INVERSE |
typedef std::vector< OutputImagePointerType > | InternalImagesTabular |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
unsigned int | m_UpSampleFilterFactor |
unsigned int | m_SubsampleImageFactor |
std::vector< InternalImagesTabular > | m_InternalImages |
virtual unsigned int | GetUpSampleFilterFactor () |
virtual void | SetUpSampleFilterFactor (unsigned int _arg) |
virtual unsigned int | GetSubsampleImageFactor () |
virtual void | SetSubsampleImageFactor (unsigned int _arg) |
WaveletFilterBank () | |
~WaveletFilterBank () override | |
void | VerifyInputInformation () override |
void | GenerateOutputInformation () override |
void | GenerateInputRequestedRegion () override |
void | BeforeThreadedGenerateData () override |
virtual void | AllocateInternalData (const OutputImageRegionType &outputRegion) |
void | AfterThreadedGenerateData () override |
void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) override |
void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) override |
virtual void | CallCopyOutputRegionToInputRegion (unsigned int direction, InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
virtual void | CallCopyInputRegionToOutputRegion (unsigned int direction, OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override |
virtual void | ThreadedGenerateDataAtDimensionN (unsigned int direction, itk::ProgressReporter &reporter, const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) |
WaveletFilterBank (const Self &) | |
void | operator= (const Self &) |
Definition at line 338 of file otbWaveletFilterBank.h.
typedef itk::SmartPointer<const Self> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ConstPointer |
Definition at line 345 of file otbWaveletFilterBank.h.
typedef Wavelet::WaveletDirection otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::DirectionOfTransformationEnumType |
Definition at line 372 of file otbWaveletFilterBank.h.
typedef WaveletOperatorType::HighPassOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::HighPassOperatorType |
Definition at line 370 of file otbWaveletFilterBank.h.
typedef InputImageType::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImagePointerType |
Definition at line 355 of file otbWaveletFilterBank.h.
typedef InputImageType::RegionType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImageRegionType |
Definition at line 356 of file otbWaveletFilterBank.h.
typedef TInputImage otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputImageType |
Template parameters typedefs
Definition at line 351 of file otbWaveletFilterBank.h.
typedef InputImageType::IndexType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputIndexType |
Definition at line 358 of file otbWaveletFilterBank.h.
typedef InputImageType::PixelType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputPixelType |
Definition at line 359 of file otbWaveletFilterBank.h.
typedef InputImageType::SizeType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::InputSizeType |
Definition at line 357 of file otbWaveletFilterBank.h.
|
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 480 of file otbWaveletFilterBank.h.
typedef WaveletOperatorType::LowPassOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::LowPassOperatorType |
Definition at line 369 of file otbWaveletFilterBank.h.
typedef OutputImageType::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImagePointerType |
Definition at line 362 of file otbWaveletFilterBank.h.
typedef OutputImageType::RegionType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImageRegionType |
Definition at line 363 of file otbWaveletFilterBank.h.
typedef TOutputImage otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputImageType |
Definition at line 361 of file otbWaveletFilterBank.h.
typedef OutputImageType::IndexType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputIndexType |
Definition at line 365 of file otbWaveletFilterBank.h.
typedef OutputImageType::PixelType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputPixelType |
Definition at line 366 of file otbWaveletFilterBank.h.
typedef OutputImageType::SizeType otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::OutputSizeType |
Definition at line 364 of file otbWaveletFilterBank.h.
typedef itk::SmartPointer<Self> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Pointer |
Definition at line 344 of file otbWaveletFilterBank.h.
typedef WaveletFilterBank otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Self |
Standard typedefs
Definition at line 342 of file otbWaveletFilterBank.h.
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::Superclass |
Definition at line 343 of file otbWaveletFilterBank.h.
typedef TWaveletOperator otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::WaveletOperatorType |
Definition at line 368 of file otbWaveletFilterBank.h.
|
protected |
Template Specialization for the Wavelet::INVERSE case
Definition at line 578 of file otbWaveletFilterBank.hxx.
|
inlineoverrideprotected |
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 400 of file otbWaveletFilterBank.h.
|
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.
|
overrideprotected |
AfterThreadedGenerateData. It enforce memory destruction of internal images
Definition at line 706 of file otbWaveletFilterBank.hxx.
|
protectedvirtual |
Internal Data Allocation If m_SubsampleImageFactor != 1, internal data with progressive region size subsampling if required...
Definition at line 684 of file otbWaveletFilterBank.hxx.
|
overrideprotected |
BeforeThreadedGenerateData If SubsampleImageFactor neq 1, it is necessary to up sample input images in the Wavelet::INVERSE mode
Definition at line 663 of file otbWaveletFilterBank.hxx.
|
overrideprotected |
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 778 of file otbWaveletFilterBank.hxx.
|
protectedvirtual |
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 838 of file otbWaveletFilterBank.hxx.
|
overrideprotected |
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 715 of file otbWaveletFilterBank.hxx.
|
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 803 of file otbWaveletFilterBank.hxx.
virtual::itk::LightObject::Pointer otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
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.
Definition at line 619 of file otbWaveletFilterBank.hxx.
|
overrideprotected |
GenerateOutputInformation Set the size of the output image depending on the decimation factor Copy information from the input image if existing.
Definition at line 591 of file otbWaveletFilterBank.hxx.
References otbGenericMsgDebugMacro.
|
virtual |
Creation through object factory macro
|
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...
|
virtual |
Set/Get the level of up sampling of the filter used in the A-trou algorithm.
|
static |
Type macro
|
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.
|
virtual |
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.
|
virtual |
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.
|
overrideprotected |
Generate data redefinition
Definition at line 872 of file otbWaveletFilterBank.hxx.
|
protectedvirtual |
Iterative call to the forward filter bank at each dimension. Used for the multiresolution case only.
Definition at line 1038 of file otbWaveletFilterBank.hxx.
|
inlineoverrideprotected |
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 404 of file otbWaveletFilterBank.h.
|
static |
Definition at line 373 of file otbWaveletFilterBank.h.
|
static |
Dimension
Definition at line 376 of file otbWaveletFilterBank.h.
|
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 481 of file otbWaveletFilterBank.h.
|
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 473 of file otbWaveletFilterBank.h.
|
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.
|
static |
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 377 of file otbWaveletFilterBank.h.