18 #ifndef __itkVectorImage_h
19 #define __itkVectorImage_h
81 template<
class TPixel,
unsigned int VImageDimension = 3 >
132 itkStaticConstMacro(ImageDimension,
unsigned int, VImageDimension);
186 template <
typename UPixelType,
unsigned int UImageDimension = VImageDimension>
193 template <
typename UElementType,
unsigned int UImageDimension>
207 virtual void Initialize();
211 void FillBuffer(
const PixelType & value);
224 ( *m_Buffer )[offset + i] = value[i];
236 PixelType p(&( ( *m_Buffer )[offset] ), m_VectorLength);
248 PixelType p(&( ( *m_Buffer )[offset] ), m_VectorLength);
271 return m_Buffer ? m_Buffer->GetBufferPointer() : 0;
275 return m_Buffer ? m_Buffer->GetBufferPointer() : 0;
287 void SetPixelContainer(PixelContainer *container);
320 itkSetMacro(VectorLength, VectorLengthType);
321 itkGetConstReferenceMacro(VectorLength, VectorLengthType);
325 virtual unsigned int GetNumberOfComponentsPerPixel()
const;
327 virtual void SetNumberOfComponentsPerPixel(
unsigned int n);
331 void PrintSelf(std::ostream & os,
Indent indent)
const;
336 void operator=(
const Self &);
347 #define ITK_TEMPLATE_VectorImage(_, EXPORT, TypeX, TypeY) \
350 _( 2 ( class EXPORT VectorImage< ITK_TEMPLATE_2 TypeX > ) ) \
351 namespace Templates \
353 typedef VectorImage< ITK_TEMPLATE_2 TypeX > VectorImage##TypeY; \
357 #if ITK_TEMPLATE_EXPLICIT
358 #include "Templates/itkVectorImage+-.h"
362 #include "itkVectorImage.hxx"