Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Attributes | List of all members
itk::ZeroFluxNeumannBoundaryCondition< TImage > 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< TImage >:
+ Collaboration diagram for itk::ZeroFluxNeumannBoundaryCondition< TImage >:

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

 ZeroFluxNeumannBoundaryCondition ()
 
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const
 
virtual PixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const
 
virtual bool RequiresCompleteNeighborhood ()
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 

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.

Member Typedef Documentation

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

Definition at line 69 of file itkZeroFluxNeumannBoundaryCondition.h.

Definition at line 74 of file itkZeroFluxNeumannBoundaryCondition.h.

Definition at line 71 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 70 of file itkZeroFluxNeumannBoundaryCondition.h.

Definition at line 68 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Extract information from the image type.

Definition at line 67 of file itkZeroFluxNeumannBoundaryCondition.h.

Standard class typedefs.

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

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

Implements itk::ImageBoundaryCondition< TImage >.

Definition at line 25 of file itkZeroFluxNeumannBoundaryCondition.txx.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::GetStride().

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

Implements itk::ImageBoundaryCondition< TImage >.

Definition at line 64 of file itkZeroFluxNeumannBoundaryCondition.txx.

References itk::Neighborhood< TPixel, VDimension, TAllocator >::GetStride().

virtual bool itk::ImageBoundaryCondition< TImage >::RequiresCompleteNeighborhood ( )
inlinevirtualinherited

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 102 of file itkImageBoundaryCondition.h.

Member Data Documentation

template<class TImage>
const unsigned int itk::ZeroFluxNeumannBoundaryCondition< TImage >::ImageDimension = Superclass::ImageDimension
static

Extract information from the image type.

Definition at line 77 of file itkZeroFluxNeumannBoundaryCondition.h.


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

Generated at Sun May 19 2013 02:56:08 for Orfeo Toolbox with doxygen 1.8.3.1