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

#include <itkZeroFluxNeumannBoundaryCondition.h>

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

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.

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 Types inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage >
typedef
TInputImage::NeighborhoodAccessorFunctorType 
NeighborhoodAccessorFunctorType
 
typedef Neighborhood
< PixelPointerType,
itkGetStaticConstMacro(ImageDimension) > 
NeighborhoodType
 
typedef ImageBoundaryCondition Self
 
typedef TInputImage::PixelType PixelType
 
typedef
TInputImage::InternalPixelType * 
PixelPointerType
 
typedef TOutputImage::PixelType OutputPixelType
 
typedef Index
< itkGetStaticConstMacro(ImageDimension) > 
IndexType
 
typedef Size
< itkGetStaticConstMacro(ImageDimension) > 
SizeType
 
typedef Offset
< itkGetStaticConstMacro(ImageDimension) > 
OffsetType
 
typedef ImageRegion
< itkGetStaticConstMacro(ImageDimension) > 
RegionType
 

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 ()
 
- Public Member Functions inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage >
 ImageBoundaryCondition ()
 
virtual void Print (std::ostream &os, Indent i=0) const
 
virtual bool RequiresCompleteNeighborhood ()
 
virtual ~ImageBoundaryCondition ()
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage >
static const unsigned int ImageDimension = TInputImage::ImageDimension
 

Member Typedef Documentation

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

Definition at line 71 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 77 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 74 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 73 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 69 of file itkZeroFluxNeumannBoundaryCondition.h.

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

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.

Definition at line 67 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 70 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Standard class typedefs.

Definition at line 63 of file itkZeroFluxNeumannBoundaryCondition.h.

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

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
inlinevirtual

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
virtual

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

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 >.

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.

Definition at line 80 of file itkZeroFluxNeumannBoundaryCondition.h.


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