OTB  7.3.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField > Class Template Reference

#include <otbStreamingWarpImageFilter.h>

+ Inheritance diagram for otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >:
+ Collaboration diagram for otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef DisplacementFieldType::Pointer DisplacementFieldPointerType
 
typedef DisplacementFieldType::RegionType DisplacementFieldRegionType
 
typedef TDisplacementField DisplacementFieldType
 
typedef DisplacementFieldType::PixelType DisplacementValueType
 
typedef OutputImageType::IndexType IndexType
 
typedef InputImageType::Pointer InputImagePointerType
 
typedef TInputImage InputImageType
 
typedef OutputImageType::Pointer OutputImagePointerType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::PixelType PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef OutputImageType::PointType PointType
 
typedef StreamingWarpImageFilter Self
 
typedef OutputImageType::SpacingType SpacingType
 
typedef itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
const SpacingTypeGetOutputSpacing () const override
 
void SetOutputSpacing (const SpacingType OutputSpacing) override
 
void SetOutputSpacing (const double *values) override
 
virtual void SetMaximumDisplacement (DisplacementValueType _arg)
 
virtual const DisplacementValueTypeGetMaximumDisplacement () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 StreamingWarpImageFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
 ~StreamingWarpImageFilter () override
 

Private Member Functions

void operator= (const Self &)=delete
 
 StreamingWarpImageFilter (const Self &)=delete
 

Private Attributes

DisplacementValueType m_MaximumDisplacement
 
SpacingType m_OutputSignedSpacing
 

Detailed Description

template<class TInputImage, class TOutputImage, class TDisplacementField>
class otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >

This class acts like the itk::WarpImageFilter, but it does not request the largest possible region of the image to warp.

Instead, the user should assess the maximum displacement in the displacement field and set it via the SetMaximumDisplacement() method.

The filter will then compute an appropriate security margin according to the image spacing, the maximum displacement and the interpolator radius in otb::StreamingTraits.

This security margin is used to stream the input image, making this filter an entirely streamable one.

If the maximum displacement is wrong, this filter is likely to request data outside of the input image buffered region. In this case, pixels outside the region will be set to Zero according to itk::NumericTraits.

See also
itk::WarpImageFilter

Definition at line 52 of file otbStreamingWarpImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef itk::SmartPointer<const Self> otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ConstPointer

Definition at line 59 of file otbStreamingWarpImageFilter.h.

◆ DisplacementFieldPointerType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef DisplacementFieldType::Pointer otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldPointerType

Definition at line 79 of file otbStreamingWarpImageFilter.h.

◆ DisplacementFieldRegionType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef DisplacementFieldType::RegionType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldRegionType

Definition at line 80 of file otbStreamingWarpImageFilter.h.

◆ DisplacementFieldType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef TDisplacementField otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldType

Definition at line 77 of file otbStreamingWarpImageFilter.h.

◆ DisplacementValueType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef DisplacementFieldType::PixelType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementValueType

Definition at line 78 of file otbStreamingWarpImageFilter.h.

◆ IndexType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::IndexType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::IndexType

Definition at line 72 of file otbStreamingWarpImageFilter.h.

◆ InputImagePointerType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef InputImageType::Pointer otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImagePointerType

Definition at line 69 of file otbStreamingWarpImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef TInputImage otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImageType

template parameters typedef

Definition at line 65 of file otbStreamingWarpImageFilter.h.

◆ OutputImagePointerType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::Pointer otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImagePointerType

Definition at line 75 of file otbStreamingWarpImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::RegionType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImageRegionType

Definition at line 76 of file otbStreamingWarpImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef TOutputImage otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImageType

Definition at line 70 of file otbStreamingWarpImageFilter.h.

◆ PixelType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::PixelType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PixelType

Definition at line 73 of file otbStreamingWarpImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef itk::SmartPointer<Self> otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Pointer

Definition at line 58 of file otbStreamingWarpImageFilter.h.

◆ PointType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::PointType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PointType

Definition at line 71 of file otbStreamingWarpImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef StreamingWarpImageFilter otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Self

Standard class typedefs.

Definition at line 56 of file otbStreamingWarpImageFilter.h.

◆ SpacingType

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef OutputImageType::SpacingType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SpacingType

Definition at line 74 of file otbStreamingWarpImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage , class TDisplacementField >
typedef itk::WarpImageFilter<TInputImage, TOutputImage, TDisplacementField> otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Superclass

Definition at line 57 of file otbStreamingWarpImageFilter.h.

Constructor & Destructor Documentation

◆ StreamingWarpImageFilter() [1/2]

template<class TInputImage , class TOutputImage , class TDisplacementField >
otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::StreamingWarpImageFilter ( )
protected

Constructor

Definition at line 35 of file otbStreamingWarpImageFilter.hxx.

◆ ~StreamingWarpImageFilter()

template<class TInputImage , class TOutputImage , class TDisplacementField >
otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::~StreamingWarpImageFilter ( )
inlineoverrideprotected

Destructor

Definition at line 100 of file otbStreamingWarpImageFilter.h.

◆ StreamingWarpImageFilter() [2/2]

template<class TInputImage , class TOutputImage , class TDisplacementField >
otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::StreamingWarpImageFilter ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage , class TDisplacementField >
virtual::itk::LightObject::Pointer otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::CreateAnother ( void  ) const

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GenerateInputRequestedRegion ( void  )
overrideprotected

This filters requires only a part of the input and of the displacement field to produce its output. As such, we need to overload the GenerateInputRequestedRegion() method.

Definition at line 80 of file otbStreamingWarpImageFilter.hxx.

References otb::StreamingTraits< TImage >::CalculateNeededRadiusForInterpolator().

◆ GenerateOutputInformation()

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GenerateOutputInformation ( void  )
overrideprotected

◆ GetMaximumDisplacement()

template<class TInputImage , class TOutputImage , class TDisplacementField >
virtual const DisplacementValueType& otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetMaximumDisplacement ( ) const
virtual

Accessors

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage , class TDisplacementField >
virtual const char* otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ GetOutputSpacing()

template<class TInputImage , class TOutputImage , class TDisplacementField >
const SpacingType& otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputSpacing ( ) const
inlineoverride

Definition at line 87 of file otbStreamingWarpImageFilter.h.

◆ New()

template<class TInputImage , class TOutputImage , class TDisplacementField >
static Pointer otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

PrintSelf

Definition at line 333 of file otbStreamingWarpImageFilter.hxx.

◆ SetMaximumDisplacement()

template<class TInputImage , class TOutputImage , class TDisplacementField >
virtual void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetMaximumDisplacement ( DisplacementValueType  _arg)
virtual

Accessors

◆ SetOutputSpacing() [1/2]

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputSpacing ( const SpacingType  OutputSpacing)
override

Definition at line 44 of file otbStreamingWarpImageFilter.hxx.

◆ SetOutputSpacing() [2/2]

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputSpacing ( const double *  values)
override

Definition at line 69 of file otbStreamingWarpImageFilter.hxx.

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputImage , class TDisplacementField >
void otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
overrideprotected

Re-implement the method ThreadedGenerateData to mask area outside the deformation grid

Definition at line 288 of file otbStreamingWarpImageFilter.hxx.

Member Data Documentation

◆ m_MaximumDisplacement

template<class TInputImage , class TOutputImage , class TDisplacementField >
DisplacementValueType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_MaximumDisplacement
private

Definition at line 129 of file otbStreamingWarpImageFilter.h.

◆ m_OutputSignedSpacing

template<class TInputImage , class TOutputImage , class TDisplacementField >
SpacingType otb::StreamingWarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputSignedSpacing
private

Definition at line 126 of file otbStreamingWarpImageFilter.h.


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