ITK  6.0.0
Insight Toolkit
Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage > Class Template Referencefinal

#include <itkBufferedImageNeighborhoodPixelAccessPolicy.h>

Detailed Description

template<typename TImage>
class itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >

ImageNeighborhoodPixelAccessPolicy class for ShapedImageNeighborhoodRange. Allows getting and setting the value of a pixel, located in a specified neighborhood location, at a specified offset. Assumes that the pixel index is within the buffered region.

Note
This policy offers faster pixel access than other pixel access policies, because it does not do any bounds checking or border extrapolation. An attempt to access pixels outside the buffered region will have undefined behavior.
Author
Niels Dekker, LKEB, Leiden University Medical Center
See also
ShapedNeighborhoodIterator
ConstantBoundaryImageNeighborhoodPixelAccessPolicy
ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy

Definition at line 50 of file itkBufferedImageNeighborhoodPixelAccessPolicy.h.

Public Member Functions

 BufferedImageNeighborhoodPixelAccessPolicy ()=delete
 
 BufferedImageNeighborhoodPixelAccessPolicy (const BufferedImageNeighborhoodPixelAccessPolicy &) noexcept=default
 
PixelType GetPixelValue (const InternalPixelType *const imageBufferPointer) const noexcept
 
BufferedImageNeighborhoodPixelAccessPolicyoperator= (const BufferedImageNeighborhoodPixelAccessPolicy &)=delete
 
 ~BufferedImageNeighborhoodPixelAccessPolicy ()=default
 
 BufferedImageNeighborhoodPixelAccessPolicy (const ImageSizeType &imageSize, const OffsetType &offsetTable, const NeighborhoodAccessorFunctorType &neighborhoodAccessor, const IndexType &pixelIndex) noexcept
 
void SetPixelValue (InternalPixelType *const imageBufferPointer, const PixelType &pixelValue) const noexcept
 

Private Types

using ImageDimensionType = typename TImage::ImageDimensionType
 
using ImageSizeType = Size< ImageDimension >
 
using IndexType = Index< ImageDimension >
 
using InternalPixelType = typename TImage::InternalPixelType
 
using NeighborhoodAccessorFunctorType = typename TImage::NeighborhoodAccessorFunctorType
 
using OffsetType = Offset< ImageDimension >
 
using PixelType = typename TImage::PixelType
 

Static Private Member Functions

static IndexValueType CalculatePixelIndexValue (const ImageSizeType &imageSize, const OffsetType &offsetTable, const IndexType &pixelIndex) noexcept
 

Private Attributes

const NeighborhoodAccessorFunctorTypem_NeighborhoodAccessor
 
const IndexValueType m_PixelIndexValue
 

Static Private Attributes

static constexpr ImageDimensionType ImageDimension = TImage::ImageDimension
 

Member Typedef Documentation

◆ ImageDimensionType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::ImageDimensionType = typename TImage::ImageDimensionType
private

◆ ImageSizeType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::ImageSizeType = Size<ImageDimension>
private

◆ IndexType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::IndexType = Index<ImageDimension>
private

◆ InternalPixelType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::InternalPixelType = typename TImage::InternalPixelType
private

◆ NeighborhoodAccessorFunctorType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::NeighborhoodAccessorFunctorType = typename TImage::NeighborhoodAccessorFunctorType
private

◆ OffsetType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::OffsetType = Offset<ImageDimension>
private

◆ PixelType

template<typename TImage >
using itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::PixelType = typename TImage::PixelType
private

Constructor & Destructor Documentation

◆ BufferedImageNeighborhoodPixelAccessPolicy() [1/3]

template<typename TImage >
itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::BufferedImageNeighborhoodPixelAccessPolicy ( )
delete

◆ ~BufferedImageNeighborhoodPixelAccessPolicy()

◆ BufferedImageNeighborhoodPixelAccessPolicy() [2/3]

template<typename TImage >
itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::BufferedImageNeighborhoodPixelAccessPolicy ( const BufferedImageNeighborhoodPixelAccessPolicy< TImage > &  )
defaultnoexcept

◆ BufferedImageNeighborhoodPixelAccessPolicy() [3/3]

template<typename TImage >
itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::BufferedImageNeighborhoodPixelAccessPolicy ( const ImageSizeType imageSize,
const OffsetType offsetTable,
const NeighborhoodAccessorFunctorType neighborhoodAccessor,
const IndexType pixelIndex 
)
inlinenoexcept

Constructor called directly by the pixel proxy of ShapedImageNeighborhoodRange.

Note
The parameter pixelIndex is assumed to be in the buffered region.

Definition at line 106 of file itkBufferedImageNeighborhoodPixelAccessPolicy.h.

References itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::CalculatePixelIndexValue().

Member Function Documentation

◆ CalculatePixelIndexValue()

template<typename TImage >
static IndexValueType itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::CalculatePixelIndexValue ( const ImageSizeType imageSize,
const OffsetType offsetTable,
const IndexType pixelIndex 
)
inlinestaticprivatenoexcept

◆ GetPixelValue()

template<typename TImage >
PixelType itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::GetPixelValue ( const InternalPixelType *const  imageBufferPointer) const
inlinenoexcept

◆ operator=()

◆ SetPixelValue()

template<typename TImage >
void itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::SetPixelValue ( InternalPixelType *const  imageBufferPointer,
const PixelType pixelValue 
) const
inlinenoexcept

Member Data Documentation

◆ ImageDimension

template<typename TImage >
constexpr ImageDimensionType itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::ImageDimension = TImage::ImageDimension
staticconstexprprivate

◆ m_NeighborhoodAccessor

template<typename TImage >
const NeighborhoodAccessorFunctorType& itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::m_NeighborhoodAccessor
private

◆ m_PixelIndexValue

template<typename TImage >
const IndexValueType itk::BufferedImageNeighborhoodPixelAccessPolicy< TImage >::m_PixelIndexValue
private

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