ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes
itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage > Class Template Reference

#include <itkNeighborhoodAlgorithm.h>

List of all members.

Public Types

typedef std::list< RegionTypeFaceListType
typedef TImage::IndexType IndexType
typedef NeighborhoodIterator
< TImage >::RadiusType 
RadiusType
typedef TImage::RegionType RegionType
typedef TImage::SizeType SizeType

Public Member Functions

FaceListType operator() (const TImage *, RegionType, RadiusType)

Static Public Attributes

static const unsigned int ImageDimension = TImage::ImageDimension

Detailed Description

template<class TImage>
class itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >

Splits an image into a main region and several "face" regions which are used to handle computations on the boundary of an image.

Splitting the image into the necessary regions is an easy task when you use the ImageBoundaryFacesCalculator. The face calculator is so named because it returns a list of the "faces" of the ND dataset. Faces are those regions whose pixels all lie within a distance $d$ from the boundary, where $d$ is the radius of the neighborhood stencil used for the numerical calculations. In other words, faces are those regions where a neighborhood iterator of radius $d$ will always overlap the boundary of the image. The face calculator also returns the single inner region, in which out-of-bounds values are never required and bounds checking is not necessary.

FaceBoundaryCalculator.png
Example regions produced by the calculator.

First we find center (non-boundary) region 0. then find the face on the lower side of the 0th dimension (Region 1). Next we find the face opposite to that face (Region 2). Then we find the face between region 1 and region 2 on the lower side of the 1th dimension.(region 3). Finally we find the face opposite to face 3 (region 4).

Note:
The first region contained in faceList should be the non-boundary region, if there is one. The existence of a non-boundary region depends on the relative location of regionToProcess and bufferedRegion. The non-boundary regions (if any) are the remaining faces in faceList.

Definition at line 63 of file itkNeighborhoodAlgorithm.h.


Member Typedef Documentation

template<class TImage >
typedef std::list< RegionType > itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::FaceListType

Definition at line 68 of file itkNeighborhoodAlgorithm.h.

template<class TImage >
typedef TImage::IndexType itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::IndexType

Definition at line 66 of file itkNeighborhoodAlgorithm.h.

Definition at line 64 of file itkNeighborhoodAlgorithm.h.

template<class TImage >
typedef TImage::RegionType itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::RegionType

Definition at line 65 of file itkNeighborhoodAlgorithm.h.

template<class TImage >
typedef TImage::SizeType itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::SizeType

Definition at line 67 of file itkNeighborhoodAlgorithm.h.


Member Function Documentation

template<class TImage >
FaceListType itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::operator() ( const TImage *  ,
RegionType  ,
RadiusType   
)

Member Data Documentation

template<class TImage >
const unsigned int itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::ImageDimension = TImage::ImageDimension [static]

Definition at line 69 of file itkNeighborhoodAlgorithm.h.


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