ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes
itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage > Class Template Reference

A function object that determines a neighborhood of values at an image boundary according to a Neumann boundary condition where first, upwind derivatives on the boundary are zero. This is a useful condition in solving some classes of differential equations. More...

#include <itkZeroFluxNeumannBoundaryCondition.h>

Inheritance diagram for itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >:
Collaboration diagram for itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >:

List of all members.

Public Types

typedef Superclass::IndexType IndexType
typedef
Superclass::NeighborhoodAccessorFunctorType 
NeighborhoodAccessorFunctorType
typedef
Superclass::NeighborhoodType 
NeighborhoodType
typedef Superclass::OffsetType OffsetType
typedef Superclass::OutputPixelType OutputPixelType
typedef
Superclass::PixelPointerType 
PixelPointerType
typedef Superclass::PixelType PixelType
typedef Superclass::RegionType RegionType
typedef
ZeroFluxNeumannBoundaryCondition 
Self
typedef Superclass::SizeType SizeType
typedef ImageBoundaryCondition
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual RegionType GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const
virtual const char * GetNameOfClass () const
OutputPixelType GetPixel (const IndexType &index, const TInputImage *image) const
virtual OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const
virtual OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const
 ZeroFluxNeumannBoundaryCondition ()

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage>
class itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >

A function object that determines a neighborhood of values at an image boundary according to a Neumann boundary condition where first, upwind derivatives on the boundary are zero. This is a useful condition in solving some classes of differential equations.

For example, invoking this function object on a 7x5 iterator that masks a region at an image corner (iterator is centered on the 2):

               * * * * * * *
               * * * * * * *
               * * 1 2 3 4 5  (where * denotes pixels that lie
               * * 3 3 5 5 6          outside of the image boundary)
               * * 4 4 6 7 8

returns the following neighborhood of values:

               1 1 1 2 3 4 5
               1 1 1 2 3 4 5
               1 1 1 2 3 4 5
               3 3 3 3 5 5 6   (note the corner values)
               4 4 4 4 6 7 8

The input to this function object is a neighborhood iterator. This boundary condition object is designed to be given as a template argument to a NeighborhoodIterator or any of the NeighborhoodIterator subclasses.

Definition at line 58 of file itkZeroFluxNeumannBoundaryCondition.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::IndexType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::IndexType

Extract information from the image type

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

Definition at line 71 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::NeighborhoodAccessorFunctorType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodAccessorFunctorType

Functor used to access pixels from a neighborhood of pixel pointers

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

Definition at line 77 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::NeighborhoodType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodType

Type of the data container passed to this function object.

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

Definition at line 74 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::OffsetType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::OffsetType

Extract information from the image type

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

Definition at line 73 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::OutputPixelType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::OutputPixelType

Extract information from the image type

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

Definition at line 69 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::PixelPointerType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::PixelPointerType

Extract information from the image type

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

Definition at line 68 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::PixelType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::PixelType

Extract information from the image type.

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

Definition at line 67 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::RegionType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::RegionType

Extract information from the image type

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

Definition at line 70 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef ZeroFluxNeumannBoundaryCondition itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::Self

Standard class typedefs.

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

Definition at line 63 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef Superclass::SizeType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::SizeType

Extract information from the image type

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

Definition at line 72 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
typedef ImageBoundaryCondition< TInputImage, TOutputImage > itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::Superclass

Definition at line 64 of file itkZeroFluxNeumannBoundaryCondition.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage = TInputImage>
itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::ZeroFluxNeumannBoundaryCondition ( ) [inline]

Default constructor.

Definition at line 83 of file itkZeroFluxNeumannBoundaryCondition.h.


Member Function Documentation

template<class TInputImage, class TOutputImage = TInputImage>
virtual RegionType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::GetInputRequestedRegion ( const RegionType inputLargestPossibleRegion,
const RegionType outputRequestedRegion 
) const [virtual]

Determines the necessary input region for the output region. For this boundary condition, only the intersection of the largest possible image region and the output requested region is needed. If the intersection is empty, then a one-pixel layer of the image from the side closest to the output requested region is needed.

Parameters:
inputLargestPossibleRegionLargest possible region of the input image.
outputRequestedRegionThe output requested region.
Returns:
The necessary input region required to determine the pixel values in the outputRequestedRegion.

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

template<class TInputImage, class TOutputImage = TInputImage>
virtual const char* itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::GetNameOfClass ( ) const [inline, virtual]

Runtime information support.

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

Definition at line 86 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TInputImage, class TOutputImage = TInputImage>
OutputPixelType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::GetPixel ( const IndexType index,
const TInputImage *  image 
) const [virtual]

Returns a value for a given pixel at an index. If the index is inside the bounds of the input image, then the pixel value is obtained from the input image. Otherwise, the nearest pixel value is returned.

Parameters:
indexThe index of the desired pixel.
imageThe image from which pixel values should be determined.

Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage = TInputImage>
virtual OutputPixelType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data,
const NeighborhoodAccessorFunctorType neighborhoodAccessorFunctor 
) const [virtual]

Computes and returns the appropriate pixel value from neighborhood iterator data, using the functor.

Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage = TInputImage>
virtual OutputPixelType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data 
) const [virtual]

Computes and returns a neighborhood of appropriate values from neighborhood iterator data..

Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.


Member Data Documentation

template<class TInputImage, class TOutputImage = TInputImage>
const unsigned int itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::ImageDimension = Superclass::ImageDimension [static]

Extract information from the image type.

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

Definition at line 80 of file itkZeroFluxNeumannBoundaryCondition.h.


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