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

itk::SparseImage< TNode, VImageDimension > Class Template Reference

This class implements a storage type for sparse image data. More...

#include <itkSparseImage.h>

Inheritance diagram for itk::SparseImage< TNode, VImageDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::SparseImage< TNode, VImageDimension >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef SparseImage Self
typedef Image< TNode *, VImageDimension > Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef WeakPointer< const
Self
ConstWeakPointer
typedef TNode NodeType
typedef Superclass::IndexType IndexType
typedef NeighborhoodAccessorFunctor<
Self
NeighborhoodAccessorFunctorType
typedef SparseFieldLayer<
NodeType
NodeListType
typedef ObjectStore< NodeTypeNodeStoreType

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
NeighborhoodAccessorFunctorType GetNeighborhoodAccessor ()
const NeighborhoodAccessorFunctorType GetNeighborhoodAccessor () const
NodeListTypeGetNodeList ()
virtual void Initialize ()
NodeTypeAddNode (const IndexType &index)

Static Public Member Functions

Pointer New ()

Protected Member Functions

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

Detailed Description

template<class TNode, unsigned int VImageDimension = 2>
class itk::SparseImage< TNode, VImageDimension >

This class implements a storage type for sparse image data.

This class is derived from the Image class. It uses the base class image data for storing pointers to variables of type TNode. The node type must have a member variable m_Index. The node data is stored using the SparseFieldLayer and ObjectStore classes to allow sequential list access to the nodes. This functionality is used in filter classes that process the SparseImage class such as FiniteDifferenceSparseImageFilter.
This class provides the method AddNode which allocates a node variable, associates it with the image pixel index (sets m_Index in the node variable) and returns the pointer to the node variable. It is suggested that the user call the FillBuffer method to initialize the image to null pointers before any calls to AddNode. This would allow the user later to distinguish between valid and non-valid pixels.

Definition at line 51 of file itkSparseImage.h.


Member Typedef Documentation

template<class TNode, unsigned int VImageDimension = 2>
typedef SmartPointer<const Self> itk::SparseImage< TNode, VImageDimension >::ConstPointer
 

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 58 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
typedef WeakPointer<const Self> itk::SparseImage< TNode, VImageDimension >::ConstWeakPointer
 

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 59 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
typedef Superclass::IndexType itk::SparseImage< TNode, VImageDimension >::IndexType
 

Types derived from the Superclass

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 75 of file itkSparseImage.h.

Referenced by itk::SparseImage< TNode, VImageDimension >::AddNode().

template<class TNode, unsigned int VImageDimension = 2>
typedef NeighborhoodAccessorFunctor< Self > itk::SparseImage< TNode, VImageDimension >::NeighborhoodAccessorFunctorType
 

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

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 79 of file itkSparseImage.h.

Referenced by itk::SparseImage< TNode, VImageDimension >::GetNeighborhoodAccessor().

template<class TNode, unsigned int VImageDimension = 2>
typedef SparseFieldLayer<NodeType> itk::SparseImage< TNode, VImageDimension >::NodeListType
 

The list types for storing the active pixels.

Definition at line 82 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
typedef ObjectStore<NodeType> itk::SparseImage< TNode, VImageDimension >::NodeStoreType
 

Definition at line 83 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
typedef TNode itk::SparseImage< TNode, VImageDimension >::NodeType
 

The actual sparse pixel type.

Definition at line 72 of file itkSparseImage.h.

Referenced by itk::SparseImage< TNode, VImageDimension >::AddNode().

template<class TNode, unsigned int VImageDimension = 2>
typedef SmartPointer<Self> itk::SparseImage< TNode, VImageDimension >::Pointer
 

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 57 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
typedef SparseImage itk::SparseImage< TNode, VImageDimension >::Self
 

Standard typedefs.

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 55 of file itkSparseImage.h.

Referenced by itk::SparseImage< TNode, VImageDimension >::~SparseImage().

template<class TNode, unsigned int VImageDimension = 2>
typedef Image<TNode*, VImageDimension> itk::SparseImage< TNode, VImageDimension >::Superclass
 

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 56 of file itkSparseImage.h.


Constructor & Destructor Documentation

template<class TNode, unsigned int VImageDimension = 2>
itk::SparseImage< TNode, VImageDimension >::SparseImage  )  [protected]
 

template<class TNode, unsigned int VImageDimension = 2>
itk::SparseImage< TNode, VImageDimension >::~SparseImage  )  [inline, protected]
 

Definition at line 120 of file itkSparseImage.h.

References itk::SparseImage< TNode, VImageDimension >::Self.


Member Function Documentation

template<class TNode, unsigned int VImageDimension = 2>
NodeType* itk::SparseImage< TNode, VImageDimension >::AddNode const IndexType index  )  [inline]
 

This function should be used to allocate memory for a variable at the desired pixel location.

Definition at line 97 of file itkSparseImage.h.

References itk::SparseImage< TNode, VImageDimension >::IndexType, and itk::SparseImage< TNode, VImageDimension >::NodeType.

template<class TNode, unsigned int VImageDimension = 2>
virtual const char* itk::SparseImage< TNode, VImageDimension >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Image< TNode *, VImageDimension >.

template<class TNode, unsigned int VImageDimension = 2>
const NeighborhoodAccessorFunctorType itk::SparseImage< TNode, VImageDimension >::GetNeighborhoodAccessor  )  const [inline]
 

Return the NeighborhoodAccessor functor. This method is called by the neighborhood iterators.

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 92 of file itkSparseImage.h.

References itk::SparseImage< TNode, VImageDimension >::NeighborhoodAccessorFunctorType.

template<class TNode, unsigned int VImageDimension = 2>
NeighborhoodAccessorFunctorType itk::SparseImage< TNode, VImageDimension >::GetNeighborhoodAccessor  )  [inline]
 

Return the NeighborhoodAccessor functor. This method is called by the neighborhood iterators.

Reimplemented from itk::Image< TNode *, VImageDimension >.

Definition at line 87 of file itkSparseImage.h.

References itk::SparseImage< TNode, VImageDimension >::NeighborhoodAccessorFunctorType.

template<class TNode, unsigned int VImageDimension = 2>
NodeListType* itk::SparseImage< TNode, VImageDimension >::GetNodeList  )  [inline]
 

This function returns the allocated node list which can be used to iterate through the valid nodes.

Definition at line 109 of file itkSparseImage.h.

template<class TNode, unsigned int VImageDimension = 2>
virtual void itk::SparseImage< TNode, VImageDimension >::Initialize  )  [virtual]
 

This function initializes the m_NodeList and m_NodeStore variables, and calls the superclass Initialize method.

Reimplemented from itk::Image< TNode *, VImageDimension >.

template<class TNode, unsigned int VImageDimension = 2>
itk::SparseImage< TNode, VImageDimension >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
Superclass::ImageDimension 
 

Dimension of the image.

template<class TNode, unsigned int VImageDimension = 2>
Pointer itk::SparseImage< TNode, VImageDimension >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Image< TNode *, VImageDimension >.

template<class TNode, unsigned int VImageDimension = 2>
void itk::SparseImage< TNode, VImageDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Compute the index of the pixel at a specified offset from the beginning of the buffered region. Bounds checking is not performed. Thus, the computed index could be outside the BufferedRegion. To ensure a valid index, the parameter "offset" should be between 0 and the number of pixels in the BufferedRegion (the latter can be found using ImageRegion::GetNumberOfPixels()).

Reimplemented from itk::Image< TNode *, VImageDimension >.


The documentation for this class was generated from the following file:
Generated at Thu May 25 02:23:54 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000