ITK  5.0.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy > Class Template Referencefinal

#include <itkShapedImageNeighborhoodRange.h>

+ Collaboration diagram for itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >:

Detailed Description

template<typename TImage, typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
class itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >

Modern C++11 range to iterate over a neighborhood of pixels. Designed to conform to Standard C++ Iterator requirements, so that it can be used in range-based for loop, and passed to Standard C++ algorithms.

The following example creates a 3 x 5 neighborhood around pixel [10, 20] and adds 42 to each neighborhood pixel, using a range-based for loop:

const ImageType::IndexType location = {10, 20};
const itk::Size<ImageType::ImageDimension> radius = { { 1, 2 } };
const std::vector<OffsetType> offsets = itk::GenerateRectangularImageNeighborhoodOffsets(radius)
itk::ShapedImageNeighborhoodRange<ImageType> neighborhoodRange{ *image, location, offsets };
for (auto&& neighborhoodPixel : neighborhoodRange)
{
neighborhoodPixel = neighborhoodPixel + 42;
}

The following example prints the values of the neighborhood pixels:

for (const PixelType neighborhoodPixel : neighborhoodRange)
{
std::cout << neighborhoodPixel << std::endl;
}

The inner product of the neighborhood with a kernel can be produced with std::inner_product (from the Standard C++ header "numeric"), as follows:

double result = std::inner_product(
kernel.begin(),
kernel.end(),
neighborhoodRange.begin(),
0.0);
Note
Strictly speaking, the itk::ShapedImageNeighborhoodRange iterator classes do not fully comply with the C++11 random access iterator requirements, because their operator*() returns a proxy to the pixel, instead of a reference. Which implies that ShapedImageNeighborhoodRange iterators are not guaranteed to work well as argument to a C++ Standard Library function that requires a standard compliant iterator. However, this "pixel proxy" very much behaves like a reference to the pixel, and in practice, passing such an iterator to an std function usually just works!
Author
Niels Dekker, LKEB, Leiden University Medical Center
See Also
ShapedNeighborhoodIterator

Definition at line 94 of file itkShapedImageNeighborhoodRange.h.

Classes

class  CheckPolicy
 
struct  EmptyPixelAccessParameter
 
struct  OptionalPixelAccessParameter
 
struct  OptionalPixelAccessParameter< TPolicy, false >
 
class  PixelProxy
 
class  PixelProxy< false, TDummy >
 
class  PixelProxy< true, TDummy >
 
class  QualifiedIterator
 
struct  RegionData
 

Public Types

using const_iterator = QualifiedIterator< true >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using iterator = QualifiedIterator< false >
 
using reverse_iterator = std::reverse_iterator< iterator >
 

Public Member Functions

iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 
bool empty () const noexcept
 
iterator end () const noexcept
 
reverse_iterator rbegin () const noexcept
 
reverse_iterator rend () const noexcept
 
 ShapedImageNeighborhoodRange ()=default
 
std::vcl_size_t size () const noexcept
 
 ShapedImageNeighborhoodRange (ImageType &image, const IndexType &location, const OffsetType *const shapeOffsets, const std::vcl_size_t numberOfNeigborhoodPixels, const OptionalPixelAccessParameterType optionalPixelAccessParameter={})
 
template<typename TContainerOfOffsets >
 ShapedImageNeighborhoodRange (ImageType &image, const IndexType &location, const TContainerOfOffsets &shapeOffsets, const OptionalPixelAccessParameterType optionalPixelAccessParameter={})
 
QualifiedIterator< false >
::reference 
operator[] (const std::vcl_size_t n) const noexcept
 
void SetLocation (const IndexType &location) noexcept
 

Private Types

using ImageDimensionType = typename TImage::ImageDimensionType
 
using ImageRegionType = typename TImage::RegionType
 
using ImageSizeType = typename TImage::SizeType
 
using ImageSizeValueType = typename TImage::SizeValueType
 
using ImageType = TImage
 
using IndexType = typename TImage::IndexType
 
using IndexValueType = typename TImage::IndexValueType
 
using InternalPixelType = typename TImage::InternalPixelType
 
using NeighborhoodAccessorFunctorType = typename TImage::NeighborhoodAccessorFunctorType
 
using OffsetType = Offset< ImageDimension >
 
using OptionalPixelAccessParameterType = typename OptionalPixelAccessParameter< TImageNeighborhoodPixelAccessPolicy >::Type
 
using PixelType = typename TImage::PixelType
 
using QualifiedInternalPixelType = typename std::conditional< IsImageTypeConst, const InternalPixelType, InternalPixelType >::type
 

Private Member Functions

void SubtractIndex (IndexType &index1, const IndexType &index2)
 

Private Attributes

RegionData m_BufferedRegionData {}
 
QualifiedInternalPixelTypem_ImageBufferPointer { nullptr }
 
NeighborhoodAccessorFunctorType m_NeighborhoodAccessor {}
 
std::vcl_size_t m_NumberOfNeighborhoodPixels { 0 }
 
OffsetType m_OffsetTable {{}}
 
OptionalPixelAccessParameterType m_OptionalPixelAccessParameter {}
 
IndexType m_RelativeLocation {{}}
 
const OffsetTypem_ShapeOffsets { nullptr }
 

Static Private Attributes

static constexpr ImageDimensionType ImageDimension = TImage::ImageDimension
 
static constexpr bool IsImageTypeConst = std::is_const<TImage>::value
 

Member Typedef Documentation

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::const_iterator = QualifiedIterator<true>

Definition at line 639 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 642 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageDimensionType = typename TImage::ImageDimensionType
private

Definition at line 139 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageRegionType = typename TImage::RegionType
private

Definition at line 142 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageSizeType = typename TImage::SizeType
private

Definition at line 140 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageSizeValueType = typename TImage::SizeValueType
private

Definition at line 141 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageType = TImage
private

Definition at line 138 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::IndexType = typename TImage::IndexType
private

Definition at line 147 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::IndexValueType = typename TImage::IndexValueType
private

Definition at line 148 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::InternalPixelType = typename TImage::InternalPixelType
private

Definition at line 144 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::iterator = QualifiedIterator<false>

Definition at line 640 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::NeighborhoodAccessorFunctorType = typename TImage::NeighborhoodAccessorFunctorType
private

Definition at line 145 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::OffsetType = Offset<ImageDimension>
private

Definition at line 149 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::OptionalPixelAccessParameterType = typename OptionalPixelAccessParameter<TImageNeighborhoodPixelAccessPolicy>::Type
private

Definition at line 151 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::PixelType = typename TImage::PixelType
private

Definition at line 143 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedInternalPixelType = typename std::conditional<IsImageTypeConst, const InternalPixelType, InternalPixelType>::type
private

Definition at line 584 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
using itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 641 of file itkShapedImageNeighborhoodRange.h.

Constructor & Destructor Documentation

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ShapedImageNeighborhoodRange ( )
default

Explicitly-defaulted default-constructor. Constructs an empty range.

Note
The other five "special member functions" (copy-constructor, copy-assignment operator, move-constructor, move-assignment operator, and destructor) are defaulted implicitly, following the C++ "Rule of Zero".
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ShapedImageNeighborhoodRange ( ImageType image,
const IndexType location,
const OffsetType *const  shapeOffsets,
const std::vcl_size_t  numberOfNeigborhoodPixels,
const OptionalPixelAccessParameterType  optionalPixelAccessParameter = {} 
)
inline

Specifies a range for the neighborhood of a pixel at the specified location. The shape of the neighborhood is specified by a pointer to a contiguous sequence of offsets, relative to the location index.

Note
The caller (the client code) should ensure that both the specified image and the specified shape offsets remain alive while the range (or one of its iterators) is being used.

Definition at line 658 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
template<typename TContainerOfOffsets >
itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ShapedImageNeighborhoodRange ( ImageType image,
const IndexType location,
const TContainerOfOffsets &  shapeOffsets,
const OptionalPixelAccessParameterType  optionalPixelAccessParameter = {} 
)
inline

Specifies a range for the neighborhood of a pixel at the specified location. The shape of the neighborhood is specified by a container of offsets, relative to the location index. This container of offsets must be a contiguous container, for example std::vector<OffsetType> or std::array<OffsetType>.

Note
The caller (the client code) should ensure that both the specified image and the specified shape offsets remain alive while the range (or one of its iterators) is being used.

Definition at line 696 of file itkShapedImageNeighborhoodRange.h.

Member Function Documentation

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::begin ( ) const
inlinenoexcept

Returns an iterator to the first neighborhood pixel.

Definition at line 715 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_BufferedRegionData, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_ImageBufferPointer, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_NeighborhoodAccessor, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_OffsetTable, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_OptionalPixelAccessParameter, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_RelativeLocation, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_ShapeOffsets, and itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::RegionData::m_Size.

Referenced by itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::cbegin(), itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::operator[](), and itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rend().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
const_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::cbegin ( ) const
inlinenoexcept

Returns a const iterator to the first neighborhood pixel. Provides only read-only access to the pixel data.

Definition at line 746 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::begin().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
const_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::cend ( ) const
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
const_reverse_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::crbegin ( ) const
inlinenoexcept

Returns a const reverse 'begin iterator' for this range.

Definition at line 770 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rbegin().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
const_reverse_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::crend ( ) const
inlinenoexcept

Returns a const reverse 'end iterator' for this range.

Definition at line 776 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rend().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
bool itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::empty ( ) const
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::end ( ) const
inlinenoexcept

Returns an 'end iterator' for this range.

Definition at line 730 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_BufferedRegionData, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_ImageBufferPointer, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_NeighborhoodAccessor, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_NumberOfNeighborhoodPixels, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_OffsetTable, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_OptionalPixelAccessParameter, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::QualifiedIterator< VIsConst >::m_RelativeLocation, itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_ShapeOffsets, and itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::RegionData::m_Size.

Referenced by itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::cend(), and itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rbegin().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
QualifiedIterator<false>::reference itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::operator[] ( const std::vcl_size_t  n) const
inlinenoexcept

Subscript operator. Allows random access, to the nth neighbor pixel.

Note
The return type QualifiedIterator<false>::reference is equivalent to iterator::reference. The return value is a proxy object that behaves like a reference to the pixel.

Definition at line 801 of file itkShapedImageNeighborhoodRange.h.

References itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::begin(), and itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::size().

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
reverse_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rbegin ( ) const
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
reverse_iterator itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::rend ( ) const
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
void itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::SetLocation ( const IndexType location)
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
std::vcl_size_t itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::size ( ) const
inlinenoexcept
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
void itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::SubtractIndex ( IndexType index1,
const IndexType index2 
)
inlineprivate

Member Data Documentation

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
constexpr ImageDimensionType itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::ImageDimension = TImage::ImageDimension
staticprivate
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
constexpr bool itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::IsImageTypeConst = std::is_const<TImage>::value
staticprivate

Definition at line 582 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
RegionData itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_BufferedRegionData {}
private
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
QualifiedInternalPixelType* itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_ImageBufferPointer { nullptr }
private
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
NeighborhoodAccessorFunctorType itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_NeighborhoodAccessor {}
private

Definition at line 623 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
std::vcl_size_t itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_NumberOfNeighborhoodPixels { 0 }
private
template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
OffsetType itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_OffsetTable {{}}
private

Definition at line 621 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
OptionalPixelAccessParameterType itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_OptionalPixelAccessParameter {}
private

Definition at line 636 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
IndexType itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_RelativeLocation {{}}
private

Definition at line 628 of file itkShapedImageNeighborhoodRange.h.

template<typename TImage , typename TImageNeighborhoodPixelAccessPolicy = ZeroFluxNeumannImageNeighborhoodPixelAccessPolicy<TImage>>
const OffsetType* itk::Experimental::ShapedImageNeighborhoodRange< TImage, TImageNeighborhoodPixelAccessPolicy >::m_ShapeOffsets { nullptr }
private

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