Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::RegionOfInterestImageFilter< TInputImage, TOutputImage > Class Template Reference
[Geometric Transformation Filters]

Extract a region of interest from the input image. More...

#include <itkRegionOfInterestImageFilter.h>

Inheritance diagram for itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
 RegionOfInterestImageFilter ()
 ~RegionOfInterestImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Public Types

typedef RegionOfInterestImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::InputImageRegionType InputImageRegionType
typedef TInputImage::RegionType RegionType
typedef TInputImage::IndexType IndexType
typedef TInputImage::SizeType SizeType
typedef TOutputImage::PixelType OutputImagePixelType
typedef TInputImage::PixelType InputImagePixelType

Public Member Functions

virtual const char * GetClassName () const
virtual void SetRegionOfInterest (RegionType _arg)
virtual RegionType GetRegionOfInterest ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

virtual void GenerateInputRequestedRegion ()
virtual void EnlargeOutputRequestedRegion (DataObject *output)
virtual void GenerateOutputInformation ()
void ThreadedGenerateData (const RegionType &outputRegionForThread, int threadId)

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >

Extract a region of interest from the input image.

This filter produces an output image of the same dimension as the input image. The user specifies the region of the input image that will be contained in the output image. The origin coordinates of the output images will be computed in such a way that if mapped to physical space, the output image will overlay the input image with perfect registration. In other words, a registration process between the output image and the input image will return an identity transform.

If you are interested in changing the dimension of the image, you may want to consider the ExtractImageFilter. For example for extracting a 2D image from a slice of a 3D image.

See also:
ExtractImageFilter

Definition at line 46 of file itkRegionOfInterestImageFilter.h.


Member Typedef Documentation

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

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 54 of file itkRegionOfInterestImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::IndexType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::IndexType
 

Definition at line 65 of file itkRegionOfInterestImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::PixelType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::InputImagePixelType
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 70 of file itkRegionOfInterestImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::InputImageRegionType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::InputImageRegionType
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 55 of file itkRegionOfInterestImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage::PixelType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::OutputImagePixelType
 

Typedef to describe the type of pixel.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 69 of file itkRegionOfInterestImageFilter.h.

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

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 53 of file itkRegionOfInterestImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::RegionType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::RegionType
 

Typedef to describe the input image region types. Definition at line 64 of file itkRegionOfInterestImageFilter.h.

Referenced by itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::~RegionOfInterestImageFilter().

template<class TInputImage, class TOutputImage>
typedef RegionOfInterestImageFilter itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::Self
 

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 51 of file itkRegionOfInterestImageFilter.h.

Referenced by itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::~RegionOfInterestImageFilter().

template<class TInputImage, class TOutputImage>
typedef TInputImage::SizeType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::SizeType
 

Definition at line 66 of file itkRegionOfInterestImageFilter.h.

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

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 52 of file itkRegionOfInterestImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage>
itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::RegionOfInterestImageFilter  )  [protected]
 

ImageDimension enumeration

template<class TInputImage, class TOutputImage>
itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::~RegionOfInterestImageFilter  )  [inline, protected]
 

ImageDimension enumeration Definition at line 82 of file itkRegionOfInterestImageFilter.h.

References itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::RegionType, and itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::Self.


Member Function Documentation

template<class TInputImage, class TOutputImage>
virtual void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion DataObject output  )  [protected, virtual]
 

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TOutputImage>
virtual void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion  )  [protected, virtual]
 

What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.

This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.

See also:
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation  )  [protected, virtual]
 

RegionOfInterestImageFilter can produce an image which is a different size than its input image. As such, RegionOfInterestImageFilter 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 from itk::ProcessObject.

template<class TInputImage, class TOutputImage>
virtual const char* itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual RegionType itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::GetRegionOfInterest  )  [virtual]
 

Set/Get the output image region.

template<class TInputImage, class TOutputImage>
itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension 
 

ImageDimension enumeration

template<class TInputImage, class TOutputImage>
Pointer itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

ImageDimension enumeration

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::SetRegionOfInterest RegionType  _arg  )  [virtual]
 

Set/Get the output image region.

template<class TInputImage, class TOutputImage>
void itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData const RegionType outputRegionForThread,
int  threadId
[protected]
 

RegionOfInterestImageFilter 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()


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:49:52 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000