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

itk::SpatialObject< TDimension > Class Template Reference

Implementation of the composite pattern. More...

#include <itkSpatialObject.h>

Inheritance diagram for itk::SpatialObject< TDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::SpatialObject< TDimension >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef double ScalarType
typedef SpatialObject< TDimension > Self
typedef DataObject Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Point< ScalarType,
TDimension > 
PointType
typedef Point< ScalarType,
TDimension > 
InputType
typedef PointTypePointPointer
typedef Vector< ScalarType,
TDimension > 
VectorType
typedef CovariantVector< ScalarType,
TDimension > 
CovariantVectorType
typedef VectorTypeVectorPointer
typedef CovariantVector< double,
TDimension > 
OutputVectorType
typedef OutputVectorTypeOutputVectorPointer
typedef FixedCenterOfRotationAffineTransform<
double, TDimension > 
TransformType
typedef TransformType::Pointer TransformPointer
typedef const TransformTypeTransformConstPointer
typedef VectorContainer< unsigned
long int, PointType
VectorContainerType
typedef BoundingBox< unsigned
long int, TDimension, ScalarType,
VectorContainerType
BoundingBoxType
typedef BoundingBoxType::Pointer BoundingBoxPointer
typedef std::list< PointerChildrenListType
typedef ChildrenListTypeChildrenListPointer
typedef Index< TDimension > IndexType
typedef IndexType::IndexValueType IndexValueType
typedef Offset< TDimension > OffsetType
typedef OffsetType::OffsetValueType OffsetValueType
typedef ImageRegion< TDimension > RegionType
typedef Size< TDimension > SizeType
typedef SpatialObjectProperty<
float > 
PropertyType
typedef PropertyType::Pointer PropertyPointer

Public Member Functions

 itkStaticConstMacro (MaximumDepth, unsigned int, 9999999)
unsigned int GetMaximumDepth ()
virtual bool HasParent (void) const
virtual const char * GetTypeName (void) const
 itkStaticConstMacro (ObjectDimension, unsigned int, TDimension)
virtual const char * GetClassName () const
TransformTypeGetIndexToWorldTransform (void)
const TransformTypeGetIndexToWorldTransform (void) const
TransformTypeGetWorldToIndexTransform (void)
const TransformTypeGetWorldToIndexTransform (void) const
virtual bool ValueAt (const PointType &point, double &value, unsigned int depth=0, char *name=NULL) const
virtual bool IsEvaluableAt (const PointType &point, unsigned int depth=0, char *name=NULL) const
virtual bool IsInside (const PointType &point, unsigned int depth=0, char *name=NULL) const
void SetParent (const Self *parent)
virtual void DerivativeAt (const PointType &point, short unsigned int order, OutputVectorType &value, unsigned int depth=0, char *name=NULL)
virtual bool ComputeBoundingBox () const
virtual BoundingBoxTypeGetBoundingBox () const
unsigned long GetMTime (void) const
void ComputeObjectToWorldTransform (void)
void ComputeObjectToParentTransform (void)
void AddSpatialObject (Self *pointer)
void RemoveSpatialObject (Self *object)
virtual const SelfGetParent (void) const
virtual ChildrenListTypeGetChildren (unsigned int depth=0, char *name=NULL) const
unsigned int GetNumberOfChildren (unsigned int depth=0, char *name=NULL) const
void SetChildren (ChildrenListType &children)
virtual void Clear (void)
unsigned long GetTransformMTime (void)
unsigned long GetWorldTransformMTime (void)
virtual void SetLargestPossibleRegion (const RegionType &region)
virtual const RegionTypeGetLargestPossibleRegion () const
virtual void SetBufferedRegion (const RegionType &region)
virtual const RegionTypeGetBufferedRegion () const
virtual void SetRequestedRegion (const RegionType &region)
virtual void SetRequestedRegion (DataObject *data)
virtual const RegionTypeGetRequestedRegion () const
void SetProperty (const PropertyType *property)
virtual void Update (void)
void SetSpacing (const double spacing[itkGetStaticConstMacro(ObjectDimension)])
virtual const double * GetSpacing () const
void SetIndexToObjectTransform (TransformType *transform)
TransformTypeGetIndexToObjectTransform (void)
const TransformTypeGetIndexToObjectTransform (void) const
void SetObjectToParentTransform (TransformType *transform)
TransformTypeGetObjectToParentTransform (void)
const TransformTypeGetObjectToParentTransform (void) const
void SetObjectToWorldTransform (TransformType *transform)
TransformTypeGetObjectToWorldTransform (void)
const TransformTypeGetObjectToWorldTransform (void) const
bool Evaluate (const PointType &point) const
const OffsetValueTypeGetOffsetTable () const
OffsetValueType ComputeOffset (const IndexType &ind) const
IndexType ComputeIndex (OffsetValueType offset) const
virtual void CopyInformation (const DataObject *data)
virtual void UpdateOutputInformation ()
virtual void SetRequestedRegionToLargestPossibleRegion ()
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
virtual bool VerifyRequestedRegion ()
PropertyTypeGetProperty (void)
const PropertyTypeGetProperty (void) const
virtual int GetId () const
virtual void SetId (int _arg)
virtual void SetBoundingBoxChildrenDepth (unsigned int _arg)
virtual unsigned int GetBoundingBoxChildrenDepth () const
virtual void SetBoundingBoxChildrenName (std::string _arg)
virtual std::string GetBoundingBoxChildrenName ()
virtual void SetParentId (int _arg)
virtual int GetParentId ()
virtual void SetSceneManageMemory (bool _arg)
virtual bool GetSceneManageMemory ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

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

Protected Attributes

BoundingBoxPointer m_Bounds
unsigned long m_BoundsMTime
TransformPointer m_IndexToObjectTransform
TransformPointer m_ObjectToParentTransform
TransformPointer m_ObjectToWorldTransform
TransformPointer m_IndexToWorldTransform
TransformPointer m_WorldToIndexTransform
ChildrenListType m_Children
const Selfm_Parent
std::string m_TypeName
unsigned int m_Dimension
double m_OffsetTable [3+1]
RegionType m_LargestPossibleRegion
RegionType m_RequestedRegion
RegionType m_BufferedRegion
std::string m_BoundingBoxChildrenName
unsigned int m_BoundingBoxChildrenDepth
PropertyPointer m_Property
int m_Id
int m_ParentId
bool m_SceneManageMemory

Detailed Description

template<unsigned int TDimension = 3>
class itk::SpatialObject< TDimension >

Implementation of the composite pattern.

The purpose of this class is to implement the composite pattern [Design Patterns, Gamma, 1995] within itk, so that it becomes easy to create an environment containing objects within a scene, and to manipulate the environment as a whole or any of its component objects. An object has a list of transformations to transform index coordinates to the corresponding coordinates in the real world coordinate system, and a list of inverse transformation to go backward. Any spatial objects can be plugged to a spatial object as children. To implement your own spatial object, you need to derive from the following class, which requires the definition of just a few pure virtual functions. Examples of such functions are ValueAt(), IsEvaluableAt(), and IsInside(), each of which has a meaning specific to each particular object type.

Definition at line 61 of file itkSpatialObject.h.


Member Typedef Documentation

template<unsigned int TDimension = 3>
typedef BoundingBoxType::Pointer itk::SpatialObject< TDimension >::BoundingBoxPointer
 

Definition at line 100 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::SetSpacing().

template<unsigned int TDimension = 3>
typedef BoundingBox< unsigned long int, TDimension, ScalarType, VectorContainerType > itk::SpatialObject< TDimension >::BoundingBoxType
 

Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >, itk::PolygonGroupSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 99 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef ChildrenListType* itk::SpatialObject< TDimension >::ChildrenListPointer
 

Definition at line 103 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef std::list< Pointer > itk::SpatialObject< TDimension >::ChildrenListType
 

Definition at line 102 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SmartPointer< const Self > itk::SpatialObject< TDimension >::ConstPointer
 

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 79 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef CovariantVector<ScalarType, TDimension > itk::SpatialObject< TDimension >::CovariantVectorType
 

Reimplemented in itk::PointBasedSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

Definition at line 86 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Index<TDimension> itk::SpatialObject< TDimension >::IndexType
 

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

Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >.

Definition at line 106 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetOffsetTable().

template<unsigned int TDimension = 3>
typedef IndexType::IndexValueType itk::SpatialObject< TDimension >::IndexValueType
 

Definition at line 107 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Point< ScalarType, TDimension > itk::SpatialObject< TDimension >::InputType
 

Definition at line 82 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Offset<TDimension> itk::SpatialObject< TDimension >::OffsetType
 

Offset typedef support. An offset represent relative position between indices. Definition at line 111 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef OffsetType::OffsetValueType itk::SpatialObject< TDimension >::OffsetValueType
 

Definition at line 112 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetOffsetTable().

template<unsigned int TDimension = 3>
typedef OutputVectorType* itk::SpatialObject< TDimension >::OutputVectorPointer
 

Definition at line 90 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef CovariantVector< double, TDimension > itk::SpatialObject< TDimension >::OutputVectorType
 

Definition at line 89 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SmartPointer< Self > itk::SpatialObject< TDimension >::Pointer
 

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 78 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef PointType* itk::SpatialObject< TDimension >::PointPointer
 

Definition at line 83 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Point< ScalarType, TDimension > itk::SpatialObject< TDimension >::PointType
 

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 81 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef PropertyType::Pointer itk::SpatialObject< TDimension >::PropertyPointer
 

Definition at line 116 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SpatialObjectProperty< float > itk::SpatialObject< TDimension >::PropertyType
 

Definition at line 115 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef ImageRegion<TDimension> itk::SpatialObject< TDimension >::RegionType
 

Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >.

Definition at line 113 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef double itk::SpatialObject< TDimension >::ScalarType
 

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

Definition at line 67 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SpatialObject<TDimension> itk::SpatialObject< TDimension >::Self
 

Standard class typedefs.

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 75 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Size<TDimension> itk::SpatialObject< TDimension >::SizeType
 

Definition at line 114 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef DataObject itk::SpatialObject< TDimension >::Superclass
 

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 76 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef const TransformType* itk::SpatialObject< TDimension >::TransformConstPointer
 

Definition at line 94 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef TransformType::Pointer itk::SpatialObject< TDimension >::TransformPointer
 

Definition at line 93 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetSpacing(), and itk::SpatialObject< TDimension >::SetSpacing().

template<unsigned int TDimension = 3>
typedef FixedCenterOfRotationAffineTransform< double, TDimension> itk::SpatialObject< TDimension >::TransformType
 

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

Definition at line 92 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef VectorContainer< unsigned long int, PointType > itk::SpatialObject< TDimension >::VectorContainerType
 

Definition at line 96 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef VectorType* itk::SpatialObject< TDimension >::VectorPointer
 

Definition at line 87 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Vector< ScalarType, TDimension > itk::SpatialObject< TDimension >::VectorType
 

Reimplemented in itk::PointBasedSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

Definition at line 85 of file itkSpatialObject.h.


Constructor & Destructor Documentation

template<unsigned int TDimension = 3>
itk::SpatialObject< TDimension >::SpatialObject  )  [protected]
 

Constructor.

template<unsigned int TDimension = 3>
virtual itk::SpatialObject< TDimension >::~SpatialObject  )  [protected, virtual]
 

Destructor.


Member Function Documentation

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::AddSpatialObject Self pointer  ) 
 

Add an object to the list of children.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::Clear void   )  [virtual]
 

Clear the spatial object by deleting all lists of children and subchildren

Reimplemented in itk::TubeSpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::ComputeBoundingBox  )  const [virtual]
 

Compute an axis-aligned bounding box for an object and its selected children, down to a specified depth. After computation, the resulting bounding box is stored in this->m_Bounds.

By default, the bounding box children depth is maximum, meaning that the bounding box for the object and all its recursive children is computed. This depth can be set (before calling ComputeBoundingBox) using SetBoundingBoxChildrenDepth().

By calling SetBoundingBoxChildrenName(), it is possible to restrict the bounding box computation to objects of a specified type or family of types. The spatial objects included in the computation are those whose typenames share, as their initial substring, the string specified via SetBoundingBoxChildrenName(). The root spatial object (on which the method is called) is not treated specially. If its typename does not match the bounding box children name, then it is not included in the bounding box computation, but its descendents that match the string are included.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

template<unsigned int TDimension = 3>
IndexType itk::SpatialObject< TDimension >::ComputeIndex OffsetValueType  offset  )  const [inline]
 

Compute the index of the pixel at a specified offset from the beginning of the buffered region. Definition at line 364 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::m_OffsetTable.

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::ComputeObjectToParentTransform void   ) 
 

Compute the Local transform when the global transform is set

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::ComputeObjectToWorldTransform void   ) 
 

Compute the World transform when the local transform is set This function should be called each time the local transform has been modified

template<unsigned int TDimension = 3>
OffsetValueType itk::SpatialObject< TDimension >::ComputeOffset const IndexType ind  )  const [inline]
 

Compute an offset from the beginning of the buffer for a pixel at the specified index. Definition at line 344 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::m_OffsetTable.

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::ComputeOffsetTable  )  [protected]
 

Calculate the offsets needed to move from one pixel to the next along a row, column, slice, volume, etc. These offsets are based on the size of the BufferedRegion. This should be called after the BufferedRegion is set.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::CopyInformation const DataObject data  )  [virtual]
 

Copy information from the specified data set. This method is part of the pipeline execution model. By default, a ProcessObject will copy meta-data from the first input to all of its outputs. See ProcessObject::GenerateOutputInformation(). Each subclass of DataObject is responsible for being able to copy whatever meta-data it needs from from another DataObject. ImageBase has more meta-data than its DataObject. Thus, it must provide its own version of CopyInformation() in order to copy the LargestPossibleRegion from the input parameter.

Reimplemented from itk::DataObject.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::DerivativeAt const PointType point,
short unsigned int  order,
OutputVectorType value,
unsigned int  depth = 0,
char *  name = NULL
[virtual]
 

Return the n-th order derivative value at the specified point.

template<unsigned int TDimension = 3>
bool itk::SpatialObject< TDimension >::Evaluate const PointType point  )  const [inline]
 

Returns true if a point is inside the object - provided to make spatial objects compatible with spatial functions and conditional iterators for defining regions of interest. Definition at line 192 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
virtual BoundingBoxType* itk::SpatialObject< TDimension >::GetBoundingBox  )  const [virtual]
 

Get the bounding box of the object. This function calls ComputeBoundingBox()

template<unsigned int TDimension = 3>
virtual unsigned int itk::SpatialObject< TDimension >::GetBoundingBoxChildrenDepth  )  const [virtual]
 

Set/Get the depth at which the bounding box is computed

template<unsigned int TDimension = 3>
virtual std::string itk::SpatialObject< TDimension >::GetBoundingBoxChildrenName  )  [virtual]
 

Set/Get the name of the children to consider when computing the bounding box

template<unsigned int TDimension = 3>
virtual const RegionType& itk::SpatialObject< TDimension >::GetBufferedRegion  )  const [inline, virtual]
 

Get the region object that defines the size and starting index of the region of the image currently loaded in memory.

See also:
ImageRegion, SetLargestPossibleRegion(), SetRequestedRegion()
Definition at line 308 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
virtual ChildrenListType* itk::SpatialObject< TDimension >::GetChildren unsigned int  depth = 0,
char *  name = NULL
const [virtual]
 

Returns a list of pointer to the children affiliated to this object. A depth of 0 returns the immediate childred. A depth of 1 returns the children and those children's children.

template<unsigned int TDimension = 3>
virtual const char* itk::SpatialObject< TDimension >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

template<unsigned int TDimension = 3>
virtual int itk::SpatialObject< TDimension >::GetId  )  const [virtual]
 

Get/Set the ID

template<unsigned int TDimension = 3>
const TransformType* itk::SpatialObject< TDimension >::GetIndexToObjectTransform void   )  const
 

Transform points from the internal data coordinate system of the object (typically the indices of the image from which the object was defined) to "physical" space (which accounts for the spacing, orientation, and offset of the indices)

template<unsigned int TDimension = 3>
TransformType* itk::SpatialObject< TDimension >::GetIndexToObjectTransform void   ) 
 

Transform points from the internal data coordinate system of the object (typically the indices of the image from which the object was defined) to "physical" space (which accounts for the spacing, orientation, and offset of the indices)

template<unsigned int TDimension = 3>
const TransformType* itk::SpatialObject< TDimension >::GetIndexToWorldTransform void   )  const
 

template<unsigned int TDimension = 3>
TransformType* itk::SpatialObject< TDimension >::GetIndexToWorldTransform void   ) 
 

template<unsigned int TDimension = 3>
virtual const RegionType& itk::SpatialObject< TDimension >::GetLargestPossibleRegion  )  const [inline, virtual]
 

Get the region object that defines the size and starting index for the largest possible region this image could represent. This is used in determining how much memory would be needed to load an entire dataset. It is also used to determine boundary conditions.

See also:
ImageRegion, GetBufferedRegion(), GetRequestedRegion()
Definition at line 297 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
unsigned int itk::SpatialObject< TDimension >::GetMaximumDepth  )  [inline]
 

Return the maximum depth that a tree of spatial objects can have. This provides convenient access to a static constant. Definition at line 73 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
unsigned long itk::SpatialObject< TDimension >::GetMTime void   )  const [virtual]
 

Returns the latest modified time of the spatial object, and any of its components.

Reimplemented from itk::Object.

Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >.

template<unsigned int TDimension = 3>
unsigned int itk::SpatialObject< TDimension >::GetNumberOfChildren unsigned int  depth = 0,
char *  name = NULL
const
 

Returns the number of children currently assigned to the object.

template<unsigned int TDimension = 3>
const TransformType* itk::SpatialObject< TDimension >::GetObjectToParentTransform void   )  const
 

Transforms points from the object-specific "physical" space to the "physical" space of its parent object.

template<unsigned int TDimension = 3>
TransformType* itk::SpatialObject< TDimension >::GetObjectToParentTransform void   ) 
 

Transforms points from the object-specific "physical" space to the "physical" space of its parent object.

template<unsigned int TDimension = 3>
const TransformType* itk::SpatialObject< TDimension >::GetObjectToWorldTransform void   )  const
 

This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed

template<unsigned int TDimension = 3>
TransformType* itk::SpatialObject< TDimension >::GetObjectToWorldTransform void   ) 
 

This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed

template<unsigned int TDimension = 3>
const OffsetValueType* itk::SpatialObject< TDimension >::GetOffsetTable  )  const [inline]
 

Get the offset table. The offset table gives increments for moving from one pixel to next in the current row, column, slice, etc.. This table if of size [VImageDimension+1], because its values are computed progressively as: {1, N1, N1*N2, N1*N2*N3,...,(N1*...*Nn)} Where the values {N1,...,Nn} are the elements of the BufferedRegion::Size array. The last element of the OffsetTable is equivalent to the BufferSize. Having a [VImageDimension+1] size array, simplifies the implementation of some data accessing algorithms. Definition at line 339 of file itkSpatialObject.h.

References itk::ImageRegion< VImageDimension >::GetIndex(), itk::SpatialObject< TDimension >::IndexType, itk::SpatialObject< TDimension >::m_BufferedRegion, and itk::SpatialObject< TDimension >::OffsetValueType.

template<unsigned int TDimension = 3>
virtual const Self* itk::SpatialObject< TDimension >::GetParent void   )  const [virtual]
 

Return a pointer to the parent object in the hierarchy tree

template<unsigned int TDimension = 3>
virtual int itk::SpatialObject< TDimension >::GetParentId  )  [virtual]
 

Set/Get the parent Identification number

template<unsigned int TDimension = 3>
const PropertyType* itk::SpatialObject< TDimension >::GetProperty void   )  const [inline]
 

Returns a pointer to the property object applied to this class. Definition at line 430 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::m_IndexToObjectTransform.

template<unsigned int TDimension = 3>
PropertyType* itk::SpatialObject< TDimension >::GetProperty void   ) 
 

Returns a pointer to the property object applied to this class.

template<unsigned int TDimension = 3>
virtual const RegionType& itk::SpatialObject< TDimension >::GetRequestedRegion  )  const [inline, virtual]
 

Get the region object that defines the size and starting index for the region of the image requested (i.e., the region of the image to be operated on by a filter).

See also:
ImageRegion, SetLargestPossibleRegion(), SetBufferedRegion()
Definition at line 327 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::GetSceneManageMemory  )  [virtual]
 

Set/Get a flag to tell if the scene manages the memory

template<unsigned int TDimension = 3>
virtual const double* itk::SpatialObject< TDimension >::GetSpacing  )  const [inline, virtual]
 

Get the spacing of the spatial object. Definition at line 465 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::m_IndexToWorldTransform, itk::SpatialObject< TDimension >::m_ObjectToParentTransform, itk::SpatialObject< TDimension >::m_ObjectToWorldTransform, itk::SpatialObject< TDimension >::m_WorldToIndexTransform, and itk::SpatialObject< TDimension >::TransformPointer.

template<unsigned int TDimension = 3>
unsigned long itk::SpatialObject< TDimension >::GetTransformMTime void   ) 
 

Return the Modified time of the LocalToWorldTransform

template<unsigned int TDimension = 3>
virtual const char* itk::SpatialObject< TDimension >::GetTypeName void   )  const [inline, virtual]
 

Get the typename of the SpatialObject Definition at line 123 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::m_TypeName.

template<unsigned int TDimension = 3>
const TransformType* itk::SpatialObject< TDimension >::GetWorldToIndexTransform void   )  const
 

template<unsigned int TDimension = 3>
TransformType* itk::SpatialObject< TDimension >::GetWorldToIndexTransform void   ) 
 

template<unsigned int TDimension = 3>
unsigned long itk::SpatialObject< TDimension >::GetWorldTransformMTime void   ) 
 

Return the Modified time of the WorldToLocalTransform

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::HasParent void   )  const [virtual]
 

Return true if the object has a parent object. Basically, only the root object , or some isolated objects should return false.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::IsEvaluableAt const PointType point,
unsigned int  depth = 0,
char *  name = NULL
const [virtual]
 

Returns true if the object can provide a "meaningful" value at a point. Often defaults to returning same answer as IsInside, but certain objects influence space beyond their spatial extent, e.g., an RFA Needle Spatial Object can cause a burn that extends beyond the tip of the needle.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::IsInside const PointType point,
unsigned int  depth = 0,
char *  name = NULL
const [virtual]
 

Returns true if a point is inside the object.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

template<unsigned int TDimension = 3>
itk::SpatialObject< TDimension >::itkStaticConstMacro ObjectDimension  ,
unsigned  int,
TDimension 
 

Dimension of the object. This constant is used by functions that are templated over spatialObject type when they need compile time access to the dimension of the object.

template<unsigned int TDimension = 3>
itk::SpatialObject< TDimension >::itkStaticConstMacro MaximumDepth  ,
unsigned  int,
9999999 
 

template<unsigned int TDimension = 3>
Pointer itk::SpatialObject< TDimension >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::DataObject.

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::RemoveSpatialObject Self object  ) 
 

Remove the object passed as arguments from the list of children. May this function should return a false value if the object to remove is not found in the list.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::RequestedRegionIsOutsideOfTheBufferedRegion  )  [virtual]
 

Determine whether the RequestedRegion is outside of the BufferedRegion. This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute

Implements itk::DataObject.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetBoundingBoxChildrenDepth unsigned int  _arg  )  [virtual]
 

Set/Get the depth at which the bounding box is computed

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetBoundingBoxChildrenName std::string  _arg  )  [virtual]
 

Set/Get the name of the children to consider when computing the bounding box

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetBufferedRegion const RegionType region  )  [virtual]
 

Set the region object that defines the size and starting index of the region of the image currently loaded in memory.

See also:
ImageRegion, SetLargestPossibleRegion(), SetRequestedRegion()

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetChildren ChildrenListType children  ) 
 

Set the list of pointers to children to the list passed as argument.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetId int  _arg  )  [virtual]
 

Get/Set the ID

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetIndexToObjectTransform TransformType transform  ) 
 

Transform points from the internal data coordinate system of the object (typically the indices of the image from which the object was defined) to "physical" space (which accounts for the spacing, orientation, and offset of the indices)

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetLargestPossibleRegion const RegionType region  )  [virtual]
 

Set the region object that defines the size and starting index for the largest possible region this image could represent. This is used in determining how much memory would be needed to load an entire dataset. It is also used to determine boundary conditions.

See also:
ImageRegion, SetBufferedRegion(), SetRequestedRegion()

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetObjectToParentTransform TransformType transform  ) 
 

Transforms points from the object-specific "physical" space to the "physical" space of its parent object.

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetObjectToWorldTransform TransformType transform  ) 
 

This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetParent const Self parent  ) 
 

Set the pointer to the parent object in the tree hierarchy used for the spatial object patter.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetParentId int  _arg  )  [virtual]
 

Set/Get the parent Identification number

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetProperty const PropertyType property  ) 
 

Set the property applied to the object.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetRequestedRegion DataObject data  )  [virtual]
 

Set the requested region from this data object to match the requested region of the data object passed in as a parameter. This method implements the API from DataObject. The data object parameter must be castable to an ImageBase.

Implements itk::DataObject.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetRequestedRegion const RegionType region  )  [virtual]
 

Set the region object that defines the size and starting index for the region of the image requested (i.e., the region of the image to be operated on by a filter).

See also:
ImageRegion, SetLargestPossibleRegion(), SetBufferedRegion()

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetRequestedRegionToLargestPossibleRegion  )  [virtual]
 

Set the RequestedRegion to the LargestPossibleRegion. This forces a filter to produce all of the output in one execution (i.e. not streaming) on the next call to Update().

Implements itk::DataObject.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::SetSceneManageMemory bool  _arg  )  [virtual]
 

Set/Get a flag to tell if the scene manages the memory

template<unsigned int TDimension = 3>
void itk::SpatialObject< TDimension >::SetSpacing const double  spacing[itkGetStaticConstMacro(ObjectDimension)]  )  [inline]
 

Set the spacing of the spatial object. Definition at line 461 of file itkSpatialObject.h.

References itk::SpatialObject< TDimension >::BoundingBoxPointer, itk::SpatialObject< TDimension >::m_Bounds, itk::SpatialObject< TDimension >::m_BoundsMTime, itk::SpatialObject< TDimension >::m_IndexToObjectTransform, and itk::SpatialObject< TDimension >::TransformPointer.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::Update void   )  [virtual]
 

Specify that the object has been updated

Reimplemented from itk::DataObject.

template<unsigned int TDimension = 3>
virtual void itk::SpatialObject< TDimension >::UpdateOutputInformation  )  [virtual]
 

Update the information for this DataObject so that it can be used as an output of a ProcessObject. This method is used the pipeline mechanism to propagate information and initialize the meta data associated with a DataObject. This method calls its source's ProcessObject::UpdateOutputInformation() which determines modified times, LargestPossibleRegions, and any extra meta data like spacing, origin, etc.

Implements itk::DataObject.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::ValueAt const PointType point,
double &  value,
unsigned int  depth = 0,
char *  name = NULL
const [virtual]
 

Returns the value at a point

Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual bool itk::SpatialObject< TDimension >::VerifyRequestedRegion  )  [virtual]
 

Verify that the RequestedRegion is within the LargestPossibleRegion. If the RequestedRegion is not within the LargestPossibleRegion, then the filter cannot possible satisfy the request. This method returns true if the request can be satisfied and returns fails if the request cannot. This method is used by PropagateRequestedRegion(). PropagateRequestedRegion() throws a InvalidRequestedRegionError exception is the requested region is not within the LargestPossibleRegion.

Implements itk::DataObject.


Member Data Documentation

template<unsigned int TDimension = 3>
unsigned int itk::SpatialObject< TDimension >::m_BoundingBoxChildrenDepth [protected]
 

Definition at line 515 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
std::string itk::SpatialObject< TDimension >::m_BoundingBoxChildrenName [protected]
 

Definition at line 514 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
BoundingBoxPointer itk::SpatialObject< TDimension >::m_Bounds [protected]
 

Definition at line 475 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::SetSpacing().

template<unsigned int TDimension = 3>
unsigned long itk::SpatialObject< TDimension >::m_BoundsMTime [mutable, protected]
 

Definition at line 476 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::SetSpacing().

template<unsigned int TDimension = 3>
RegionType itk::SpatialObject< TDimension >::m_BufferedRegion [protected]
 

Definition at line 512 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetOffsetTable().

template<unsigned int TDimension = 3>
ChildrenListType itk::SpatialObject< TDimension >::m_Children [protected]
 

List of the children object plug to the composite spatial object. Definition at line 494 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
unsigned int itk::SpatialObject< TDimension >::m_Dimension [protected]
 

Definition at line 506 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
int itk::SpatialObject< TDimension >::m_Id [protected]
 

Object Identification Number Definition at line 519 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
TransformPointer itk::SpatialObject< TDimension >::m_IndexToObjectTransform [protected]
 

Definition at line 478 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetProperty(), and itk::SpatialObject< TDimension >::SetSpacing().

template<unsigned int TDimension = 3>
TransformPointer itk::SpatialObject< TDimension >::m_IndexToWorldTransform [protected]
 

Definition at line 481 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetSpacing().

template<unsigned int TDimension = 3>
RegionType itk::SpatialObject< TDimension >::m_LargestPossibleRegion [protected]
 

Definition at line 510 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
TransformPointer itk::SpatialObject< TDimension >::m_ObjectToParentTransform [protected]
 

Definition at line 479 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetSpacing().

template<unsigned int TDimension = 3>
TransformPointer itk::SpatialObject< TDimension >::m_ObjectToWorldTransform [protected]
 

Definition at line 480 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetSpacing().

template<unsigned int TDimension = 3>
double itk::SpatialObject< TDimension >::m_OffsetTable[3+1] [protected]
 

Definition at line 508 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::ComputeIndex(), and itk::SpatialObject< TDimension >::ComputeOffset().

template<unsigned int TDimension = 3>
const Self* itk::SpatialObject< TDimension >::m_Parent [protected]
 

Definition at line 502 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
int itk::SpatialObject< TDimension >::m_ParentId [protected]
 

Definition at line 520 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
PropertyPointer itk::SpatialObject< TDimension >::m_Property [protected]
 

Definition at line 516 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
RegionType itk::SpatialObject< TDimension >::m_RequestedRegion [protected]
 

Definition at line 511 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
bool itk::SpatialObject< TDimension >::m_SceneManageMemory [protected]
 

Scene memory management Definition at line 523 of file itkSpatialObject.h.

template<unsigned int TDimension = 3>
std::string itk::SpatialObject< TDimension >::m_TypeName [protected]
 

Definition at line 504 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetTypeName().

template<unsigned int TDimension = 3>
TransformPointer itk::SpatialObject< TDimension >::m_WorldToIndexTransform [protected]
 

Definition at line 482 of file itkSpatialObject.h.

Referenced by itk::SpatialObject< TDimension >::GetSpacing().


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:16:43 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000