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 | Protected Attributes | Private Member Functions | Private Attributes | List of all members
otb::ExtractROIBase< TInputImage, TOutputImage > Class Template Reference

Base class to extract area of images. More...

#include <otbExtractROIBase.h>

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

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
itk::ImageToImageFilterDetail::ExtractImageFilterRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension)> 
ExtractROIBaseRegionCopierType
 
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 InputImageRegionType GetExtractionRegion ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned long GetSizeX () const
 
virtual unsigned long GetSizeY () const
 
virtual unsigned long GetStartX () const
 
virtual unsigned long GetStartY () const
 
void SetExtractionRegion (InputImageRegionType roi)
 
virtual void SetSizeX (unsigned long _arg)
 
virtual void SetSizeY (unsigned long _arg)
 
virtual void SetStartX (unsigned long _arg)
 
virtual void SetStartY (unsigned long _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 unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

 ExtractROIBase ()
 
virtual ~ExtractROIBase ()
 
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 
virtual void GenerateInputRequestedRegion ()
 
virtual void GenerateOutputInformation ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
void SetInternalExtractionRegion (InputImageRegionType extractRegion)
 
void ThreadedGenerateData (const OutputImageRegionType &, itk::ThreadIdType)
 

Protected Attributes

InputImageRegionType m_ExtractionRegion
 
OutputImageRegionType m_OutputImageRegion
 

Private Member Functions

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

Private Attributes

unsigned long m_SizeX
 
unsigned long m_SizeY
 
unsigned long m_StartX
 
unsigned long m_StartY
 

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 43 of file otbExtractROIBase.h.

Member Typedef Documentation

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

Definition at line 51 of file otbExtractROIBase.h.

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

Definition at line 86 of file otbExtractROIBase.h.

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

Definition at line 73 of file otbExtractROIBase.h.

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

Definition at line 69 of file otbExtractROIBase.h.

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

Definition at line 65 of file otbExtractROIBase.h.

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

Definition at line 75 of file otbExtractROIBase.h.

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

Image type information.

Definition at line 57 of file otbExtractROIBase.h.

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 72 of file otbExtractROIBase.h.

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

Typedef to describe the type of pixel.

Definition at line 68 of file otbExtractROIBase.h.

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 64 of file otbExtractROIBase.h.

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

Definition at line 74 of file otbExtractROIBase.h.

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

Definition at line 61 of file otbExtractROIBase.h.

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

Definition at line 50 of file otbExtractROIBase.h.

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

Standard class typedefs.

Definition at line 48 of file otbExtractROIBase.h.

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

Definition at line 49 of file otbExtractROIBase.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file otbExtractROIBase.txx.

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

Definition at line 106 of file otbExtractROIBase.h.

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

Member Function Documentation

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

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 62 of file otbExtractROIBase.txx.

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

Definition at line 129 of file otbExtractROIBase.txx.

References otbMsgDevMacro.

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::GenerateOutputInformation ( void  )
protectedvirtual

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::GenerateOutputInformaton()

Reimplemented in otb::MultiChannelExtractROI< TInputPixelType, TOutputPixelType >, otb::MultiToMonoChannelExtractROI< TInputPixelType, TOutputPixelType >, otb::ImageOfVectorsToMonoChannelExtractROI< TInputImage, TOutputImage >, and otb::ExtractROI< TInputPixel, TOutputPixel >.

Definition at line 173 of file otbExtractROIBase.txx.

template<class TInputImage, class TOutputImage>
virtual InputImageRegionType otb::ExtractROIBase< TInputImage, TOutputImage >::GetExtractionRegion ( )
virtual
template<class TInputImage, class TOutputImage>
virtual const char* otb::ExtractROIBase< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual
template<class TInputImage, class TOutputImage>
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetSizeX ( ) const
virtual
template<class TInputImage, class TOutputImage>
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetSizeY ( ) const
virtual
template<class TInputImage, class TOutputImage>
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetStartX ( ) const
virtual
template<class TInputImage, class TOutputImage>
virtual unsigned long otb::ExtractROIBase< TInputImage, TOutputImage >::GetStartY ( ) const
virtual
template<class TInputImage, class TOutputImage>
static Pointer otb::ExtractROIBase< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

template<class TInputImage, class TOutputImage>
void otb::ExtractROIBase< TInputImage, TOutputImage >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protected

Definition at line 51 of file otbExtractROIBase.txx.

template<class TInputImage , class TOutputImage >
void otb::ExtractROIBase< TInputImage, TOutputImage >::SetExtractionRegion ( InputImageRegionType  roi)
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 79 of file otbExtractROIBase.txx.

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

Set/Get Size methods

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

Set/Get Start methods

template<class TInputImage, class TOutputImage>
virtual void otb::ExtractROIBase< TInputImage, TOutputImage >::SetStartY ( unsigned long  _arg)
virtual
template<class TInputImage, class TOutputImage>
void otb::ExtractROIBase< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType ,
itk::ThreadIdType   
)
inlineprotected

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 146 of file otbExtractROIBase.h.

Member Data Documentation

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

ImageDimension enumeration

Definition at line 79 of file otbExtractROIBase.h.

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

Definition at line 160 of file otbExtractROIBase.h.

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

Definition at line 161 of file otbExtractROIBase.h.

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 171 of file otbExtractROIBase.h.

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

Definition at line 172 of file otbExtractROIBase.h.

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 168 of file otbExtractROIBase.h.

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

Definition at line 169 of file otbExtractROIBase.h.

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

Definition at line 81 of file otbExtractROIBase.h.


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