50#if !defined(ITK_LEGACY_REMOVE)
53 static constexpr OctreeEnum UNKNOWN_PLANE = OctreeEnum::UNKNOWN_PLANE;
54 static constexpr OctreeEnum SAGITAL_PLANE = OctreeEnum::SAGITAL_PLANE;
55 static constexpr OctreeEnum CORONAL_PLANE = OctreeEnum::CORONAL_PLANE;
56 static constexpr OctreeEnum TRANSVERSE_PLANE = OctreeEnum::TRANSVERSE_PLANE;
96 const unsigned int xsize,
97 const unsigned int ysize,
98 const unsigned int zsize) = 0;
126template <
typename TPixel,
unsigned int ColorTableSize,
typename MappingFunctionType>
130 ITK_DISALLOW_COPY_AND_MOVE(
Octree);
150 const unsigned int xsize,
151 const unsigned int ysize,
152 const unsigned int zsize)
override;
161 m_Tree.SetColor(color);
166 m_Tree.SetBranch(branch);
169 SetTrueDims(
const unsigned int Dim0,
const unsigned int Dim1,
const unsigned int Dim2);
172 GetValue(
const unsigned int Dim0,
const unsigned int Dim1,
const unsigned int Dim2);
189#if !defined(ITK_LEGACY_REMOVE)
190 static constexpr OctreeEnum UNKNOWN_PLANE = OctreeEnum::UNKNOWN_PLANE;
191 static constexpr OctreeEnum SAGITAL_PLANE = OctreeEnum::SAGITAL_PLANE;
192 static constexpr OctreeEnum CORONAL_PLANE = OctreeEnum::CORONAL_PLANE;
193 static constexpr OctreeEnum TRANSVERSE_PLANE = OctreeEnum::TRANSVERSE_PLANE;
220 unsigned int m_Width{ 0 };
222 unsigned int m_Depth{ 0 };
223 unsigned int m_TrueDims[3]{};
226 MappingFunctionType m_MappingFunction{};
230#ifndef ITK_MANUAL_INSTANTIATION
231# include "itkOctree.hxx"
Templated n-dimensional image class.
Light weight base class for most itk classes.
Base class for most ITK classes.
Provides non-templated access to templated instances of Octree.
virtual void SetWidth(unsigned int width)=0
virtual int GetColorTableSize() const =0
virtual OctreeNode * GetTree()=0
virtual unsigned int GetWidth()=0
virtual const OctreeNodeBranch * GetColorTable() const =0
virtual void SetDepth(unsigned int depth)=0
virtual unsigned int GetDepth()=0
virtual void BuildFromBuffer(const void *buffer, const unsigned int xsize, const unsigned int ysize, const unsigned int zsize)=0
A data structure representing a node in an Octree.
Represent a 3D Image with an Octree data structure.
void BuildFromImage(Image< TPixel, 3 > *fromImage)
int GetValue(const unsigned int Dim0, const unsigned int Dim1, const unsigned int Dim2)
const OctreeNodeBranch * GetColorTable() const override
void SetWidth(unsigned int width) override
typename ImageType::Pointer ImageTypePointer
OctreeNodeBranch * maskToOctree(const TPixel *Mask, unsigned int width, unsigned int x, unsigned int y, unsigned int z, unsigned int xsize, unsigned int ysize, unsigned int zsize)
int GetColorTableSize() const override
OctreeNode * GetTree() override
unsigned int GetDepth() override
ImageTypePointer GetImage()
void SetDepth(unsigned int depth) override
unsigned int GetWidth() override
void SetTree(OctreeNodeBranch *branch)
void SetTrueDims(const unsigned int Dim0, const unsigned int Dim1, const unsigned int Dim2)
void BuildFromBuffer(const void *frombuffer, const unsigned int xsize, const unsigned int ysize, const unsigned int zsize) override
void SetColor(unsigned int color)
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT OctreeBase