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

itk::ImageRegionSplitter< VImageDimension > Class Template Reference
[ITK System ObjectsData Processing Objects]

Divide a region into several pieces. More...

#include <itkImageRegionSplitter.h>

Inheritance diagram for itk::ImageRegionSplitter< VImageDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::ImageRegionSplitter< VImageDimension >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ImageRegionSplitter Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Index< VImageDimension > IndexType
typedef IndexType::IndexValueType IndexValueType
typedef Size< VImageDimension > SizeType
typedef SizeType::SizeValueType SizeValueType
typedef ImageRegion< VImageDimension > RegionType

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, VImageDimension)
virtual unsigned int GetNumberOfSplits (const RegionType &region, unsigned int requestedNumber)
virtual RegionType GetSplit (unsigned int i, unsigned int numberOfPieces, const RegionType &region)

Static Public Member Functions

Pointer New ()
unsigned int GetImageDimension ()

Protected Member Functions

 ImageRegionSplitter ()
 ~ImageRegionSplitter ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<unsigned int VImageDimension>
class itk::ImageRegionSplitter< VImageDimension >

Divide a region into several pieces.

ImageRegionSplitter divides an ImageRegion into smaller regions. ImageRegionSplitter is used by the StreamingImageFilter to divide a requested output region into a series of smaller requests of the pipeline. This object has two basic methods: GetNumberOfSplits() and GetSplit().

GetNumberOfSplits() is used to determine how may subregions a given region can be divided. You call GetNumberOfSplits with an argument that is the number of subregions you want. If the image region can support that number of subregions, that number is returned. Otherwise, the maximum number of splits a region can support will be returned. For example, if a region splitter class only divides a region into horizontal slabs, then the maximum number of splits will be the number of rows in the region.

GetSplit() returns the ith of N subregions (as an ImageRegion object).

This ImageRegionSplitter class divides a region along the outermost dimension. If the outermost dimension has size 1 (i.e. a volume with a single slice), the ImageRegionSplitter will divide the region along the next outermost dimension. If that dimension has size 1, the process continues with the next outermost dimension.

Other ImageRegionSplitter subclasses could divide an image into more uniform shaped regions instead of slabs.

See also:
ImageRegionMultidimensionalSplitter

Definition at line 66 of file itkImageRegionSplitter.h.


Member Typedef Documentation

template<unsigned int VImageDimension>
typedef SmartPointer<const Self> itk::ImageRegionSplitter< VImageDimension >::ConstPointer
 

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 73 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef Index<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::IndexType
 

Index typedef support. An index is used to access pixel values.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 89 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef IndexType::IndexValueType itk::ImageRegionSplitter< VImageDimension >::IndexValueType
 

Definition at line 90 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef SmartPointer<Self> itk::ImageRegionSplitter< VImageDimension >::Pointer
 

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 72 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef ImageRegion<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::RegionType
 

Region typedef support.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 97 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef ImageRegionSplitter itk::ImageRegionSplitter< VImageDimension >::Self
 

Standard class typedefs.

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 70 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef Size<VImageDimension> itk::ImageRegionSplitter< VImageDimension >::SizeType
 

Size typedef support. A size is used to define region bounds.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 93 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef SizeType::SizeValueType itk::ImageRegionSplitter< VImageDimension >::SizeValueType
 

Definition at line 94 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
typedef Object itk::ImageRegionSplitter< VImageDimension >::Superclass
 

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

Definition at line 71 of file itkImageRegionSplitter.h.


Constructor & Destructor Documentation

template<unsigned int VImageDimension>
itk::ImageRegionSplitter< VImageDimension >::ImageRegionSplitter  )  [inline, protected]
 

Definition at line 115 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
itk::ImageRegionSplitter< VImageDimension >::~ImageRegionSplitter  )  [inline, protected]
 

Definition at line 116 of file itkImageRegionSplitter.h.


Member Function Documentation

template<unsigned int VImageDimension>
virtual const char* itk::ImageRegionSplitter< VImageDimension >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

template<unsigned int VImageDimension>
unsigned int itk::ImageRegionSplitter< VImageDimension >::GetImageDimension  )  [inline, static]
 

Dimension of the image available at run time. Definition at line 85 of file itkImageRegionSplitter.h.

template<unsigned int VImageDimension>
virtual unsigned int itk::ImageRegionSplitter< VImageDimension >::GetNumberOfSplits const RegionType region,
unsigned int  requestedNumber
[virtual]
 

How many pieces can the specifed region be split? A given region cannot always be divided into the requested number of pieces. For instance, if the numberOfPieces exceeds the number of pixels along a certain dimensions, then some splits will not be possible. This method returns a number less than or equal to the requested number of pieces.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

template<unsigned int VImageDimension>
virtual RegionType itk::ImageRegionSplitter< VImageDimension >::GetSplit unsigned int  i,
unsigned int  numberOfPieces,
const RegionType region
[virtual]
 

Get a region definition that represents the ith piece a specified region. The "numberOfPieces" specified should be less than or equal to what GetNumberOfSplits() returns.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

template<unsigned int VImageDimension>
itk::ImageRegionSplitter< VImageDimension >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
VImageDimension 
 

Dimension of the image available at compile time.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

template<unsigned int VImageDimension>
Pointer itk::ImageRegionSplitter< VImageDimension >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.

template<unsigned int VImageDimension>
void itk::ImageRegionSplitter< VImageDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

Reimplemented in itk::ImageRegionMultidimensionalSplitter< VImageDimension >.


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