18#ifndef itkVectorImage_h
19#define itkVectorImage_h
80template <
typename TPixel,
unsigned int VImageDimension = 3>
186 template <
typename UPixelType,
unsigned int VUImageDimension = VImageDimension>
193 template <
typename UElementType,
unsigned int VUImageDimension>
200 template <
typename UPixelType,
unsigned int VUImageDimension = VImageDimension>
206 Allocate(
bool UseValueInitialization =
false)
override;
230 (*m_Buffer)[offset + i] = value[i];
300 const InternalPixelType *
315 const PixelContainer *
354 NeighborhoodAccessorFunctorType
361 const NeighborhoodAccessorFunctorType
398#ifndef ITK_MANUAL_INSTANTIATION
399# include "itkVectorImage.hxx"
Base class for all data objects in ITK.
This class provides a common API for pixel accessors for Image and VectorImage. (between the DefaultV...
Give access to partial aspects of a type.
Vector< SpacingValueType, VImageDimension > SpacingType
ImageRegion< VImageDimension > RegionType
Index< VImageDimension > IndexType
Offset< VImageDimension > OffsetType
OffsetValueType FastComputeOffset(const IndexType &ind) const
typename OffsetType::OffsetValueType OffsetValueType
typename IndexType::IndexValueType IndexValueType
virtual void Graft(const Self *image)
Matrix< SpacePrecisionType, VImageDimension, VImageDimension > DirectionType
Size< VImageDimension > SizeType
Point< PointValueType, VImageDimension > PointType
Defines an itk::Image front-end to a standard C-array.
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
Control indentation during Print() invocation.
Implements transparent reference counting.
Provides accessor interfaces to Access pixels and is meant to be used on pointers to pixels held by t...
Templated n-dimensional vector image class.
void Initialize() override
typename PixelContainer::ConstPointer PixelContainerConstPointer
DefaultVectorPixelAccessorFunctor< Self > AccessorFunctorType
const AccessorType GetPixelAccessor() const
SmartPointer< Self > Pointer
typename Rebind< UPixelType, VUImageDimension >::Type RebindImageType
const PixelType operator[](const IndexType &index) const
Access a pixel.
unsigned int VectorLengthType
InternalPixelType IOPixelType
const NeighborhoodAccessorFunctorType GetNeighborhoodAccessor() const
void SetPixelContainer(PixelContainer *container)
virtual void Graft(const Self *image)
void Graft(const DataObject *data) override
void FillBuffer(const PixelType &value)
const InternalPixelType * GetBufferPointer() const
PixelContainer * GetPixelContainer()
DefaultVectorPixelAccessor< InternalPixelType > AccessorType
VectorImageNeighborhoodAccessorFunctor< Self > NeighborhoodAccessorFunctorType
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor()
PixelContainerPointer m_Buffer
void SetNumberOfComponentsPerPixel(unsigned int n) override
VectorLengthType m_VectorLength
static constexpr unsigned int ImageDimension
unsigned int GetNumberOfComponentsPerPixel() const override
PixelType GetPixel(const IndexType &index)
Get a "reference" to a pixel. This result cannot be used as an lvalue because the pixel is converted ...
~VectorImage() override=default
SmartPointer< const Self > ConstPointer
void Allocate(bool UseValueInitialization=false) override
typename PixelContainer::Pointer PixelContainerPointer
ImportImageContainer< SizeValueType, InternalPixelType > PixelContainer
const PixelType GetPixel(const IndexType &index) const
Get a pixel (read only version).
void SetPixel(const IndexType &index, const PixelType &value)
Set a pixel value.
AccessorType GetPixelAccessor()
VariableLengthVector< TPixel > PixelType
PixelType operator[](const IndexType &index)
Access a pixel. This result cannot be used as an lvalue because the pixel is converted on the fly to ...
const PixelContainer * GetPixelContainer() const
WeakPointer< const Self > ConstWeakPointer
void PrintSelf(std::ostream &os, Indent indent) const override
typename OffsetType::OffsetValueType OffsetValueType
ImageBase< VImageDimension > Superclass
InternalPixelType * GetBufferPointer()
Index< VImageDimension > IndexType
Implements a weak reference to an object.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
A structure which enable changing any image class' pixel type to another.
itk::VectorImage< UPixelType, VUImageDimension > Type