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

itk::ZeroFluxNeumannBoundaryCondition< TImage > Class Template Reference
[Data Representation ObjectsImage Representation Objects]

#include <itkZeroFluxNeumannBoundaryCondition.h>

Inheritance diagram for itk::ZeroFluxNeumannBoundaryCondition< TImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::ZeroFluxNeumannBoundaryCondition< TImage >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class TImage>
class itk::ZeroFluxNeumannBoundaryCondition< TImage >

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.

Public Types

typedef Superclass::IndexType IndexType
typedef Superclass::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
typedef Superclass::NeighborhoodType NeighborhoodType
typedef Superclass::OffsetType OffsetType
typedef Superclass::PixelPointerType PixelPointerType
typedef Superclass::PixelType PixelType
typedef ZeroFluxNeumannBoundaryCondition Self
typedef ImageBoundaryCondition<
TImage > 
Superclass

Public Member Functions

 itkStaticConstMacro (ImageDimension, unsigned int, TImage::ImageDimension)
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const =0
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const=0
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const
virtual bool RequiresCompleteNeighborhood ()
 ZeroFluxNeumannBoundaryCondition ()
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const


Member Typedef Documentation

template<class TImage>
typedef Superclass::IndexType itk::ZeroFluxNeumannBoundaryCondition< TImage >::IndexType

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 69 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef Superclass::NeighborhoodAccessorFunctorType itk::ZeroFluxNeumannBoundaryCondition< TImage >::NeighborhoodAccessorFunctorType

Functor used to access pixels from a neighborhood of pixel pointers

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 74 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef Superclass::NeighborhoodType itk::ZeroFluxNeumannBoundaryCondition< TImage >::NeighborhoodType

Type of the data container passed to this function object.

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 71 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef Superclass::OffsetType itk::ZeroFluxNeumannBoundaryCondition< TImage >::OffsetType

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 70 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef Superclass::PixelPointerType itk::ZeroFluxNeumannBoundaryCondition< TImage >::PixelPointerType

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 68 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef Superclass::PixelType itk::ZeroFluxNeumannBoundaryCondition< TImage >::PixelType

Extract information from the image type.

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 67 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef ZeroFluxNeumannBoundaryCondition itk::ZeroFluxNeumannBoundaryCondition< TImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageBoundaryCondition< TImage >.

Definition at line 63 of file itkZeroFluxNeumannBoundaryCondition.h.

template<class TImage>
typedef ImageBoundaryCondition<TImage> itk::ZeroFluxNeumannBoundaryCondition< TImage >::Superclass

Definition at line 64 of file itkZeroFluxNeumannBoundaryCondition.h.


Constructor & Destructor Documentation

template<class TImage>
itk::ZeroFluxNeumannBoundaryCondition< TImage >::ZeroFluxNeumannBoundaryCondition (  )  [inline]

Default constructor.

Definition at line 80 of file itkZeroFluxNeumannBoundaryCondition.h.


Member Function Documentation

itk::ImageBoundaryCondition< TImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TImage ::ImageDimension   
) [inherited]

Extract information from the image type

template<class TImage>
itk::ZeroFluxNeumannBoundaryCondition< TImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
Superclass::ImageDimension   
)

Extract information from the image type.

virtual PixelType itk::ImageBoundaryCondition< TImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data,
const NeighborhoodAccessorFunctorType neighborhoodAccessorFunctor 
) const [pure virtual, inherited]

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

virtual PixelType itk::ImageBoundaryCondition< TImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data 
) const [pure virtual, inherited]

Returns a value for a given out-of-bounds pixel. The arguments are the phantom pixel (ND) index within the neighborhood, the pixel's offset from the nearest image border pixel, and a neighborhood of pointers to pixel values in the image.

Implemented in itk::ZeroFluxNeumannBoundaryCondition< >.

template<class TImage>
virtual PixelType itk::ZeroFluxNeumannBoundaryCondition< TImage >::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.

template<class TImage>
virtual PixelType itk::ZeroFluxNeumannBoundaryCondition< TImage >::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..

virtual bool itk::ImageBoundaryCondition< TImage >::RequiresCompleteNeighborhood (  )  [inline, virtual, inherited]

Tell if the boundary condition can index to any location within the associated iterator's neighborhood or if it has some limited subset (such as none) that it relies upon. Subclasses should override this method if they can safely limit indexes to active pixels (or no pixels).

Reimplemented in itk::ConstantBoundaryCondition< TImage >.

Definition at line 104 of file itkImageBoundaryCondition.h.


The documentation for this class was generated from the following file:
Generated at Thu Nov 6 13:17:05 2008 for ITK by doxygen 1.5.1 written by Dimitri van Heesch, © 1997-2000