ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkNeighborhood.h>
A light-weight container object for storing an N-dimensional neighborhood of values.
This class serves as the base class for several other Itk objects such as itk::NeighborhoodOperator and itk::NeighborhoodIterator. Its purpose is to store values and their relative spatial locations.
A Neighborhood has an N-dimensional radius. The radius is defined separately for each dimension as the number of pixels that the neighborhood extends outward from the center pixel. For example, a 2D Neighborhood object with a radius of 2x3 has sides of length 5x7. Neighborhood objects always have an unambiguous center because their side lengths are always odd.
Definition at line 55 of file itkNeighborhood.h.
Public Types | |
using | AllocatorType = TAllocator |
using | ConstIterator = typename AllocatorType::const_iterator |
using | DimensionValueType = unsigned int |
using | Iterator = typename AllocatorType::iterator |
using | NeighborIndexType = SizeValueType |
using | OffsetType = Offset< VDimension > |
using | PixelType = TPixel |
using | RadiusType = ::itk::Size< VDimension > |
using | Self = Neighborhood |
using | SizeType = ::itk::Size< VDimension > |
using | SizeValueType = typename SizeType::SizeValueType |
using | SliceIteratorType = SliceIterator< TPixel, Self > |
Static Public Attributes | |
static constexpr unsigned int | NeighborhoodDimension = VDimension |
Protected Member Functions | |
virtual void | Allocate (NeighborIndexType i) |
virtual void | ComputeNeighborhoodOffsetTable () |
virtual void | ComputeNeighborhoodStrideTable () |
virtual void | PrintSelf (std::ostream &, Indent) const |
void | SetSize () |
Private Attributes | |
AllocatorType | m_DataBuffer |
std::vector< OffsetType > | m_OffsetTable |
SizeType | m_Radius |
SizeType | m_Size |
OffsetValueType | m_StrideTable [VDimension] |
using itk::Neighborhood< TPixel, VDimension, TAllocator >::AllocatorType = TAllocator |
External support for allocator type.
Definition at line 62 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator = typename AllocatorType::const_iterator |
Definition at line 77 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::DimensionValueType = unsigned int |
Type used to refer to space dimensions
Definition at line 93 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator = typename AllocatorType::iterator |
Iterator type alias support Note the naming is intentional, i.e., AllocatorType::iterator and AllocatorType::const_iterator, because the allocator may be a vnl object or other type, which uses this form.
Definition at line 76 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::NeighborIndexType = SizeValueType |
Type used to refer to the elements of the pixel list that are part of the neighborhood.
Definition at line 97 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::OffsetType = Offset< VDimension > |
Offset type used to reference neighbor locations
Definition at line 87 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::PixelType = TPixel |
External support for pixel type.
Definition at line 71 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::RadiusType = ::itk::Size<VDimension> |
Radius type alias support
Definition at line 84 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::Self = Neighborhood |
Standard class type aliases.
Definition at line 59 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType = ::itk::Size<VDimension> |
Size and value type alias support
Definition at line 80 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeValueType = typename SizeType::SizeValueType |
Definition at line 81 of file itkNeighborhood.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::SliceIteratorType = SliceIterator< TPixel, Self > |
External slice iterator type type alias support
Definition at line 90 of file itkNeighborhood.h.
|
inline |
Default constructor.
Definition at line 100 of file itkNeighborhood.h.
|
virtualdefault |
Default destructor.
itk::Neighborhood< TPixel, VDimension, TAllocator >::Neighborhood | ( | const Self & | other | ) |
Copy constructor.
|
default |
Move-constructor.
|
inlineprotectedvirtual |
Allocates the neighborhood's memory buffer.
Definition at line 260 of file itkNeighborhood.h.
|
inline |
STL-style iterator support.
Definition at line 170 of file itkNeighborhood.h.
|
inline |
STL-style iterator support.
Definition at line 174 of file itkNeighborhood.h.
|
protectedvirtual |
Fills entries into the offset lookup table. Called once on initialization.
|
protectedvirtual |
Computes the entries for the stride table
|
inline |
STL-style iterator support.
Definition at line 168 of file itkNeighborhood.h.
|
inline |
STL-style iterator support.
Definition at line 172 of file itkNeighborhood.h.
|
inline |
Returns a reference to the data buffer structure.
Definition at line 221 of file itkNeighborhood.h.
|
inline |
Returns a reference to the data buffer structure.
Definition at line 223 of file itkNeighborhood.h.
|
inline |
Definition at line 241 of file itkNeighborhood.h.
|
inline |
Returns the element at the center of the neighborhood.
Definition at line 192 of file itkNeighborhood.h.
|
inline |
Pass-through data access methods to the buffer.
Definition at line 187 of file itkNeighborhood.h.
|
virtual |
|
inline |
Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index.
Definition at line 236 of file itkNeighborhood.h.
|
inline |
Returns the radius of the neighborhood.
Definition at line 144 of file itkNeighborhood.h.
|
inline |
Returns the radius of the neighborhood along a specified dimension.
Definition at line 149 of file itkNeighborhood.h.
|
inline |
Returns the size (total length) of the neighborhood along a specified dimension.
Definition at line 154 of file itkNeighborhood.h.
|
inline |
Returns the size (total length of sides) of the neighborhood.
Definition at line 158 of file itkNeighborhood.h.
std::slice itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSlice | ( | unsigned | int | ) | const |
|
inline |
Returns the stride length for the specified dimension. Stride length is the number of pixels between adjacent pixels along the given dimension.
Definition at line 164 of file itkNeighborhood.h.
Referenced by itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize().
itk::Neighborhood< TPixel, VDimension, TAllocator >::itkTypeMacroNoParent | ( | Neighborhood< TPixel, VDimension, TAllocator > | ) |
Run-time type information (and related methods).
|
inline |
Not Equal operator.
Definition at line 136 of file itkNeighborhood.h.
Self& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator= | ( | const Self & | other | ) |
Assignment operator.
|
default |
Move-assignment.
|
inline |
Comparison operator.
Definition at line 128 of file itkNeighborhood.h.
|
inline |
Pass-through data access methods to the buffer.
Definition at line 183 of file itkNeighborhood.h.
|
inline |
Pass-through data access methods to the buffer.
Definition at line 185 of file itkNeighborhood.h.
|
inline |
Get pixel value by offset
Definition at line 228 of file itkNeighborhood.h.
|
inline |
Get pixel value by offset
Definition at line 230 of file itkNeighborhood.h.
|
inline |
Standard itk object method.
Definition at line 217 of file itkNeighborhood.h.
|
protectedvirtual |
Standard itk object method.
Reimplemented in itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstShapedNeighborhoodIterator< ImageType, ZeroFluxNeumannBoundaryCondition< ImageType > >, itk::NeighborhoodIterator< TImage, TBoundaryCondition >, itk::NeighborhoodIterator< ImageType, ZeroFluxNeumannBoundaryCondition< ImageType > >, itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ShapedNeighborhoodIterator< ImageType >, itk::FlatStructuringElement< VDimension >, itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< ScalarType, NDimensions >, itk::GaussianOperator< ScalarType, Superclass::Dimension >, itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::SobelOperator< FixedGradientPixelType, itk::GradientDifferenceImageToImageMetric::FixedImageDimension >, itk::SobelOperator< MovedGradientPixelType, itk::GradientDifferenceImageToImageMetric::MovedImageDimension >, itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >, itk::NeighborhoodOperator< MovedGradientPixelType, VDimension, NeighborhoodAllocator< MovedGradientPixelType > >, itk::NeighborhoodOperator< ScalarValueType, VDimension, NeighborhoodAllocator< ScalarValueType > >, itk::NeighborhoodOperator< PixelType, VDimension, NeighborhoodAllocator< PixelType > >, itk::NeighborhoodOperator< FixedGradientPixelType, VDimension, NeighborhoodAllocator< FixedGradientPixelType > >, itk::NeighborhoodOperator< OutputImagePixelType, VDimension, NeighborhoodAllocator< OutputImagePixelType > >, itk::NeighborhoodOperator< ScalarType, VDimension, NeighborhoodAllocator< ScalarType > >, itk::NeighborhoodOperator< TPixel, TDimension, TAllocator >, itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >, itk::ConstNeighborhoodIterator< TInputImage >, itk::ConstNeighborhoodIterator< TInput >, itk::ConstNeighborhoodIterator< TImage >, itk::ConstNeighborhoodIterator< FixedImageType >, itk::ConstNeighborhoodIterator< TImageType >, itk::ConstNeighborhoodIterator< TDisplacementField >, itk::ConstNeighborhoodIterator< ImageType, ZeroFluxNeumannBoundaryCondition< ImageType > >, itk::ConstNeighborhoodIterator< TSparseImageType >, itk::HigherOrderAccurateDerivativeOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::ConstNeighborhoodIteratorWithOnlyIndex< TImage >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< OutputImagePixelType, itk::CannyEdgeDetectionImageFilter::ImageDimension >, itk::DerivativeOperator< PixelType, itk::GPUGradientNDAnisotropicDiffusionFunction::ImageDimension >, itk::DerivativeOperator< ScalarValueType, itk::VectorCurvatureNDAnisotropicDiffusionFunction::ImageDimension >, itk::DerivativeOperator< PixelType, itk::CurvatureNDAnisotropicDiffusionFunction::ImageDimension >, itk::DerivativeOperator< ScalarValueType, itk::VectorGradientNDAnisotropicDiffusionFunction::ImageDimension >, itk::DerivativeOperator< PixelType, itk::GradientNDAnisotropicDiffusionFunction::ImageDimension >, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::ImageKernelOperator< TPixel, VDimension, TAllocator >.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius | ( | const SizeType & | ) |
Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.
Referenced by itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize().
|
inline |
Sets the radius for the neighborhood. Overloaded to support an unsigned long array.
Definition at line 201 of file itkNeighborhood.h.
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius | ( | const SizeValueType | ) |
Overloads SetRadius to allow a single long integer argument that is used as the radius of all the dimensions of the Neighborhood (resulting in a "square" neighborhood).
|
inlineprotected |
Sets the length along each dimension.
Definition at line 250 of file itkNeighborhood.h.
|
inline |
More STL-style support.
Definition at line 179 of file itkNeighborhood.h.
Referenced by itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize(), and itk::VectorNeighborhoodInnerProduct< ImageType >::operator()().
|
private |
The buffer in which data is stored.
Definition at line 283 of file itkNeighborhood.h.
Referenced by itk::Neighborhood< char, TImage::ImageDimension >::operator!=(), and itk::Neighborhood< char, TImage::ImageDimension >::operator==().
|
private |
Definition at line 290 of file itkNeighborhood.h.
|
private |
Number of neighbors to include (symmetrically) along each axis. A neighborhood will always have odd-length axes (m_Radius[n]*2+1).
Definition at line 276 of file itkNeighborhood.h.
Referenced by itk::Neighborhood< char, TImage::ImageDimension >::operator!=(), and itk::Neighborhood< char, TImage::ImageDimension >::operator==().
|
private |
Actual length of each dimension, calculated from m_Radius. A neighborhood will always have odd-length axes (m_Radius[n]*2+1).
Definition at line 280 of file itkNeighborhood.h.
Referenced by itk::Neighborhood< char, TImage::ImageDimension >::operator!=(), and itk::Neighborhood< char, TImage::ImageDimension >::operator==().
|
private |
A lookup table for keeping track of stride lengths in a neighborhood i.e. the memory offsets between pixels along each dimensional axis
Definition at line 287 of file itkNeighborhood.h.
|
static |
External support for dimensionality.
Definition at line 65 of file itkNeighborhood.h.