ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | List of all members
itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage > Class Template Reference

#include <itkNeighborhoodAlgorithm.h>

Detailed Description

template<typename 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.
Examples:
Examples/Iterators/NeighborhoodIterators3.cxx, Examples/Iterators/NeighborhoodIterators4.cxx, Examples/Iterators/NeighborhoodIterators5.cxx, Examples/Iterators/ShapedNeighborhoodIterators1.cxx, Examples/Iterators/ShapedNeighborhoodIterators2.cxx, and WikiExamples/Iterators/ImageBoundaryFacesCalculator.cxx.

Definition at line 63 of file itkNeighborhoodAlgorithm.h.

Public Types

using FaceListType = std::list< RegionType >
 
using IndexType = typename TImage::IndexType
 
using RadiusType = typename NeighborhoodIterator< TImage >::RadiusType
 
using RegionType = typename TImage::RegionType
 
using SizeType = typename TImage::SizeType
 

Public Member Functions

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

Static Public Attributes

static constexpr unsigned int ImageDimension = TImage::ImageDimension
 

Member Typedef Documentation

template<typename TImage >
using itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::FaceListType = std::list< RegionType >

Definition at line 68 of file itkNeighborhoodAlgorithm.h.

template<typename TImage >
using itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::IndexType = typename TImage::IndexType

Definition at line 66 of file itkNeighborhoodAlgorithm.h.

template<typename TImage >
using itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::RadiusType = typename NeighborhoodIterator< TImage >::RadiusType

Definition at line 64 of file itkNeighborhoodAlgorithm.h.

template<typename TImage >
using itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::RegionType = typename TImage::RegionType

Definition at line 65 of file itkNeighborhoodAlgorithm.h.

template<typename TImage >
using itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator< TImage >::SizeType = typename TImage::SizeType

Definition at line 67 of file itkNeighborhoodAlgorithm.h.

Member Function Documentation

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

Member Data Documentation

template<typename TImage >
constexpr 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: