18#ifndef itkImageSpatialObject_h
19#define itkImageSpatialObject_h
39template <
unsigned int TDimension = 3,
typename TPixelType =
unsigned char>
61 static constexpr unsigned int ObjectDimension = TDimension;
87 using Superclass::IsInsideInObjectSpace;
98 unsigned int depth = 0,
99 const std::string & name =
"")
const override;
116 return m_SliceNumber[dimension];
120#if !defined(ITK_LEGACY_REMOVE)
121 itkLegacyMacro(
const char * GetPixelTypeName())
123 return m_PixelType.c_str();
156#if !defined(ITK_LEGACY_REMOVE)
157 std::string m_PixelType{};
166#if !defined(ITK_LEGACY_REMOVE)
167 template <
typename T>
169 SetPixelTypeName(
const T *)
171 itkWarningMacro(
"itk::ImageSpatialObject() : PixelType not recognized");
175 SetPixelTypeName(
const short *)
177 m_PixelType =
"short";
181 SetPixelTypeName(
const unsigned char *)
183 m_PixelType =
"unsigned char";
187 SetPixelTypeName(
const unsigned short *)
189 m_PixelType =
"unsigned short";
193 SetPixelTypeName(
const float *)
195 m_PixelType =
"float";
199 SetPixelTypeName(
const double *)
201 m_PixelType =
"double";
207#ifndef ITK_MANUAL_INSTANTIATION
208# include "itkImageSpatialObject.hxx"
A templated class holding a point in n-Dimensional image space.
Base class for all data objects in ITK.
Implementation of an image as spatial object.
~ImageSpatialObject() override
void SetInterpolator(InterpolatorType *interpolator)
const ImageType * GetImage() const
ModifiedTimeType GetMTime() const override
void SetImage(const ImageType *image)
LightObject::Pointer InternalClone() const override
bool IsInsideInObjectSpace(const PointType &point) const override
typename ImageType::ConstPointer ImagePointer
typename ImageType::IndexType IndexType
bool ValueAtInObjectSpace(const PointType &point, double &value, unsigned int depth=0, const std::string &name="") const override
void SetSliceNumber(unsigned int dimension, int position)
int GetSliceNumber(unsigned int dimension)
void UpdateImageRegions()
void ComputeMyBoundingBox() override
void PrintSelf(std::ostream &os, Indent indent) const override
Templated n-dimensional image class.
Control indentation during Print() invocation.
Base class for all image interpolators.
Nearest neighbor interpolation of a scalar image.
Base class for most ITK classes.
A templated class holding a geometric point in n-Dimensional space.
Implementation of the composite pattern.
SmartPointer< const Self > ConstPointer
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents
SizeValueType ModifiedTimeType