OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | List of all members
otb::ExtractROIBase< TInputImage, TOutputImage > Class Template Reference

#include <otbExtractROIBase.h>

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

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TInputImage::IndexType InputImageIndexType
 
typedef TInputImage::PixelType InputImagePixelType
 
typedef TInputImage::RegionType InputImageRegionType
 
typedef TInputImage::SizeType InputImageSizeType
 
typedef TInputImage InputImageType
 
typedef TOutputImage::IndexType OutputImageIndexType
 
typedef TOutputImage::PixelType OutputImagePixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef TOutputImage::SizeType OutputImageSizeType
 
typedef TOutputImage OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ExtractROIBase Self
 
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 

Static Public Member Functions

static Pointer New ()
 
typedef itk::ImageToImageFilterDetail::ExtractImageFilterRegionCopier< itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension)> ExtractROIBaseRegionCopierType
 
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
InputImageRegionType m_ExtractionRegion
 
OutputImageRegionType m_OutputImageRegion
 
unsigned long m_StartX
 
unsigned long m_StartY
 
unsigned long m_SizeX
 
unsigned long m_SizeY
 
virtual InputImageRegionType GetExtractionRegion ()
 
void SetExtractionRegion (InputImageRegionType roi)
 
virtual void SetStartX (unsigned long _arg)
 
virtual unsigned long GetStartX () const
 
virtual void SetStartY (unsigned long _arg)
 
virtual unsigned long GetStartY () const
 
virtual void SetSizeX (unsigned long _arg)
 
virtual unsigned long GetSizeX () const
 
virtual void SetSizeY (unsigned long _arg)
 
virtual unsigned long GetSizeY () const
 
 ExtractROIBase ()
 
 ~ExtractROIBase () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) override
 
void ThreadedGenerateData (const OutputImageRegionType &, itk::ThreadIdType) override
 
void SetInternalExtractionRegion (InputImageRegionType extractRegion)
 
 ExtractROIBase (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<class TInputImage, class TOutputImage>
class otb::ExtractROIBase< TInputImage, TOutputImage >

Base class to extract area of images.

Extracted region can be defined by the methods SetStartX/Y (region origin) and SetSizeX/Y (region size). If the starting point is not defined, the extracted region start from the upper left corner of the input image. If the size is not defined, the extracted region extend to the lower right corner of the input image. If no parameter is defined all image is extracted.

Alternatively, a region can be specified using the SetROI() method.

Definition at line 48 of file otbExtractROIBase.h.

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 55 of file otbExtractROIBase.h.

◆ ExtractROIBaseRegionCopierType

template<class TInputImage , class TOutputImage >
typedef itk::ImageToImageFilterDetail::ExtractImageFilterRegionCopier<itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension)> otb::ExtractROIBase< TInputImage, TOutputImage >::ExtractROIBaseRegionCopierType

ImageDimension enumeration

Definition at line 88 of file otbExtractROIBase.h.

◆ InputImageIndexType

template<class TInputImage , class TOutputImage >
typedef TInputImage::IndexType otb::ExtractROIBase< TInputImage, TOutputImage >::InputImageIndexType

Definition at line 77 of file otbExtractROIBase.h.

◆ InputImagePixelType

template<class TInputImage , class TOutputImage >
typedef TInputImage::PixelType otb::ExtractROIBase< TInputImage, TOutputImage >::InputImagePixelType

Definition at line 73 of file otbExtractROIBase.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputImage >
typedef TInputImage::RegionType otb::ExtractROIBase< TInputImage, TOutputImage >::InputImageRegionType

Definition at line 69 of file otbExtractROIBase.h.

◆ InputImageSizeType

template<class TInputImage , class TOutputImage >
typedef TInputImage::SizeType otb::ExtractROIBase< TInputImage, TOutputImage >::InputImageSizeType

Definition at line 79 of file otbExtractROIBase.h.

◆ InputImageType

template<class TInputImage , class TOutputImage >
typedef TInputImage otb::ExtractROIBase< TInputImage, TOutputImage >::InputImageType

Image type information.

Definition at line 61 of file otbExtractROIBase.h.

◆ OutputImageIndexType

template<class TInputImage , class TOutputImage >
typedef TOutputImage::IndexType otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImageIndexType

Typedef to describe the output and input image index and size types.

Definition at line 76 of file otbExtractROIBase.h.

◆ OutputImagePixelType

template<class TInputImage , class TOutputImage >
typedef TOutputImage::PixelType otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImagePixelType

Typedef to describe the type of pixel.

Definition at line 72 of file otbExtractROIBase.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage >
typedef TOutputImage::RegionType otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImageRegionType

Typedef to describe the output and input image region types.

Definition at line 68 of file otbExtractROIBase.h.

◆ OutputImageSizeType

template<class TInputImage , class TOutputImage >
typedef TOutputImage::SizeType otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImageSizeType

Definition at line 78 of file otbExtractROIBase.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage >
typedef TOutputImage otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImageType

Definition at line 65 of file otbExtractROIBase.h.

◆ Pointer

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

Definition at line 54 of file otbExtractROIBase.h.

◆ Self

template<class TInputImage , class TOutputImage >
typedef ExtractROIBase otb::ExtractROIBase< TInputImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 52 of file otbExtractROIBase.h.

◆ Superclass

template<class TInputImage , class TOutputImage >
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::ExtractROIBase< TInputImage, TOutputImage >::Superclass

Definition at line 53 of file otbExtractROIBase.h.

Constructor & Destructor Documentation

◆ ExtractROIBase() [1/2]

template<class TInputImage , class TOutputImage >
otb::ExtractROIBase< TInputImage, TOutputImage >::ExtractROIBase
protected

ImageDimension enumeration

Definition at line 37 of file otbExtractROIBase.hxx.

◆ ~ExtractROIBase()

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

ImageDimension enumeration

Definition at line 110 of file otbExtractROIBase.h.

◆ ExtractROIBase() [2/2]

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

ImageDimension enumeration

Member Function Documentation

◆ CallCopyOutputRegionToInputRegion()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::CallCopyOutputRegionToInputRegion ( InputImageRegionType destRegion,
const OutputImageRegionType srcRegion 
)
overrideprotected

This function calls the actual region copier to do the mapping from output image space to input image space. It uses a Function object used for dispatching to various routines to copy an output region (start index and size) to an input region. For most filters, this is a trivial copy because most filters require the input dimension to match the output dimension. However, some filters like itk::ExtractROIBase can support output images of a lower dimension that the input.

See also
ImageToImageFilter::CallCopyRegion()

Definition at line 55 of file otbExtractROIBase.hxx.

◆ CreateAnother()

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

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::GenerateInputRequestedRegion
overrideprotected

ImageDimension enumeration

Definition at line 116 of file otbExtractROIBase.hxx.

◆ GenerateOutputInformation()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::GenerateOutputInformation
overrideprotected

ExtractROIBase can produce an image which is a different resolution than its input image. As such, ExtractROIBase needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.

See also
ProcessObject::GenerateOutputInformation()

ExtractROIBase can produce an image which is a different resolution than its input image. As such, ExtractROIBase needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.

See also
ProcessObject::GenerateOutputInformation()

Definition at line 153 of file otbExtractROIBase.hxx.

◆ GetExtractionRegion()

template<class TInputImage , class TOutputImage >
virtual InputImageRegionType otb::ExtractROIBase< TInputImage, TOutputImage >::GetExtractionRegion ( )
virtual

ImageDimension enumeration

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented in otb::ImageOfVectorsToMonoChannelExtractROI< TInputImage, TOutputImage >.

◆ GetSizeX()

template<class TInputImage , class TOutputImage >
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetSizeX ( ) const
virtual

ImageDimension enumeration

◆ GetSizeY()

template<class TInputImage , class TOutputImage >
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetSizeY ( ) const
virtual

ImageDimension enumeration

◆ GetStartX()

template<class TInputImage , class TOutputImage >
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetStartX ( ) const
virtual

ImageDimension enumeration

◆ GetStartY()

template<class TInputImage , class TOutputImage >
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetStartY ( ) const
virtual

ImageDimension enumeration

◆ New()

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

Method for creation through the object factory.

◆ operator=()

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

ImageDimension enumeration

◆ PrintSelf()

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

ImageDimension enumeration

Definition at line 46 of file otbExtractROIBase.hxx.

◆ SetExtractionRegion()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::SetExtractionRegion ( InputImageRegionType  roi)

◆ SetInternalExtractionRegion()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::SetInternalExtractionRegion ( InputImageRegionType  extractRegion)
protected

Set/Get the output image region. If any of the ExtractionRegion.Size = 0 for any particular dimension dim, we have to collapse dimension dim. This means the output image will have 'c' dimensions less than the input image, where c = # of ExtractionRegion.Size = 0.

check to see if the number of non-zero entries in the extraction region matches the number of dimensions in the output image.

Definition at line 69 of file otbExtractROIBase.hxx.

◆ SetSizeX()

template<class TInputImage , class TOutputImage >
virtual void otb::ExtractROIBase< TInputImage, TOutputImage >::SetSizeX ( unsigned long  _arg)
virtual

Set/Get Size methods

◆ SetSizeY()

template<class TInputImage , class TOutputImage >
virtual void otb::ExtractROIBase< TInputImage, TOutputImage >::SetSizeY ( unsigned long  _arg)
virtual

ImageDimension enumeration

◆ SetStartX()

template<class TInputImage , class TOutputImage >
virtual void otb::ExtractROIBase< TInputImage, TOutputImage >::SetStartX ( unsigned long  _arg)
virtual

Set/Get Start methods

◆ SetStartY()

template<class TInputImage , class TOutputImage >
virtual void otb::ExtractROIBase< TInputImage, TOutputImage >::SetStartY ( unsigned long  _arg)
virtual

ImageDimension enumeration

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType ,
itk::ThreadIdType   
)
inlineoverrideprotected

ExtractROIBase can be implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Definition at line 151 of file otbExtractROIBase.h.

Member Data Documentation

◆ InputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::ExtractROIBase< TInputImage, TOutputImage >::InputImageDimension = TInputImage::ImageDimension
static

ImageDimension enumeration

Definition at line 82 of file otbExtractROIBase.h.

◆ m_ExtractionRegion

template<class TInputImage , class TOutputImage >
InputImageRegionType otb::ExtractROIBase< TInputImage, TOutputImage >::m_ExtractionRegion
protected

ImageDimension enumeration

Definition at line 163 of file otbExtractROIBase.h.

◆ m_OutputImageRegion

template<class TInputImage , class TOutputImage >
OutputImageRegionType otb::ExtractROIBase< TInputImage, TOutputImage >::m_OutputImageRegion
protected

ImageDimension enumeration

Definition at line 164 of file otbExtractROIBase.h.

◆ m_SizeX

template<class TInputImage , class TOutputImage >
unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::m_SizeX
private

Number of X/Y pixels of the region to extract.

Definition at line 175 of file otbExtractROIBase.h.

◆ m_SizeY

template<class TInputImage , class TOutputImage >
unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::m_SizeY
private

ImageDimension enumeration

Definition at line 176 of file otbExtractROIBase.h.

◆ m_StartX

template<class TInputImage , class TOutputImage >
unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::m_StartX
private

X/Y coordinates of the first point of the region to extract.

Definition at line 171 of file otbExtractROIBase.h.

◆ m_StartY

template<class TInputImage , class TOutputImage >
unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::m_StartY
private

ImageDimension enumeration

Definition at line 172 of file otbExtractROIBase.h.

◆ OutputImageDimension

template<class TInputImage , class TOutputImage >
const unsigned int otb::ExtractROIBase< TInputImage, TOutputImage >::OutputImageDimension = TOutputImage::ImageDimension
static

ImageDimension enumeration

Definition at line 83 of file otbExtractROIBase.h.


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