Orfeo Toolbox  4.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
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 >:

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

 ZeroFluxNeumannBoundaryCondition ()
 
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
 
virtual void Print (std::ostream &os, Indent i=0) const
 
virtual bool RequiresCompleteNeighborhood ()
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 

Detailed Description

template<typename TInputImage, typename 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<typename TInputImage, typename TOutputImage = TInputImage>
typedef Superclass::IndexType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::IndexType

Definition at line 71 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 77 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 74 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 73 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 69 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 68 of file itkZeroFluxNeumannBoundaryCondition.h.

template<typename TInputImage, typename 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<typename TInputImage, typename TOutputImage = TInputImage>
typedef Superclass::RegionType itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::RegionType

Definition at line 70 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Standard class typedefs.

Definition at line 63 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 72 of file itkZeroFluxNeumannBoundaryCondition.h.

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

Definition at line 64 of file itkZeroFluxNeumannBoundaryCondition.h.

Constructor & Destructor Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::ZeroFluxNeumannBoundaryCondition ( )
inline

Default constructor.

Definition at line 83 of file itkZeroFluxNeumannBoundaryCondition.h.

Member Function Documentation

template<typename TInputImage , typename TOutputImage >
ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::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 >.

Definition at line 87 of file itkZeroFluxNeumannBoundaryCondition.hxx.

References itk::ImageRegion< VImageDimension >::GetIndex(), and itk::ImageRegion< VImageDimension >::GetSize().

template<typename TInputImage, typename 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<typename TInputImage, typename TOutputImage >
ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::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 >.

Definition at line 157 of file itkZeroFluxNeumannBoundaryCondition.hxx.

References itk::ImageRegion< VImageDimension >::GetIndex(), and itk::ImageRegion< VImageDimension >::GetSize().

template<typename TInputImage , typename TOutputImage >
ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::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 >.

Definition at line 28 of file itkZeroFluxNeumannBoundaryCondition.hxx.

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

template<typename TInputImage , typename TOutputImage >
ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::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 >.

Definition at line 67 of file itkZeroFluxNeumannBoundaryCondition.hxx.

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

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::ImageBoundaryCondition< TInputImage, TOutputImage >::Print ( std::ostream &  os,
Indent  i = 0 
) const
inlinevirtualinherited

Utility for printing the boundary condition.

Reimplemented in itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, and itk::ConstantBoundaryCondition< InputImageType >.

Definition at line 89 of file itkImageBoundaryCondition.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual bool itk::ImageBoundaryCondition< TInputImage, TOutputImage >::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< TInputImage, TOutputImage >, and itk::ConstantBoundaryCondition< InputImageType >.

Definition at line 118 of file itkImageBoundaryCondition.h.

Member Data Documentation

template<typename TInputImage, typename 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 files:

Generated at Sat Mar 8 2014 18:02:13 for Orfeo Toolbox with doxygen 1.8.3.1