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

itk::ImageToImageFilterDetail Namespace Reference


Detailed Description

ImageToImageFilterDetail namespace to house implementations of functions that are dependent on dimension. These functions are overloaded based on type unique for each different dimension. These functions cannot be member functions of a class like ImageToImageFilter since explicit instantiation of an ImageToImageFilter would force the instantiation of all versions of these overloaded functions.


Classes

struct  BinaryBooleanDispatch
struct  BinaryIntDispatch
struct  BinaryUnsignedIntDispatch
struct  BooleanDispatch
struct  DispatchBase
 Base class for a class used to dispatch to dimension specific implementations. More...
class  ImageRegionCopier
 Function object used to dispatching to a routine to copy a region (start index and size). More...
struct  IntDispatch
struct  UnsignedIntDispatch

Functions

*void Calculate (const UnsignedIntDispatch< 2 > &)
template<unsigned int D1, unsigned int D2>
*Copy an image the region
requested by the output *of
a filter is used to define
the region required on the
input *In this case the output
of the filter is the source
and the *input of the filter
is the destination *void 
ExtractImageFilterCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstGreaterThanSecondType &, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion, const ImageRegion< D1 > &totalInputExtractionRegion)
template<unsigned int D1, unsigned int D2>
void ExtractImageFilterCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstLessThanSecondType &firstLessThanSecond, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion, const ImageRegion< D1 > &totalInputExtractionRegion)
template<unsigned int D1, unsigned int D2>
void ExtractImageFilterCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstEqualsSecondType &firstEqualsSecond, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion, const ImageRegion< D1 > &)
template<unsigned int D1, unsigned int D2>
*Copy an image the region
requested by the output *of
a filter is used to define
the region required on the
input *In this case the output
of the filter is the source
and the *input of the filter
is the destination *void 
ImageToImageFilterDefaultCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstGreaterThanSecondType &, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion)
template<unsigned int D1, unsigned int D2>
*Copy an image the region
requested by the output *of
a filter is used to define
the region required on the
input *In this case the output
of the filter is the source
and the *input of the filter
is the destination *void 
ImageToImageFilterDefaultCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstLessThanSecondType &, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion)
template<unsigned int D1, unsigned int D2>
void ImageToImageFilterDefaultCopyRegion (const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstEqualsSecondType &, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion)
UnsignedIntDispatch *brief
Templated class to produce
a unique type for each unsigned 
integer (usually a dimension).**UnsignedIntDispatch is a templated class that produces a unique *type for each unsigned integer.UnsignedIntDispatch is typically *used as a parameter to an overloaded function where each version *of the overloaded function is for a unique dimension.For *instance
template<unsigned int D1, unsigned int D2>
bool operator!= (const ImageRegionCopier< D1, D2 > &c1, const ImageRegionCopier< D1, D2 > &c2)
*Copy an image region (start index and size) for the case where *the source region has a lesser dimension than the destination *region.This version is"smart"in that it looks at what *dimensions should be collapsed.This information is passed in *the parameter totalInputExtractionRegion.Any values within *totalInputExtractionRegion.Size that are zero correspond to the *dimension to be collapsed.**Note that the use of source and destination reflect where *where is information is coming from and going to.When used *in the pipeline mechanism

Variables

*ExtractImageFilterRegionCopier
is a special variation on
ImageRegionCopier *The difference
in this version is when the
D1 D2 In this 
case
UnsignedIntDispatch *brief
Templated class to produce
a unique type for each unsigned
an algorithm may provide two 
implementations
*ExtractImageFilterRegionCopier
is a special variation on
ImageRegionCopier *The difference
in this version is when the
D1 D2 In this the *output
image has fewer dimension
than the input image This
only works correctly *when
totalInputExtractionRegion
has been set totalInputExtractionRegion
is *essentially the mapping
from the srcRegion space to
the DestRegionSpace *The important
values in totalInputExtractionRegion
are when *totalInputExtractionRegion
Size then the index that we
have to lock *destRegion 
Index [dim]
*ExtractImageFilterRegionCopier
is a special variation on
ImageRegionCopier *The difference
in this version is when the
D1 D2 In this the *output
image has fewer dimension
than the input image This
only works correctly *when
totalInputExtractionRegion
has been set totalInputExtractionRegion
is *essentially the mapping
from the srcRegion space to
the DestRegionSpace *The important
values in totalInputExtractionRegion
are when *totalInputExtractionRegion
Size 
is


Function Documentation

* void itk::ImageToImageFilterDetail::Calculate const UnsignedIntDispatch< 2 > &   ) 
 

template<unsigned int D1, unsigned int D2>
* Copy an image the region requested by the output* of a filter is used to define the region required on the input* In this case the output of the filter is the source and the* input of the filter is the destination* void itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstGreaterThanSecondType &  ,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion,
const ImageRegion< D1 > &  totalInputExtractionRegion
 

Definition at line 78 of file itkExtractImageFilterRegionCopier.h.

References itk::ImageRegion< VImageDimension >::GetIndex(), itk::ImageRegion< VImageDimension >::GetSize(), itk::ImageRegion< VImageDimension >::SetIndex(), and itk::ImageRegion< VImageDimension >::SetSize().

template<unsigned int D1, unsigned int D2>
void itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstLessThanSecondType &  firstLessThanSecond,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion,
const ImageRegion< D1 > &  totalInputExtractionRegion
 

Call the base class version: ImageToImageFilterDefaultCopyRegion

Definition at line 50 of file itkExtractImageFilterRegionCopier.h.

template<unsigned int D1, unsigned int D2>
void itk::ImageToImageFilterDetail::ExtractImageFilterCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstEqualsSecondType &  firstEqualsSecond,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion,
const ImageRegion< D1 > & 
 

Call the base class version: ImageToImageFilterDefaultCopyRegion

Definition at line 35 of file itkExtractImageFilterRegionCopier.h.

template<unsigned int D1, unsigned int D2>
* Copy an image the region requested by the output* of a filter is used to define the region required on the input* In this case the output of the filter is the source and the* input of the filter is the destination* void itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstGreaterThanSecondType &  ,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion
 

Definition at line 247 of file itkImageToImageFilterDetail.h.

References itk::ImageRegion< VImageDimension >::GetIndex(), itk::ImageRegion< VImageDimension >::GetSize(), itk::ImageRegion< VImageDimension >::SetIndex(), and itk::ImageRegion< VImageDimension >::SetSize().

template<unsigned int D1, unsigned int D2>
* Copy an image the region requested by the output* of a filter is used to define the region required on the input* In this case the output of the filter is the source and the* input of the filter is the destination* void itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstLessThanSecondType &  ,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion
 

Definition at line 205 of file itkImageToImageFilterDetail.h.

References itk::ImageRegion< VImageDimension >::GetIndex(), itk::ImageRegion< VImageDimension >::GetSize(), itk::ImageRegion< VImageDimension >::SetIndex(), and itk::ImageRegion< VImageDimension >::SetSize().

template<unsigned int D1, unsigned int D2>
void itk::ImageToImageFilterDetail::ImageToImageFilterDefaultCopyRegion const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstEqualsSecondType &  ,
ImageRegion< D1 > &  destRegion,
const ImageRegion< D2 > &  srcRegion
 

Copy an image region (start index and size) for the case where the source and destination region are the same dimension. This is a trivial copy of a region. This is an overloaded function. The other versions of this functions handle the case where the destination dimension is greater than the source dimension and the case where the destination dimension is less than the source dimension.

Note that the use of source and destination reflect where where is information is coming from and going to. When used in the pipeline mechanism, the region requested by the output of a filter is used to define the region required on the input. In this case the output of the filter is the source region and the input of the filter is the destination region.

Definition at line 180 of file itkImageToImageFilterDetail.h.

struct UnsignedIntDispatch* brief Templated class to produce a unique type for each unsigned itk::ImageToImageFilterDetail::integer usually a  dimension  ) 
 

template<unsigned int D1, unsigned int D2>
bool itk::ImageToImageFilterDetail::operator!= const ImageRegionCopier< D1, D2 > &  c1,
const ImageRegionCopier< D1, D2 > &  c2
 

operator!= for ImageRegionCopier objects.

Definition at line 345 of file itkImageToImageFilterDetail.h.

*Copy an image itk::ImageToImageFilterDetail::region start index and  size  ) 
 

Referenced by RegressionTestImage(), itk::VectorImage< TPixelType, Dimension >::SetRegions(), itk::SpecialCoordinatesImage< TPixel, 3 >::SetRegions(), itk::Image< BloxBoundaryPointPixel< TImageDimension >, TImageDimension >::SetRegions(), itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToContinuousIndex(), and itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToIndex().


Variable Documentation

* ExtractImageFilterRegionCopier is a special variation on ImageRegionCopier* The difference in this version is when the D1 D2 In this itk::ImageToImageFilterDetail::case
 

Definition at line 118 of file itkExtractImageFilterRegionCopier.h.

struct UnsignedIntDispatch* brief Templated class to produce a unique type for each unsigned an algorithm may provide two itk::ImageToImageFilterDetail::implementations
 

Definition at line 82 of file itkImageToImageFilterDetail.h.

* ExtractImageFilterRegionCopier is a special variation on ImageRegionCopier* The difference in this version is when the D1 D2 In this the* output image has fewer dimension than the input image This only works correctly* when totalInputExtractionRegion has been set totalInputExtractionRegion is* essentially the mapping from the srcRegion space to the DestRegionSpace* The important values in totalInputExtractionRegion are when* totalInputExtractionRegion Size then the index that we have to lock* destRegion itk::ImageToImageFilterDetail::Index[dim]
 

Initial value:

 totalInputExtractionRegion.Index[dim].
   *  
   *  The other two cases (D1 = D2, and D1 < D2) are identical to the implementation 
   *  in ImageToImageFilterDetail.
   *
   *  
   **/
template <unsigned int D1, unsigned int D2>
class ITK_EXPORT ExtractImageFilterRegionCopier
  : public ImageRegionCopier<D1, D2>
{
public:
  virtual void operator()(ImageRegion<D1> &destRegion,
                          const ImageRegion<D2> &srcRegion,
                          const ImageRegion<D1> &totalInputExtractionRegion) const
  {
    typedef typename BinaryUnsignedIntDispatch<D1, D2>::ComparisonType ComparisonType;
    ExtractImageFilterCopyRegion<D1, D2>(ComparisonType(),
                                         destRegion, srcRegion, totalInputExtractionRegion);
  }



  virtual void operator() (ImageRegion<D1> &destRegion,
                           const ImageRegion<D2> &srcRegion) const
  {
    ImageRegionCopier<D1,D2>::operator()(destRegion, srcRegion);
  }
}

Definition at line 126 of file itkExtractImageFilterRegionCopier.h.

* ExtractImageFilterRegionCopier is a special variation on ImageRegionCopier* The difference in this version is when the D1 D2 In this the* output image has fewer dimension than the input image This only works correctly* when totalInputExtractionRegion has been set totalInputExtractionRegion is* essentially the mapping from the srcRegion space to the DestRegionSpace* The important values in totalInputExtractionRegion are when* totalInputExtractionRegion Size itk::ImageToImageFilterDetail::is
 

Initial value:

 0 for one or more of the dimensions.
   *  These values correspond to the dimensions to collapse.  When
   *  totalInputExtractionRegion.Size[dim] = 0

Definition at line 123 of file itkExtractImageFilterRegionCopier.h.


Generated at Mon Jul 10 00:20:06 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000