ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | List of all members
itk::PeriodicBoundaryCondition< TInputImage, TOutputImage > Class Template Reference

#include <itkPeriodicBoundaryCondition.h>

Detailed Description

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

A function object that determines values outside of image boundaries according to periodic (wrap-around) conditions.

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 38 of file itkPeriodicBoundaryCondition.h.

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

Public Types

using Self = PeriodicBoundaryCondition
 
using Superclass = ImageBoundaryCondition< TInputImage, TOutputImage >
 
- Public Types inherited from itk::ImageBoundaryCondition< TInputImage, TInputImage >
using IndexType = Index< ImageDimension >
 
using InputImageType = TInputImage
 
using NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType
 
using NeighborhoodType = Neighborhood< PixelPointerType, ImageDimension >
 
using OffsetType = Offset< ImageDimension >
 
using OutputImageType = TInputImage
 
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

RegionType GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const override
 
const char * GetNameOfClass () const override
 
OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const override
 
OutputPixelType operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const override
 
 PeriodicBoundaryCondition ()=default
 
OutputPixelType GetPixel (const IndexType &index, const TInputImage *image) const override
 
- Public Member Functions inherited from itk::ImageBoundaryCondition< TInputImage, TInputImage >
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 = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::ImageBoundaryCondition< TInputImage, TInputImage >
static constexpr unsigned int ImageDimension
 

Member Typedef Documentation

◆ Self

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

Standard class type aliases.

Definition at line 42 of file itkPeriodicBoundaryCondition.h.

◆ Superclass

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

Definition at line 43 of file itkPeriodicBoundaryCondition.h.

Constructor & Destructor Documentation

◆ PeriodicBoundaryCondition()

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

Default constructor.

Member Function Documentation

◆ GetInputRequestedRegion()

template<typename TInputImage , typename TOutputImage = TInputImage>
RegionType itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >::GetInputRequestedRegion ( const RegionType inputLargestPossibleRegion,
const RegionType outputRequestedRegion 
) const
overridevirtual

Determines the necessary input region for the output region. For this boundary condition, the output region is mapped into the input image index space. If the mapped region crosses an image boundary in some dimension, then the entire size of the image in that dimension is requested. For this reason, it is most memory efficient to request regions that map to regions that do cross image boundaries.

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

◆ GetNameOfClass()

template<typename TInputImage , typename TOutputImage = TInputImage>
const char * itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >::GetNameOfClass ( ) const
overridevirtual

◆ GetPixel()

template<typename TInputImage , typename TOutputImage = TInputImage>
OutputPixelType itk::PeriodicBoundaryCondition< TInputImage, TOutputImage >::GetPixel ( const IndexType index,
const TInputImage *  image 
) const
overridevirtual

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 at the desired index (modulo the size of the image) is returned.

Parameters
indexThe index of the desired pixel.
imageThe image from which pixel values should be determined.

Implements itk::ImageBoundaryCondition< TInputImage, TInputImage >.

◆ operator()() [1/2]

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

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

Implements itk::ImageBoundaryCondition< TInputImage, TInputImage >.

◆ operator()() [2/2]

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

Computes and returns the appropriate pixel value from neighborhood iterator data, using the functor.

Implements itk::ImageBoundaryCondition< TInputImage, TInputImage >.

Member Data Documentation

◆ ImageDimension

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

Extract information from the image type.

Definition at line 61 of file itkPeriodicBoundaryCondition.h.


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