ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | List of all members
itk::ImageBoundaryCondition< TInputImage, TOutputImage > Class Template Referenceabstract

#include <itkImageBoundaryCondition.h>

+ Inheritance diagram for itk::ImageBoundaryCondition< TInputImage, TOutputImage >:

Public Types

using IndexType = Index< ImageDimension >
 
using InputImageType = TInputImage
 
using NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType
 
using NeighborhoodType = Neighborhood< PixelPointerType, ImageDimension >
 
using OffsetType = Offset< ImageDimension >
 
using OutputImageType = TOutputImage
 
using OutputPixelType = typename TOutputImage::PixelType
 
using PixelPointerType = typename TInputImage::InternalPixelType *
 
using PixelType = typename TInputImage::PixelType
 
using RegionType = ImageRegion< ImageDimension >
 
using Self = ImageBoundaryCondition
 
using SizeType = Size< ImageDimension >
 

Public Member Functions

virtual const char * GetNameOfClass () const
 
 ImageBoundaryCondition ()=default
 
virtual OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const =0
 
virtual OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const =0
 
virtual void Print (std::ostream &os, Indent i=0) const
 
virtual bool RequiresCompleteNeighborhood ()
 
virtual ~ImageBoundaryCondition ()=default
 
virtual RegionType GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const
 
virtual OutputPixelType GetPixel (const IndexType &index, const TInputImage *image) const =0
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TInputImage::ImageDimension
 

Detailed Description

template<typename TInputImage, typename TOutputImage = TInputImage>
class itk::ImageBoundaryCondition< TInputImage, TOutputImage >

A virtual base object that defines an interface to a class of boundary condition objects for use by neighborhood iterators.

A boundary condition object supplies a phantom pixel value when given a neighborhood of (pointers to) image values, the (ND) index of the phantom pixel, and its (ND) offset from the boundary. The index of the phantom pixel is relative to the "upper left-hand corner" of the neighborhood (as opposed to its center).

Associated Types Description


PixelType The data type of the return value. PixelPointerType A pointer to PixelType. PixelPointerTypeNeighborhood A neighborhood of PixelPointerTypes that points to the pixel values in an image neighborhood.

Definition at line 52 of file itkImageBoundaryCondition.h.

Member Typedef Documentation

◆ IndexType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::IndexType = Index<ImageDimension>

Definition at line 68 of file itkImageBoundaryCondition.h.

◆ InputImageType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::InputImageType = TInputImage

Extract information from the image type

Definition at line 63 of file itkImageBoundaryCondition.h.

◆ NeighborhoodAccessorFunctorType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType

Functor used to access pixels from a neighborhood of pixel pointers

Definition at line 77 of file itkImageBoundaryCondition.h.

◆ NeighborhoodType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodType = Neighborhood<PixelPointerType, ImageDimension>

Type of the data container passed to this function object.

Definition at line 74 of file itkImageBoundaryCondition.h.

◆ OffsetType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OffsetType = Offset<ImageDimension>

Definition at line 70 of file itkImageBoundaryCondition.h.

◆ OutputImageType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OutputImageType = TOutputImage

Definition at line 64 of file itkImageBoundaryCondition.h.

◆ OutputPixelType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OutputPixelType = typename TOutputImage::PixelType

Definition at line 67 of file itkImageBoundaryCondition.h.

◆ PixelPointerType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelPointerType = typename TInputImage::InternalPixelType *

Definition at line 66 of file itkImageBoundaryCondition.h.

◆ PixelType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelType = typename TInputImage::PixelType

Definition at line 65 of file itkImageBoundaryCondition.h.

◆ RegionType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::RegionType = ImageRegion<ImageDimension>

Definition at line 71 of file itkImageBoundaryCondition.h.

◆ Self

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::Self = ImageBoundaryCondition

Standard type alias.

Definition at line 60 of file itkImageBoundaryCondition.h.

◆ SizeType

template<typename TInputImage, typename TOutputImage = TInputImage>
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::SizeType = Size<ImageDimension>

Definition at line 69 of file itkImageBoundaryCondition.h.

Constructor & Destructor Documentation

◆ ImageBoundaryCondition()

template<typename TInputImage, typename TOutputImage = TInputImage>
itk::ImageBoundaryCondition< TInputImage, TOutputImage >::ImageBoundaryCondition ( )
default

Default constructor.

◆ ~ImageBoundaryCondition()

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual itk::ImageBoundaryCondition< TInputImage, TOutputImage >::~ImageBoundaryCondition ( )
virtualdefault

Member Function Documentation

◆ GetInputRequestedRegion()

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual RegionType itk::ImageBoundaryCondition< TInputImage, TOutputImage >::GetInputRequestedRegion ( const RegionType inputLargestPossibleRegion,
const RegionType outputRequestedRegion 
) const
inlinevirtual

Determines the necessary input region for an output region given the largest possible region of the input image. Subclasses should override this method to efficiently support streaming.

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 in itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >, and itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >.

Definition at line 137 of file itkImageBoundaryCondition.h.

◆ GetNameOfClass()

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual const char* itk::ImageBoundaryCondition< TInputImage, TOutputImage >::GetNameOfClass ( ) const
inlinevirtual

◆ GetPixel()

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual OutputPixelType itk::ImageBoundaryCondition< TInputImage, TOutputImage >::GetPixel ( const IndexType index,
const TInputImage *  image 
) const
pure virtual

◆ operator()() [1/2]

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual OutputPixelType itk::ImageBoundaryCondition< TInputImage, TOutputImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data 
) const
pure virtual

◆ operator()() [2/2]

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual OutputPixelType itk::ImageBoundaryCondition< TInputImage, TOutputImage >::operator() ( const OffsetType point_index,
const OffsetType boundary_offset,
const NeighborhoodType data,
const NeighborhoodAccessorFunctorType neighborhoodAccessorFunctor 
) const
pure virtual

◆ Print()

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

Utility for printing the boundary condition.

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

Definition at line 91 of file itkImageBoundaryCondition.h.

◆ RequiresCompleteNeighborhood()

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual bool itk::ImageBoundaryCondition< TInputImage, TOutputImage >::RequiresCompleteNeighborhood ( )
inlinevirtual

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

Member Data Documentation

◆ ImageDimension

template<typename TInputImage, typename TOutputImage = TInputImage>
constexpr unsigned int itk::ImageBoundaryCondition< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension
staticconstexpr

Extract information from the image type

Definition at line 57 of file itkImageBoundaryCondition.h.


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