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()) {
return m_PixelType.c_str(); }
153#if !defined(ITK_LEGACY_REMOVE)
154 std::string m_PixelType{};
163#if !defined(ITK_LEGACY_REMOVE)
164 template <
typename T>
166 SetPixelTypeName(
const T *)
168 itkWarningMacro(
"itk::ImageSpatialObject() : PixelType not recognized");
172 SetPixelTypeName(
const short *)
174 m_PixelType =
"short";
178 SetPixelTypeName(
const unsigned char *)
180 m_PixelType =
"unsigned char";
184 SetPixelTypeName(
const unsigned short *)
186 m_PixelType =
"unsigned short";
190 SetPixelTypeName(
const float *)
192 m_PixelType =
"float";
196 SetPixelTypeName(
const double *)
198 m_PixelType =
"double";
204#ifndef ITK_MANUAL_INSTANTIATION
205# 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