ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
itk::Octree< TPixel, ColorTableSize, MappingFunctionType > Class Template Reference

#include <itkOctree.h>

+ Inheritance diagram for itk::Octree< TPixel, ColorTableSize, MappingFunctionType >:
+ Collaboration diagram for itk::Octree< TPixel, ColorTableSize, MappingFunctionType >:

Detailed Description

template<typename TPixel, unsigned int ColorTableSize, typename MappingFunctionType>
class itk::Octree< TPixel, ColorTableSize, MappingFunctionType >

Represent a 3D Image with an Octree data structure.

Parameterized on Pixel type of the image, number of colors in color table, and a Mapping function, derived from itk::FunctionBase

Definition at line 120 of file itkOctree.h.

Public Types

typedef Image< TPixel, 3 > ImageType
 
typedef ImageType::Pointer ImageTypePointer
 
typedef SmartPointer< SelfPointer
 
typedef Octree Self
 
typedef OctreeBase Superclass
 
- Public Types inherited from itk::OctreeBase
typedef SmartPointer< SelfPointer
 
typedef OctreeBase Self
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual void BuildFromBuffer (const void *buffer, const unsigned int xsize, const unsigned int ysize, const unsigned int zsize) override
 
void BuildFromImage (Image< TPixel, 3 > *fromImage)
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetColorTable () const override
 
virtual int GetColorTableSize () const override
 
virtual unsigned int GetDepth () override
 
ImageTypePointer GetImage ()
 
virtual const char * GetNameOfClass () const
 
virtual OctreeNodeGetTree () override
 
int GetValue (const unsigned int Dim0, const unsigned int Dim1, const unsigned int Dim2)
 
virtual unsigned int GetWidth () override
 
 Octree ()
 
void SetColor (unsigned int color)
 
virtual void SetDepth (unsigned int depth) override
 
void SetTree (OctreeNodeBranch *branch)
 
void SetTrueDims (const unsigned int Dim0, const unsigned int Dim1, const unsigned int Dim2)
 
virtual void SetWidth (unsigned int width) override
 
 ~Octree ()
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Private Member Functions

OctreeNodeBranchmaskToOctree (const TPixel *Mask, unsigned width, unsigned x, unsigned y, unsigned z, unsigned xsize, unsigned ysize, unsigned zsize)
 
 Octree (const Self &)
 
void operator= (const Self &)
 

Private Attributes

char m_ColorTable [ColorTableSize]
 
unsigned int m_Depth
 
MappingFunctionType m_MappingFunction
 
enum OctreePlaneType m_Plane
 
OctreeNode m_Tree
 
unsigned int m_TrueDims [3]
 
unsigned int m_Width
 

Additional Inherited Members

- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Member Typedef Documentation

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
typedef Image< TPixel, 3 > itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::ImageType

Definition at line 128 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
typedef ImageType::Pointer itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::ImageTypePointer

Definition at line 129 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
typedef SmartPointer< Self > itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::Pointer

Definition at line 127 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
typedef Octree itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::Self

Standard class typedefs.

Definition at line 125 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
typedef OctreeBase itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::Superclass

Definition at line 126 of file itkOctree.h.

Constructor & Destructor Documentation

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::Octree ( )
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::~Octree ( )
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::Octree ( const Self )
private

Member Function Documentation

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::BuildFromBuffer ( const void *  buffer,
const unsigned int  xsize,
const unsigned int  ysize,
const unsigned int  zsize 
)
overridevirtual

Build an Octree from an Image's pixel buffer.

Method needed for ImageIO class, which has no handle on image, just the pixel buffer.

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::BuildFromImage ( Image< TPixel, 3 > *  fromImage)
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual::itk::LightObject::Pointer itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual const char* itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetColorTable ( ) const
overridevirtual

Get the ColorTable Pointer

Returns color table pointer for this tree.

Each Octree has an array of char whose size = the number of color table entries. Each Node in the Octree points either to 8 sub-nodes, or into the ColorTable; The color table isn't actually used to hold data; it simply provides a range of unique addresses that are distinct from the address of any valid subtree.

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetColorTableSize ( ) const
overridevirtual

Get the size of the Color Table

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual unsigned int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetDepth ( )
overridevirtual

Get tree depth.

Depth represents x, for the smallest 2^x >= largest image dimension

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
ImageTypePointer itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetImage ( )
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual const char* itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::Object.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual OctreeNode* itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetTree ( )
overridevirtual

Get the actual tree base

Returns the tree, or 0 if the Octree isn't built yet

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetValue ( const unsigned int  Dim0,
const unsigned int  Dim1,
const unsigned int  Dim2 
)
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual unsigned int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::GetWidth ( )
overridevirtual

Get tree width.

Width == smallest 2^x >= largest image dimension i.e. 2^Depth == Width

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
OctreeNodeBranch* itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::maskToOctree ( const TPixel *  Mask,
unsigned  width,
unsigned  x,
unsigned  y,
unsigned  z,
unsigned  xsize,
unsigned  ysize,
unsigned  zsize 
)
private
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
static Pointer itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::New ( )
static

Method for creation through the object factory.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::operator= ( const Self )
private
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetColor ( unsigned int  color)
inline
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetDepth ( unsigned int  depth)
overridevirtual

Set the depth, e.g. when reading tree from a file.

Implements itk::OctreeBase.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetTree ( OctreeNodeBranch branch)
inline
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetTrueDims ( const unsigned int  Dim0,
const unsigned int  Dim1,
const unsigned int  Dim2 
)
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
virtual void itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetWidth ( unsigned int  width)
overridevirtual

Set width, e.g. when reading from a file.

Implements itk::OctreeBase.

Member Data Documentation

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
char itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_ColorTable[ColorTableSize]
private

Definition at line 181 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
unsigned int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_Depth
private

Definition at line 179 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
MappingFunctionType itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_MappingFunction
private

Definition at line 184 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
enum OctreePlaneType itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_Plane
private

Definition at line 175 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
OctreeNode itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_Tree
private
template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
unsigned int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_TrueDims[3]
private

Definition at line 180 of file itkOctree.h.

template<typename TPixel , unsigned int ColorTableSize, typename MappingFunctionType >
unsigned int itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::m_Width
private

Definition at line 176 of file itkOctree.h.


The documentation for this class was generated from the following file: