Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::BloxImage< TBloxPixelType, TImageDimension > Class Template Reference
[Image Representation Objects]

#include <itkBloxImage.h>

Inheritance diagram for itk::BloxImage< TBloxPixelType, TImageDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::BloxImage< TBloxPixelType, TImageDimension >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
class itk::BloxImage< TBloxPixelType, TImageDimension >

Templated n-dimensional image class used to store linked lists.

The itk::BloxImage object is a regular, rectilinear lattice of "blocks" in n-dimensional space. The word "blox" was chosen to bring to mind a set of "city blocks" in 2D or "building blocks" in 3D. Being a regular lattice, itkBloxImage logically derives from itkImage. In an itkBloxImage, each pixel represents an isometric space-filling block of geometric space, called an itkBloxPixel. Each itk::BloxPixel generally covers many pixels in the underlying image and is used to store a variable number of image primitives (such as boundary points) or features (such as medial nodes) gathered within that region of geometric space. To do this, each itkBloxPixel contains a linked list.

The itk::BloxImage object facilitates certain forms of analysis by providing geometric hashing. For example, if boundary points are stored in an itk::BloxImage, pairs of boundary points that face each other (called "core atoms") can be found by searching relatively small regions of geometric space that face each boundary point for appropriate mates. Because an itk::BloxImage is rectilinear in geometric space (even though the underlying image may not be) subsequent analysis can be invariant to rotation and translation.

itk::BloxImage is templated over pixel type; in general, the pixel type should be derived from itk::BloxPixel, however this is not enforced and other implementations are possible.

Note that itk::BloxPixel is itself templated over item type (the type of object stored in the linked list).

Definition at line 61 of file itkBloxImage.h.

Public Types

typedef DefaultPixelAccessorFunctor<
Self
AccessorFunctorType
typedef DefaultPixelAccessor<
PixelType
AccessorType
typedef SmartPointer< const
Self
ConstPointer
typedef WeakPointer< const
Self
ConstWeakPointer
typedef Superclass::DirectionType DirectionType
typedef Superclass::IndexType IndexType
typedef TBloxPixelType InternalPixelType
typedef Superclass::IOPixelType IOPixelType
typedef NeighborhoodAccessorFunctor<
Self
NeighborhoodAccessorFunctorType
typedef Superclass::OffsetType OffsetType
typedef Superclass::OffsetValueType OffsetValueType
typedef Superclass::PixelContainer PixelContainer
typedef PixelContainer::ConstPointer PixelContainerConstPointer
typedef PixelContainer::Pointer PixelContainerPointer
typedef TBloxPixelType PixelType
typedef SmartPointer< SelfPointer
typedef Superclass::PointType PointType
typedef Superclass::RegionType RegionType
typedef BloxImage Self
typedef Superclass::SizeType SizeType
typedef Superclass::SpacingType SpacingType
typedef Image< TBloxPixelType,
TImageDimension > 
Superclass
typedef TBloxPixelType ValueType

Public Member Functions

void Allocate ()
void EmptyImage ()
void FillBuffer (const TBloxPixelType &value)
const TBloxPixelType * GetBufferPointer () const
Return a pointer to the beginning
of the buffer This is used
by *the image iterator class
*TBloxPixelType * 
GetBufferPointer ()
virtual const char * GetNameOfClass () const
const NeighborhoodAccessorFunctorType GetNeighborhoodAccessor () const
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor ()
TBloxPixelType & GetPixel (const IndexType &index)
const TBloxPixelType & GetPixel (const IndexType &index) const
const AccessorType GetPixelAccessor (void) const
AccessorType GetPixelAccessor (void)
const PixelContainerGetPixelContainer () const
PixelContainerGetPixelContainer ()
virtual void Graft (const DataObject *data)
virtual void Initialize ()
 itkStaticConstMacro (ImageDimension, unsigned int, VImageDimension)
 itkStaticConstMacro (ImageDimension, unsigned int, TImageDimension)
const TBloxPixelType & operator[] (const IndexType &index) const
TBloxPixelType & operator[] (const IndexType &index)
Get a physical point (in the space which *the origin and spacing infomation comes from)*from a continuous index(in the index space)*\sa Transform */template< class TCoordRep > void TransformContinuousIndexToPhysicalPoint(const ContinuousIndex< TCoordRep
void SetPixel (const IndexType &index, const TBloxPixelType &value)
void SetPixelContainer (PixelContainer *container)
void SetRegions (SizeType size)
Convenience methods to set
the *BufferedRegion and RequestedRegion
Allocate must still be called
*void 
SetRegions (RegionType region)
bool TransformPhysicalPointToContinuousIndex (const Point< TCoordRep, VImageDimension > &point, ContinuousIndex< TCoordRep, VImageDimension > &index) const
bool TransformPhysicalPointToIndex (const Point< TCoordRep, VImageDimension > &point, IndexType &index) const

Static Public Member Functions

static Pointer New ()

Public Attributes

Get a physical VImageDimension & index
Convenience methods to set the LargestPossibleRegion

Protected Member Functions

 BloxImage ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~BloxImage ()


Member Typedef Documentation

typedef DefaultPixelAccessorFunctor< Self > itk::Image< TBloxPixelType , VImageDimension >::AccessorFunctorType [inherited]
 

Definition at line 116 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef DefaultPixelAccessor< PixelType > itk::BloxImage< TBloxPixelType, TImageDimension >::AccessorType
 

Accessor type that convert data between internal and external representations.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 92 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef SmartPointer<const Self> itk::BloxImage< TBloxPixelType, TImageDimension >::ConstPointer
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 69 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef WeakPointer<const Self> itk::BloxImage< TBloxPixelType, TImageDimension >::ConstWeakPointer
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxCoreAtomImage< NDimension >.

Definition at line 70 of file itkBloxImage.h.

typedef Superclass::DirectionType itk::Image< TBloxPixelType , VImageDimension >::DirectionType [inherited]
 

Direction typedef support. A matrix of direction cosines.

Definition at line 141 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::IndexType itk::BloxImage< TBloxPixelType, TImageDimension >::IndexType
 

Index typedef support. An index is used to access pixel values.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 103 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef TBloxPixelType itk::BloxImage< TBloxPixelType, TImageDimension >::InternalPixelType
 

Internal Pixel representation. Used to maintain a uniform API with Image Adaptors and allow to keep a particular internal representation of data while showing a different external representation.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 86 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::IOPixelType itk::BloxImage< TBloxPixelType, TImageDimension >::IOPixelType
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >.

Definition at line 88 of file itkBloxImage.h.

typedef NeighborhoodAccessorFunctor< Self > itk::Image< TBloxPixelType , VImageDimension >::NeighborhoodAccessorFunctorType [inherited]
 

Tyepdef for the functor used to access a neighborhood of pixel pointers.

Definition at line 120 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::OffsetType itk::BloxImage< TBloxPixelType, TImageDimension >::OffsetType
 

Offset typedef support. An offset is used to access pixel values.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 104 of file itkBloxImage.h.

typedef Superclass::OffsetValueType itk::Image< TBloxPixelType , VImageDimension >::OffsetValueType [inherited]
 

Offset typedef (relative position between indices)

Definition at line 159 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::PixelContainer itk::BloxImage< TBloxPixelType, TImageDimension >::PixelContainer
 

Convenient typedefs obtained from Superclass.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 101 of file itkBloxImage.h.

typedef PixelContainer::ConstPointer itk::Image< TBloxPixelType , VImageDimension >::PixelContainerConstPointer [inherited]
 

Definition at line 156 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef PixelContainer::Pointer itk::BloxImage< TBloxPixelType, TImageDimension >::PixelContainerPointer
 

A pointer to the pixel container.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 108 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef TBloxPixelType itk::BloxImage< TBloxPixelType, TImageDimension >::PixelType
 

Pixel typedef support. Used to declare pixel type in filters or other operations.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 76 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef SmartPointer<Self> itk::BloxImage< TBloxPixelType, TImageDimension >::Pointer
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 68 of file itkBloxImage.h.

typedef Superclass::PointType itk::Image< TBloxPixelType , VImageDimension >::PointType [inherited]
 

Origin typedef support. The origin is the geometric coordinates of the index (0,0).

Definition at line 152 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::RegionType itk::BloxImage< TBloxPixelType, TImageDimension >::RegionType
 

Region typedef support. A region is used to specify a subset of an image.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 105 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef BloxImage itk::BloxImage< TBloxPixelType, TImageDimension >::Self
 

Standard class typedefs.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 66 of file itkBloxImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Superclass::SizeType itk::BloxImage< TBloxPixelType, TImageDimension >::SizeType
 

Size typedef support. A size is used to define region bounds.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 102 of file itkBloxImage.h.

typedef Superclass::SpacingType itk::Image< TBloxPixelType , VImageDimension >::SpacingType [inherited]
 

Spacing typedef support. Spacing holds the size of a pixel. The spacing is the geometric distance between image samples.

Definition at line 148 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
typedef Image<TBloxPixelType, TImageDimension> itk::BloxImage< TBloxPixelType, TImageDimension >::Superclass
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

Definition at line 67 of file itkBloxImage.h.

typedef TBloxPixelType itk::Image< TBloxPixelType , VImageDimension >::ValueType [inherited]
 

Typedef alias for PixelType

Definition at line 103 of file itkImage.h.


Constructor & Destructor Documentation

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
itk::BloxImage< TBloxPixelType, TImageDimension >::BloxImage  )  [protected]
 

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
virtual itk::BloxImage< TBloxPixelType, TImageDimension >::~BloxImage  )  [protected, virtual]
 


Member Function Documentation

void itk::Image< TBloxPixelType , VImageDimension >::Allocate  )  [inherited]
 

Allocate the image memory. The size of the image must already be set, e.g. by calling SetRegions().

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
void itk::BloxImage< TBloxPixelType, TImageDimension >::EmptyImage  ) 
 

Traverse the entire image and empty all linked lists. This is used in filters prior to generating new data, to avoid appending the new data onto the old

void itk::Image< TBloxPixelType , VImageDimension >::FillBuffer const TBloxPixelType &  value  )  [inherited]
 

Fill the image buffer with a value. Be sure to call Allocate() first.

const TBloxPixelType * itk::Image< TBloxPixelType , VImageDimension >::GetBufferPointer  )  const [inline, inherited]
 

Definition at line 241 of file itkImage.h.

Return a pointer to the beginning of the buffer This is used by* the image iterator class* TBloxPixelType * itk::Image< TBloxPixelType , VImageDimension >::GetBufferPointer  )  [inline, inherited]
 

Definition at line 239 of file itkImage.h.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
virtual const char* itk::BloxImage< TBloxPixelType, TImageDimension >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

const NeighborhoodAccessorFunctorType itk::Image< TBloxPixelType , VImageDimension >::GetNeighborhoodAccessor  )  const [inline, inherited]
 

Return the NeighborhoodAccessor functor

Definition at line 282 of file itkImage.h.

NeighborhoodAccessorFunctorType itk::Image< TBloxPixelType , VImageDimension >::GetNeighborhoodAccessor  )  [inline, inherited]
 

Return the NeighborhoodAccessor functor

Definition at line 278 of file itkImage.h.

TBloxPixelType & itk::Image< TBloxPixelType , VImageDimension >::GetPixel const IndexType index  )  [inline, inherited]
 

Get a reference to a pixel (e.g. for editing).

For efficiency, this function does not check that the image has actually been allocated yet.

Definition at line 217 of file itkImage.h.

const TBloxPixelType & itk::Image< TBloxPixelType , VImageDimension >::GetPixel const IndexType index  )  const [inline, inherited]
 

Get a pixel (read only version).

For efficiency, this function does not check that the image has actually been allocated yet.

Definition at line 207 of file itkImage.h.

const AccessorType itk::Image< TBloxPixelType , VImageDimension >::GetPixelAccessor void   )  const [inline, inherited]
 

Return the Pixel Accesor object

Definition at line 274 of file itkImage.h.

AccessorType itk::Image< TBloxPixelType , VImageDimension >::GetPixelAccessor void   )  [inline, inherited]
 

Return the Pixel Accessor object

Definition at line 270 of file itkImage.h.

const PixelContainer* itk::Image< TBloxPixelType , VImageDimension >::GetPixelContainer  )  const [inline, inherited]
 

Definition at line 249 of file itkImage.h.

PixelContainer* itk::Image< TBloxPixelType , VImageDimension >::GetPixelContainer  )  [inline, inherited]
 

Return a pointer to the container.

Definition at line 246 of file itkImage.h.

virtual void itk::Image< TBloxPixelType , VImageDimension >::Graft const DataObject data  )  [virtual, inherited]
 

Graft the data and information from one image to another. This is a convenience method to setup a second image with all the meta information of another image and use the same pixel container. Note that this method is different than just using two SmartPointers to the same image since separate DataObjects are still maintained. This method is similar to ImageSource::GraftOutput(). The implementation in ImageBase simply calls CopyInformation() and copies the region ivars. The implementation here refers to the superclass' implementation and then copies over the pixel container.

virtual void itk::Image< TBloxPixelType , VImageDimension >::Initialize void   )  [virtual, inherited]
 

Restore the data object to its initial state. This means releasing memory.

itk::Image< TBloxPixelType , VImageDimension >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
VImageDimension 
[inherited]
 

Dimension of the image. This constant is used by functions that are templated over image type (as opposed to being templated over pixel type and dimension) when they need compile time access to the dimension of the image.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
itk::BloxImage< TBloxPixelType, TImageDimension >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TImageDimension 
 

Dimension of the image. This enum is used by functions that are templated over image type (as opposed to being templated over pixel type and dimension) when they need compile time access to the dimension of the image.

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
static Pointer itk::BloxImage< TBloxPixelType, TImageDimension >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

const TBloxPixelType & itk::Image< TBloxPixelType , VImageDimension >::operator[] const IndexType index  )  const [inline, inherited]
 

Access a pixel. This version can only be an rvalue.

For efficiency, this function does not check that the image has actually been allocated yet.

Definition at line 234 of file itkImage.h.

TBloxPixelType & itk::Image< TBloxPixelType , VImageDimension >::operator[] const IndexType index  )  [inline, inherited]
 

Access a pixel. This version can be an lvalue.

For efficiency, this function does not check that the image has actually been allocated yet.

Definition at line 227 of file itkImage.h.

Get a physical itk::Image< TBloxPixelType , VImageDimension >::point in the space which *the origin and spacing infomation comes  from  )  const [inherited]
 

template<typename TBloxPixelType, unsigned int TImageDimension = 3>
void itk::BloxImage< TBloxPixelType, TImageDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected]
 

Reimplemented from itk::Image< TBloxPixelType, TImageDimension >.

Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >.

void itk::Image< TBloxPixelType , VImageDimension >::SetPixel const IndexType index,
const TBloxPixelType &  value
[inline, inherited]
 

Set a pixel value.

Allocate() needs to have been called first -- for efficiency, this function does not check that the image has actually been allocated yet.

Definition at line 197 of file itkImage.h.

void itk::Image< TBloxPixelType , VImageDimension >::SetPixelContainer PixelContainer container  )  [inherited]
 

Set the container to use. Note that this does not cause the DataObject to be modified.

void itk::Image< TBloxPixelType , VImageDimension >::SetRegions SizeType  size  )  [inline, inherited]
 

Definition at line 176 of file itkImage.h.

Convenience methods to set the * BufferedRegion and RequestedRegion Allocate must still be called* void itk::Image< TBloxPixelType , VImageDimension >::SetRegions RegionType  region  )  [inline, inherited]
 

Definition at line 168 of file itkImage.h.

bool itk::Image< TBloxPixelType , VImageDimension >::TransformPhysicalPointToContinuousIndex const Point< TCoordRep, VImageDimension > &  point,
ContinuousIndex< TCoordRep, VImageDimension > &  index
const [inline, inherited]
 

Get the continuous index from a physical point.

Returns true if the resulting index is within the image, false otherwise.

See also:
Transform

Definition at line 291 of file itkImage.h.

bool itk::Image< TBloxPixelType , VImageDimension >::TransformPhysicalPointToIndex const Point< TCoordRep, VImageDimension > &  point,
IndexType index
const [inline, inherited]
 

Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise

See also:
Transform

Definition at line 313 of file itkImage.h.


Member Data Documentation

Get a physical VImageDimension& itk::Image< TBloxPixelType , VImageDimension >::index [inherited]
 

Definition at line 338 of file itkImage.h.

Convenience methods to set the itk::Image< TBloxPixelType , VImageDimension >::LargestPossibleRegion [inherited]
 

Definition at line 165 of file itkImage.h.


The documentation for this class was generated from the following file:
Generated at Sun Jul 9 19:04:38 2006 for ITK by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2000