ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkSpatialObject.h>
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 59 of file itkSpatialObject.h.
Public Member Functions | |
void | AddSpatialObject (Self *pointer) |
virtual void | Clear () |
virtual bool | ComputeBoundingBox () const |
virtual bool | ComputeLocalBoundingBox () const |
void | ComputeObjectToParentTransform () |
void | ComputeObjectToWorldTransform () |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
virtual void | DerivativeAt (const PointType &point, short unsigned int order, OutputVectorType &value, unsigned int depth=0, char *name=nullptr) |
bool | Evaluate (const PointType &point) const |
virtual BoundingBoxType * | GetBoundingBox () const |
virtual const RegionType & | GetBufferedRegion () const |
virtual ChildrenListType * | GetChildren (unsigned int depth=0, char *name=nullptr) const |
const TransformType * | GetIndexToObjectTransform () const |
TransformType * | GetIndexToObjectTransform (void) |
virtual const TransformType * | GetIndexToWorldTransform () const |
virtual const RegionType & | GetLargestPossibleRegion () const |
unsigned int | GetMaximumDepth () const |
TransformType * | GetModifiableIndexToObjectTransform (void) |
virtual TransformType * | GetModifiableIndexToWorldTransform () |
virtual TreeNodeType * | GetModifiableTreeNode () |
virtual ModifiedTimeType | GetMTime (void) const override |
virtual const char * | GetNameOfClass () const |
TransformType * | GetNodeToParentNodeTransform () |
const TransformType * | GetNodeToParentNodeTransform () const |
unsigned int | GetNumberOfChildren (unsigned int depth=0, char *name=nullptr) const |
unsigned int | GetObjectDimension (void) const |
unsigned long | GetObjectMTime (void) const |
TransformType * | GetObjectToNodeTransform () |
const TransformType * | GetObjectToNodeTransform () const |
TransformType * | GetObjectToParentTransform () |
const TransformType * | GetObjectToParentTransform () const |
virtual const Self * | GetParent () const |
virtual Self * | GetParent () |
virtual const RegionType & | GetRequestedRegion () const |
virtual const double * | GetSpacing () const |
virtual std::string | GetSpatialObjectTypeAsString () const |
unsigned long | GetTransformMTime () |
virtual const TreeNodeType * | GetTreeNode () const |
virtual const char * | GetTypeName (void) const |
unsigned long | GetWorldTransformMTime () |
virtual bool | HasParent () const |
virtual bool | IsEvaluableAt (const PointType &point, unsigned int depth=0, char *name=nullptr) const |
virtual bool | IsInside (const PointType &point, unsigned int depth=0, char *name=nullptr) const |
void | RemoveSpatialObject (Self *object) |
virtual void | SetBufferedRegion (const RegionType ®ion) |
void | SetChildren (ChildrenListType &children) |
virtual void | SetLargestPossibleRegion (const RegionType ®ion) |
void | SetNodeToParentNodeTransform (TransformType *transform) |
void | SetObjectToParentTransform (TransformType *transform) |
void | SetParent (Self *parent) |
virtual void | SetRequestedRegion (const RegionType ®ion) |
virtual void | SetRequestedRegion (const DataObject *data) override |
void | SetSpacing (const double spacing[itkGetStaticConstMacro(ObjectDimension)]) |
virtual void | SetTreeNode (TreeNodeType *_arg) |
virtual void | Update (void) override |
virtual bool | ValueAt (const PointType &point, double &value, unsigned int depth=0, char *name=nullptr) const |
virtual void | SetAffineGeometryFrame (AffineGeometryFrameType *_arg) |
virtual AffineGeometryFrameType * | GetModifiableAffineGeometryFrame () |
virtual const AffineGeometryFrameType * | GetAffineGeometryFrame () const |
void | SetObjectToWorldTransform (TransformType *transform) |
virtual TransformType * | GetModifiableObjectToWorldTransform () |
virtual const TransformType * | GetObjectToWorldTransform () const |
const OffsetValueType * | GetOffsetTable () const |
OffsetValueType | ComputeOffset (const IndexType &ind) const |
IndexType | ComputeIndex (OffsetValueType offset) const |
virtual void | CopyInformation (const DataObject *data) override |
virtual void | UpdateOutputInformation () override |
virtual void | SetRequestedRegionToLargestPossibleRegion () override |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
virtual bool | VerifyRequestedRegion () override |
PropertyType * | GetProperty () |
const PropertyType * | GetProperty (void) const |
void | SetProperty (PropertyType *property) |
virtual const int & | GetId () const |
virtual void | SetId (int _arg) |
virtual void | SetParentId (int _arg) |
virtual const int & | GetParentId () const |
virtual void | SetBoundingBoxChildrenDepth (unsigned int _arg) |
virtual const unsigned int & | GetBoundingBoxChildrenDepth () const |
virtual void | SetBoundingBoxChildrenName (std::string _arg) |
virtual const std::string & | GetBoundingBoxChildrenName () const |
virtual void | SetDefaultInsideValue (double _arg) |
virtual double | GetDefaultInsideValue () const |
virtual void | SetDefaultOutsideValue (double _arg) |
virtual double | GetDefaultOutsideValue () const |
Public Member Functions inherited from itk::DataObject | |
virtual void | DataHasBeenGenerated () |
void | DisconnectPipeline () |
bool | GetDataReleased () const |
virtual const bool & | GetReleaseDataFlag () const |
SmartPointerForwardReference < ProcessObject > | GetSource () const |
DataObjectPointerArraySizeType | GetSourceOutputIndex () const |
const DataObjectIdentifierType & | GetSourceOutputName () const |
virtual ModifiedTimeType | GetUpdateMTime () const |
virtual void | Graft (const DataObject *) |
virtual void | Initialize () |
virtual void | PrepareForNewData () |
virtual void | PropagateRequestedRegion () |
void | ReleaseData () |
virtual void | ReleaseDataFlagOff () |
virtual void | ReleaseDataFlagOn () |
virtual void | ResetPipeline () |
void | SetReleaseDataFlag (bool flag) |
bool | ShouldIReleaseData () const |
virtual void | UpdateOutputData () |
void | SetPipelineMTime (ModifiedTimeType time) |
virtual const ModifiedTimeType & | GetPipelineMTime () const |
virtual void | SetRealTimeStamp (RealTimeStamp _arg) |
virtual const RealTimeStamp & | GetRealTimeStamp () const |
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 |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual const TimeStamp & | GetTimeStamp () 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::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static void | SetGlobalReleaseDataFlag (bool val) |
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 () |
Static Public Attributes | |
static const unsigned int | MaximumDepth = 9999999 |
static const unsigned int | ObjectDimension = VDimension |
Protected Member Functions | |
void | ComputeOffsetTable () |
virtual const BoundingBoxType * | GetBounds () const |
virtual const unsigned int & | GetDimension () const |
virtual const TransformType * | GetInternalInverseTransform () const |
virtual BoundingBoxType * | GetModifiableBounds () |
virtual TransformType * | GetModifiableInternalInverseTransform () |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetDimension (unsigned int _arg) |
bool | SetInternalInverseTransformToWorldToIndexTransform () const |
virtual void | SetTypeName (std::string _arg) |
SpatialObject () | |
virtual | ~SpatialObject () |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
virtual void | PropagateResetPipeline () |
~DataObject () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
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 () |
Private Member Functions | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
SpatialObject (const Self &) ITK_DELETE_FUNCTION | |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef AffineGeometryFrameType::Pointer itk::SpatialObject< VDimension >::AffineGeometryFramePointer |
Definition at line 102 of file itkSpatialObject.h.
typedef AffineGeometryFrame< double, VDimension > itk::SpatialObject< VDimension >::AffineGeometryFrameType |
Definition at line 101 of file itkSpatialObject.h.
typedef BoundingBoxType::Pointer itk::SpatialObject< VDimension >::BoundingBoxPointer |
Definition at line 99 of file itkSpatialObject.h.
typedef BoundingBox< IdentifierType, VDimension, ScalarType, VectorContainerType > itk::SpatialObject< VDimension >::BoundingBoxType |
Definition at line 98 of file itkSpatialObject.h.
typedef ChildrenListType* itk::SpatialObject< VDimension >::ChildrenListPointer |
Definition at line 106 of file itkSpatialObject.h.
typedef std::list< Pointer > itk::SpatialObject< VDimension >::ChildrenListType |
Return type for the list of children
Definition at line 105 of file itkSpatialObject.h.
typedef SmartPointer< const Self > itk::SpatialObject< VDimension >::ConstPointer |
Definition at line 76 of file itkSpatialObject.h.
typedef CovariantVector< ScalarType, VDimension > itk::SpatialObject< VDimension >::CovariantVectorType |
Definition at line 84 of file itkSpatialObject.h.
typedef Index< VDimension > itk::SpatialObject< VDimension >::IndexType |
Index typedef support. An index is used to access pixel values.
Definition at line 109 of file itkSpatialObject.h.
typedef Point< ScalarType, VDimension > itk::SpatialObject< VDimension >::InputType |
Definition at line 80 of file itkSpatialObject.h.
typedef Offset< VDimension > itk::SpatialObject< VDimension >::OffsetType |
Offset typedef support. An offset represent relative position between indices.
Definition at line 113 of file itkSpatialObject.h.
typedef OutputVectorType* itk::SpatialObject< VDimension >::OutputVectorPointer |
Definition at line 90 of file itkSpatialObject.h.
typedef CovariantVector< double, VDimension > itk::SpatialObject< VDimension >::OutputVectorType |
Definition at line 89 of file itkSpatialObject.h.
typedef SmartPointer< Self > itk::SpatialObject< VDimension >::Pointer |
Definition at line 75 of file itkSpatialObject.h.
typedef PointType* itk::SpatialObject< VDimension >::PointPointer |
Definition at line 81 of file itkSpatialObject.h.
typedef Point< ScalarType, VDimension > itk::SpatialObject< VDimension >::PointType |
Definition at line 78 of file itkSpatialObject.h.
typedef PropertyType::Pointer itk::SpatialObject< VDimension >::PropertyPointer |
Definition at line 117 of file itkSpatialObject.h.
typedef SpatialObjectProperty< float > itk::SpatialObject< VDimension >::PropertyType |
Definition at line 116 of file itkSpatialObject.h.
typedef ImageRegion< VDimension > itk::SpatialObject< VDimension >::RegionType |
Definition at line 114 of file itkSpatialObject.h.
typedef double itk::SpatialObject< VDimension >::ScalarType |
Definition at line 64 of file itkSpatialObject.h.
typedef SpatialObject< VDimension > itk::SpatialObject< VDimension >::Self |
Definition at line 72 of file itkSpatialObject.h.
typedef Size< VDimension > itk::SpatialObject< VDimension >::SizeType |
Definition at line 115 of file itkSpatialObject.h.
typedef double* itk::SpatialObject< VDimension >::SpacingType |
Definition at line 87 of file itkSpatialObject.h.
typedef DataObject itk::SpatialObject< VDimension >::Superclass |
Definition at line 73 of file itkSpatialObject.h.
typedef const TransformType* itk::SpatialObject< VDimension >::TransformConstPointer |
Definition at line 94 of file itkSpatialObject.h.
typedef TransformType::Pointer itk::SpatialObject< VDimension >::TransformPointer |
Definition at line 93 of file itkSpatialObject.h.
typedef ScalableAffineTransform< double, VDimension > itk::SpatialObject< VDimension >::TransformType |
Definition at line 92 of file itkSpatialObject.h.
typedef SpatialObjectTreeNode< VDimension > itk::SpatialObject< VDimension >::TreeNodeType |
Definition at line 119 of file itkSpatialObject.h.
typedef VectorContainer< IdentifierType, PointType > itk::SpatialObject< VDimension >::VectorContainerType |
Definition at line 96 of file itkSpatialObject.h.
typedef VectorType* itk::SpatialObject< VDimension >::VectorPointer |
Definition at line 85 of file itkSpatialObject.h.
typedef Vector< ScalarType, VDimension > itk::SpatialObject< VDimension >::VectorType |
Definition at line 83 of file itkSpatialObject.h.
|
protected |
Constructor.
|
protectedvirtual |
Destructor.
|
private |
void itk::SpatialObject< VDimension >::AddSpatialObject | ( | Self * | pointer | ) |
Theses functions are just calling the itkSpatialObjectTreeNode functions Add an object to the list of children.
|
virtual |
Clear the spatial object by deleting all lists of children and subchildren
Reimplemented in itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, and itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >.
|
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.
|
inline |
Compute the index of the pixel at a specified offset from the beginning of the buffered region.
Definition at line 297 of file itkSpatialObject.h.
|
inlinevirtual |
Reimplemented in itk::ContourSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::ArrowSpatialObject< TDimension >, itk::BlobSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::LandmarkSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::EllipseSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::CylinderSpatialObject, itk::ImageMaskSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, and itk::GroupSpatialObject< TDimension >.
Definition at line 496 of file itkSpatialObject.h.
void itk::SpatialObject< VDimension >::ComputeObjectToParentTransform | ( | ) |
Compute the Local transform when the global transform is set
void itk::SpatialObject< VDimension >::ComputeObjectToWorldTransform | ( | ) |
Compute the World transform when the local transform is set This function should be called each time the local transform has been modified
|
inline |
Compute an offset from the beginning of the buffer for a pixel at the specified index.
Definition at line 277 of file itkSpatialObject.h.
|
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.
|
overridevirtual |
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.
Reimplemented in itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, and itk::EllipseSpatialObject< TDimension >.
|
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.
Reimplemented in itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, and itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >.
|
virtual |
Return the n-th order derivative value at the specified point.
|
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 193 of file itkSpatialObject.h.
|
virtual |
Set/Get the AffineGeometryFrame
|
virtual |
Get a pointer to the bounding box of the object. The extents and the position of the box are not computed.
|
virtual |
Set/Get the depth at which the bounding box is computed
|
virtual |
Set/Get the name of the children to consider when computing the bounding box
|
protectedvirtual |
|
inlinevirtual |
Get the region object that defines the size and starting index of the region of the image currently loaded in memory.
Definition at line 241 of file itkSpatialObject.h.
|
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.
|
virtual |
Set/Get the default inside value (ValueAt()) of the object. Default is 1.0
|
virtual |
Set/Get the default outside value (ValueAt()) of the object. Default is 0.0
|
protectedvirtual |
|
virtual |
Get/Set the ID
const TransformType* itk::SpatialObject< VDimension >::GetIndexToObjectTransform | ( | ) | 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)
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetSpacing().
|
inline |
Definition at line 413 of file itkSpatialObject.h.
|
virtual |
|
protectedvirtual |
|
inlinevirtual |
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.
Definition at line 230 of file itkSpatialObject.h.
|
inline |
Return the maximum depth that a tree of spatial objects can have. This provides convenient access to a static constant.
Definition at line 70 of file itkSpatialObject.h.
|
virtual |
Set/Get the AffineGeometryFrame
|
protectedvirtual |
|
inline |
Definition at line 409 of file itkSpatialObject.h.
|
virtual |
|
protectedvirtual |
|
virtual |
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed
|
virtual |
Return a raw pointer to the node container
|
overridevirtual |
Returns the latest modified time of the spatial object, and any of its components.
Reimplemented from itk::Object.
Reimplemented in itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::MeshSpatialObject< TMesh >, and itk::FEMObjectSpatialObject< TDimension >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::DataObject.
Reimplemented in itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::BlobSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::DTITubeSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::VesselTubeSpatialObject< TDimension >, itk::ImageMaskSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::ContourSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::SurfaceSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::LandmarkSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::FEMObjectSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::ArrowSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::CylinderSpatialObject, and itk::PolygonSpatialObject< TDimension >.
TransformType* itk::SpatialObject< VDimension >::GetNodeToParentNodeTransform | ( | ) |
const TransformType* itk::SpatialObject< VDimension >::GetNodeToParentNodeTransform | ( | ) | const |
unsigned int itk::SpatialObject< VDimension >::GetNumberOfChildren | ( | unsigned int | depth = 0 , |
char * | name = nullptr |
||
) | const |
Returns the number of children currently assigned to the object.
|
inline |
Get the dimensionality of the object
Definition at line 134 of file itkSpatialObject.h.
|
inline |
Returns the latest modified time of the spatial object, but not the modification time of the children
Definition at line 211 of file itkSpatialObject.h.
TransformType* itk::SpatialObject< VDimension >::GetObjectToNodeTransform | ( | ) |
Transforms points from the object-specific "physical" space to the "physical" space of its parent object.
const TransformType* itk::SpatialObject< VDimension >::GetObjectToNodeTransform | ( | ) | const |
TransformType* itk::SpatialObject< VDimension >::GetObjectToParentTransform | ( | ) |
const TransformType* itk::SpatialObject< VDimension >::GetObjectToParentTransform | ( | ) | const |
|
virtual |
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed
|
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 272 of file itkSpatialObject.h.
|
virtual |
Return a pointer to the parent object in the hierarchy tree
|
virtual |
Return a pointer to the parent object in the hierarchy tree
|
virtual |
Set/Get the parent Identification number
PropertyType* itk::SpatialObject< VDimension >::GetProperty | ( | ) |
Returns a pointer to the property object applied to this class.
|
inline |
Compute an offset from the beginning of the buffer for a pixel at the specified index.
Definition at line 363 of file itkSpatialObject.h.
|
inlinevirtual |
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).
Definition at line 260 of file itkSpatialObject.h.
|
inlinevirtual |
Get the spacing of the spatial object.
Definition at line 397 of file itkSpatialObject.h.
|
virtual |
Return the type of the spatial object as a string This is used by the SpatialObjectFactory
unsigned long itk::SpatialObject< VDimension >::GetTransformMTime | ( | ) |
Return the Modified time of the LocalToWorldTransform
|
virtual |
|
inlinevirtual |
Get the typename of the SpatialObject
Definition at line 126 of file itkSpatialObject.h.
unsigned long itk::SpatialObject< VDimension >::GetWorldTransformMTime | ( | ) |
Return the Modified time of the WorldToLocalTransform
|
virtual |
Return true if the object has a parent object. Basically, only the root object , or some isolated objects should return false.
|
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.
|
virtual |
Returns true if a point is inside the object.
Referenced by itk::SpatialObject< TMesh::PointDimension >::Evaluate().
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
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::ContourSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::ArrowSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::GaussianSpatialObject< TDimension >, itk::BlobSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::LineSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::LandmarkSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::CylinderSpatialObject, itk::PointBasedSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::ImageMaskSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::FEMObjectSpatialObject< TDimension >, itk::DTITubeSpatialObject< TDimension >, itk::VesselTubeSpatialObject< TDimension >, and itk::GroupSpatialObject< TDimension >.
void itk::SpatialObject< VDimension >::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.
|
overridevirtual |
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
Reimplemented from itk::DataObject.
|
virtual |
Set/Get the AffineGeometryFrame
|
virtual |
Set/Get the depth at which the bounding box is computed
|
virtual |
Set/Get the name of the children to consider when computing the bounding box
|
virtual |
Set the region object that defines the size and starting index of the region of the image currently loaded in memory.
void itk::SpatialObject< VDimension >::SetChildren | ( | ChildrenListType & | children | ) |
Set the list of pointers to children to the list passed as argument.
|
virtual |
Set/Get the default inside value (ValueAt()) of the object. Default is 1.0
|
virtual |
Set/Get the default outside value (ValueAt()) of the object. Default is 0.0
|
protectedvirtual |
|
virtual |
Compute an offset from the beginning of the buffer for a pixel at the specified index.
|
protected |
This convenience method take the IndexToWorldTransform, and if it can compute its inverse, then stores the result in the InternalInverse member variable, that can be later accessed with the method GetInternalInverseTransform(). This method is not exposed to users, it is only intended to be called internally by derived classes.
|
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.
void itk::SpatialObject< VDimension >::SetNodeToParentNodeTransform | ( | TransformType * | transform | ) |
These function are just calling the node container transforms
void itk::SpatialObject< VDimension >::SetObjectToParentTransform | ( | TransformType * | transform | ) |
Transforms points from the object-specific "physical" space to the "physical" space of its parent object.
void itk::SpatialObject< VDimension >::SetObjectToWorldTransform | ( | TransformType * | transform | ) |
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed
void itk::SpatialObject< VDimension >::SetParent | ( | Self * | parent | ) |
Set the pointer to the parent object in the tree hierarchy used for the spatial object patter.
|
virtual |
Set/Get the parent Identification number
void itk::SpatialObject< VDimension >::SetProperty | ( | PropertyType * | property | ) |
Set the property applied to the object.
|
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).
|
overridevirtual |
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.
Reimplemented from itk::DataObject.
|
overridevirtual |
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().
Reimplemented from itk::DataObject.
|
inline |
Theses functions are just calling the AffineGeometryFrame functions Set the spacing of the spatial object.
Definition at line 390 of file itkSpatialObject.h.
|
virtual |
Set the tree container
|
protectedvirtual |
|
overridevirtual |
Specify that the object has been updated
Reimplemented from itk::DataObject.
|
overridevirtual |
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.
Reimplemented from itk::DataObject.
|
virtual |
Returns the value at a point
|
overridevirtual |
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.
Reimplemented from itk::DataObject.
|
private |
Pointer to the AffineGeometryFrame
Definition at line 610 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetIndexToObjectTransform(), itk::SpatialObject< TMesh::PointDimension >::GetModifiableIndexToObjectTransform(), and itk::SpatialObject< TMesh::PointDimension >::SetSpacing().
|
private |
Definition at line 599 of file itkSpatialObject.h.
|
private |
Definition at line 598 of file itkSpatialObject.h.
|
private |
Definition at line 580 of file itkSpatialObject.h.
|
mutableprivate |
Definition at line 581 of file itkSpatialObject.h.
|
private |
Definition at line 596 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::ComputeIndex(), itk::SpatialObject< TMesh::PointDimension >::ComputeOffset(), and itk::SpatialObject< TMesh::PointDimension >::GetBufferedRegion().
|
private |
Default inside value for the ValueAt()
Definition at line 621 of file itkSpatialObject.h.
|
private |
Default outside value for the ValueAt()
Definition at line 624 of file itkSpatialObject.h.
|
private |
Definition at line 590 of file itkSpatialObject.h.
|
private |
Object Identification Number
Definition at line 603 of file itkSpatialObject.h.
|
private |
Definition at line 585 of file itkSpatialObject.h.
|
private |
We keep an internal list of smart pointers to the immediate children This avoid the deletion of a child
Definition at line 614 of file itkSpatialObject.h.
|
private |
We create an inverse transform pointer since it take time to create it each time to get the inverse transform in the IsInside() method
Definition at line 618 of file itkSpatialObject.h.
|
private |
Definition at line 594 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetLargestPossibleRegion().
|
private |
Definition at line 583 of file itkSpatialObject.h.
|
private |
Definition at line 584 of file itkSpatialObject.h.
|
private |
Definition at line 592 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::ComputeIndex(), itk::SpatialObject< TMesh::PointDimension >::ComputeOffset(), and itk::SpatialObject< TMesh::PointDimension >::GetOffsetTable().
|
private |
Definition at line 604 of file itkSpatialObject.h.
|
private |
Definition at line 600 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetProperty().
|
private |
Definition at line 595 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetRequestedRegion().
|
private |
Pointer to the tree container
Definition at line 607 of file itkSpatialObject.h.
|
private |
Type of spatial object
Definition at line 588 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetTypeName().
|
static |
Definition at line 66 of file itkSpatialObject.h.
Referenced by itk::SpatialObject< TMesh::PointDimension >::GetMaximumDepth().
|
static |
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.
Definition at line 131 of file itkSpatialObject.h.