ITK
6.0.0
Insight Toolkit
|
#include <itkImageBoundaryCondition.h>
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.
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 RegionType | GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, const RegionType &) const |
virtual const char * | GetNameOfClass () const |
virtual OutputPixelType | GetPixel (const IndexType &index, const TInputImage *image) const =0 |
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 |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::IndexType = Index<ImageDimension> |
Definition at line 68 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::InputImageType = TInputImage |
Extract information from the image type
Definition at line 63 of file itkImageBoundaryCondition.h.
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.
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.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OffsetType = Offset<ImageDimension> |
Definition at line 70 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 64 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OutputPixelType = typename TOutputImage::PixelType |
Definition at line 67 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelPointerType = typename TInputImage::InternalPixelType * |
Definition at line 66 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelType = typename TInputImage::PixelType |
Definition at line 65 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::RegionType = ImageRegion<ImageDimension> |
Definition at line 71 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::Self = ImageBoundaryCondition |
Standard type alias.
Definition at line 60 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::SizeType = Size<ImageDimension> |
Definition at line 69 of file itkImageBoundaryCondition.h.
|
default |
Default constructor.
|
virtualdefault |
|
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.
inputLargestPossibleRegion | Largest possible region of the input image. |
outputRequestedRegion | The output requested region. |
Reimplemented in itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< InputImageType >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, and itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >.
Definition at line 133 of file itkImageBoundaryCondition.h.
|
virtual |
Reimplemented in itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< InputImageType >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, and itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >.
|
pure 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 pixel value is determined according to the boundary condition type.
index | The index of the desired pixel. |
image | The image from which pixel values should be determined. |
Implemented in itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, itk::ConstantBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, and itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >.
|
pure virtual |
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::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< InputImageType >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, and itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >.
|
pure virtual |
Computes and returns the appropriate pixel value from neighborhood iterator data, using the functor.
Implemented in itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< InputImageType >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImage >, itk::ZeroFluxNeumannBoundaryCondition< RealOutputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >, itk::ZeroFluxNeumannBoundaryCondition< InputImageType >, itk::ZeroFluxNeumannBoundaryCondition< TDisplacementField >, itk::ZeroFluxNeumannBoundaryCondition< TInput >, itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TInputImage >, itk::ZeroFluxNeumannBoundaryCondition< TImageType >, itk::ZeroFluxNeumannBoundaryCondition< itk::Image >, itk::ZeroFluxNeumannBoundaryCondition< FixedImageType >, itk::ZeroFluxNeumannBoundaryCondition< ImageType >, and itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >.
|
inlinevirtual |
Utility for printing the boundary condition.
Reimplemented in itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, and itk::ConstantBoundaryCondition< InputImageType >.
Definition at line 87 of file itkImageBoundaryCondition.h.
References GetNameOfClass().
|
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 >, itk::ConstantBoundaryCondition< TInputImage, TOutputImage >, and itk::ConstantBoundaryCondition< InputImageType >.
Definition at line 118 of file itkImageBoundaryCondition.h.
|
staticconstexpr |
Extract information from the image type
Definition at line 57 of file itkImageBoundaryCondition.h.