ITK
6.0.0
Insight 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 object 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 overriding just a few virtual functions. Examples of such functions are ValueAtInObjectSpace(), IsInsideInObjectSpace(), and ComputeMyBoundingBox(), each of which has a meaning specific to each particular object type.
Definition at line 58 of file itkSpatialObject.h.
Public Member Functions | |
void | AddChild (Self *pointer) |
virtual void | AddChildrenToConstList (ChildrenConstListType *childrenList, unsigned int depth=0, const std::string &name="") const |
virtual void | AddChildrenToList (ChildrenListType *childrenList, unsigned int depth=0, const std::string &name="") const |
bool | CheckIdValidity () const |
virtual void | Clear () |
virtual bool | ComputeFamilyBoundingBox (unsigned int depth=0, const std::string &name="") const |
void | ComputeObjectToParentTransform () |
void | CopyInformation (const DataObject *data) override |
virtual void | DerivativeAtInObjectSpace (const PointType &point, short unsigned int order, CovariantVectorType &value, unsigned int depth=0, const std::string &name="", const DerivativeOffsetType &offset=MakeFilled< DerivativeOffsetType >(1)) |
void | DerivativeAtInWorldSpace (const PointType &point, short unsigned int order, CovariantVectorType &value, unsigned int depth=0, const std::string &name="", const DerivativeOffsetType &offset=MakeFilled< DerivativeOffsetType >(1)) |
bool | Evaluate (const PointType &point) const |
void | FixIdValidity () |
bool | FixParentChildHierarchyUsingParentIds () |
virtual const RegionType & | GetBufferedRegion () const |
virtual ChildrenListType * | GetChildren (unsigned int depth=0, const std::string &name="") const |
virtual std::string | GetClassNameAndDimension () const |
virtual ChildrenConstListType * | GetConstChildren (unsigned int depth=0, const std::string &name="") const |
virtual const BoundingBoxType * | GetFamilyBoundingBoxInObjectSpace () const |
virtual const BoundingBoxType * | GetFamilyBoundingBoxInWorldSpace () const |
virtual const RegionType & | GetLargestPossibleRegion () const |
unsigned int | GetMaximumDepth () const |
ModifiedTimeType | GetMTime () const override |
virtual const BoundingBoxType * | GetMyBoundingBoxInObjectSpace () const |
virtual const BoundingBoxType * | GetMyBoundingBoxInWorldSpace () const |
ModifiedTimeType | GetMyMTime () const |
const char * | GetNameOfClass () const override |
int | GetNextAvailableId () const |
unsigned int | GetNumberOfChildren (unsigned int depth=0, const std::string &name="") const |
SpatialObject< VDimension > * | GetObjectById (int id) |
unsigned int | GetObjectDimension () const |
virtual Self * | GetParent () |
virtual const Self * | GetParent () const |
PropertyType & | GetProperty () |
const PropertyType & | GetProperty () const |
virtual const RegionType & | GetRequestedRegion () const |
virtual std::string | GetTypeName () const |
virtual bool | HasParent () const |
virtual bool | IsEvaluableAtChildrenInObjectSpace (const PointType &point, unsigned int depth=0, const std::string &name="") const |
virtual bool | IsEvaluableAtInObjectSpace (const PointType &point, unsigned int depth=0, const std::string &name="") const |
bool | IsEvaluableAtInWorldSpace (const PointType &point, unsigned int depth=0, const std::string &name="") const |
virtual bool | IsInsideChildrenInObjectSpace (const PointType &point, unsigned int depth=0, const std::string &name="") const |
virtual bool | IsInsideInObjectSpace (const PointType &point) const |
bool | IsInsideInObjectSpace (const PointType &point, unsigned int depth, const std::string &name="") const |
bool | IsInsideInWorldSpace (const PointType &point) const |
bool | IsInsideInWorldSpace (const PointType &point, unsigned int depth, const std::string &name="") const |
void | RemoveAllChildren (unsigned int depth=MaximumDepth) |
bool | RemoveChild (Self *pointer) |
bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
virtual void | SetBufferedRegion (const RegionType ®ion) |
void | SetChildren (ChildrenListType &children) |
virtual void | SetLargestPossibleRegion (const RegionType ®ion) |
void | SetParent (Self *parent) |
void | SetRequestedRegion (const DataObject *data) override |
virtual void | SetRequestedRegion (const RegionType ®ion) |
void | SetRequestedRegionToLargestPossibleRegion () override |
virtual void | SetTypeName (std::string _arg) |
void | Update () override |
void | UpdateOutputInformation () override |
virtual bool | ValueAtChildrenInObjectSpace (const PointType &point, double &value, unsigned int depth=0, const std::string &name="") const |
virtual bool | ValueAtInObjectSpace (const PointType &point, double &value, unsigned int depth=0, const std::string &name="") const |
bool | ValueAtInWorldSpace (const PointType &point, double &value, unsigned int depth=0, const std::string &name="") const |
bool | VerifyRequestedRegion () override |
void | SetId (int id) |
virtual const int & | GetId () const |
void | SetProperty (const PropertyType &property) |
void | SetObjectToWorldTransform (const TransformType *transform) |
virtual TransformType * | GetModifiableObjectToWorldTransform () |
const TransformType * | GetObjectToWorldTransformInverse () const |
void | SetObjectToParentTransform (const TransformType *transform) |
virtual TransformType * | GetModifiableObjectToParentTransform () |
const TransformType * | GetObjectToParentTransformInverse () const |
virtual void | SetDefaultInsideValue (double _arg) |
virtual double | GetDefaultInsideValue () const |
virtual void | SetDefaultOutsideValue (double _arg) |
virtual double | GetDefaultOutsideValue () const |
virtual void | SetParentId (int _arg) |
virtual const int & | GetParentId () const |
Public Member Functions inherited from itk::DataObject | |
virtual void | CopyInformation (const DataObject *) |
virtual void | DataHasBeenGenerated () |
void | DisconnectPipeline () |
bool | GetDataReleased () const |
const char * | GetNameOfClass () const override |
virtual const bool & | GetReleaseDataFlag () const |
SmartPointer< 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 | ReleaseDataFlagOn () |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () |
virtual void | ResetPipeline () |
void | SetReleaseDataFlag (bool flag) |
virtual void | SetRequestedRegion (const DataObject *) |
virtual void | SetRequestedRegionToLargestPossibleRegion () |
bool | ShouldIReleaseData () const |
virtual void | Update () |
virtual void | UpdateOutputData () |
virtual void | UpdateOutputInformation () |
void | UpdateSource () const |
virtual bool | VerifyRequestedRegion () |
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 *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
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 Pointer | New () |
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 val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | MaximumDepth = std::numeric_limits<unsigned int>::max() |
static constexpr ObjectDimensionType | ObjectDimension = VDimension |
Protected Member Functions | |
virtual void | ComputeMyBoundingBox () |
BoundingBoxType * | GetModifiableMyBoundingBoxInObjectSpace () |
LightObject::Pointer | InternalClone () const override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | ProtectedComputeObjectToWorldTransform () |
SpatialObject ()=default | |
~SpatialObject () override | |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | PropagateResetPipeline () |
~DataObject () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::SpatialObject< VDimension >::BoundingBoxPointer = typename BoundingBoxType::Pointer |
Definition at line 107 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::BoundingBoxType = BoundingBox<IdentifierType, VDimension, ScalarType, VectorContainerType> |
Definition at line 106 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ChildrenConstListPointer = ChildrenConstListType * |
Definition at line 113 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ChildrenConstListType = std::list<ConstPointer> |
Definition at line 111 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ChildrenListPointer = ChildrenListType * |
Definition at line 112 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ChildrenListType = std::list<Pointer> |
Return type for the list of children
Definition at line 110 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ConstPointer = SmartPointer<const Self> |
Definition at line 83 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::CovariantVectorType = CovariantVector<ScalarType, VDimension> |
Definition at line 92 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::DerivativeOffsetType = Vector<double, VDimension> |
Definition at line 98 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::DerivativeVectorPointer = DerivativeVectorType * |
Definition at line 96 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::DerivativeVectorType = CovariantVector<ScalarType, VDimension> |
Definition at line 95 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::IndexType = Index<VDimension> |
Definition at line 123 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::InputType = Point<ScalarType, VDimension> |
Definition at line 87 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ObjectConstListType = std::list<ConstPointer> |
Definition at line 116 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ObjectDimensionType = unsigned int |
Definition at line 65 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ObjectListType = std::list<Pointer> |
Definition at line 115 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::Pointer = SmartPointer<Self> |
Definition at line 82 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::PointPointer = PointType * |
Definition at line 90 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::PointType = Point<ScalarType, VDimension> |
Definition at line 89 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::PropertyType = SpatialObjectProperty |
Definition at line 120 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::RegionType = ImageRegion<VDimension> |
Definition at line 118 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::ScalarType = double |
Definition at line 63 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::Self = SpatialObject<VDimension> |
Definition at line 79 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::SizeType = Size<VDimension> |
Definition at line 124 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::Superclass = DataObject |
Definition at line 80 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::TransformConstPointer = const TransformType * |
Definition at line 102 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::TransformPointer = typename TransformType::Pointer |
Definition at line 101 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::TransformType = AffineTransform<ScalarType, VDimension> |
Definition at line 100 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::VectorContainerType = VectorContainer<PointType> |
Definition at line 104 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::VectorPointer = VectorType * |
Definition at line 93 of file itkSpatialObject.h.
using itk::SpatialObject< VDimension >::VectorType = Vector<ScalarType, VDimension> |
Definition at line 91 of file itkSpatialObject.h.
|
protecteddefault |
Default constructor. Ensures that its bounding boxes are empty (all bounds zero-valued), its list of children is empty, and its transform objects identical to the identity transform, initially.
|
overrideprotected |
Destructor.
void itk::SpatialObject< VDimension >::AddChild | ( | Self * | pointer | ) |
Add an object to the list of children.
|
virtual |
|
virtual |
bool itk::SpatialObject< VDimension >::CheckIdValidity | ( | ) | const |
Check if the parent objects have a defined ID.
Confirms that every object inherited from this has a unique Id.
|
virtual |
Restore a spatial object to its initial state, yet preserves Id as well as parent and children relationships
Reimplemented in itk::ArrowSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::ContourSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< 3, unsigned char >, itk::MeshSpatialObject< TMesh >, itk::PointBasedSpatialObject< TDimension, TSpatialObjectPointType >, itk::PointBasedSpatialObject< 3, SpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, ContourSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3 >, itk::PointBasedSpatialObject< 3, LineSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, SurfaceSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, TubeSpatialObjectPoint< 3 > >, itk::PolygonSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension, TSpatialObjectPointType >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, and itk::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
|
virtual |
Compute an axis-aligned bounding box for an object and its selected children, down to a specified depth, in object space.
After computation, the resulting bounding box is stored in m_FamilyBoundingBoxInWorldSpace.
|
protectedvirtual |
Compute bounding box for the object in object space
Reimplemented in itk::ArrowSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::ImageMaskSpatialObject< TDimension, TPixel >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< 3, unsigned char >, itk::MeshSpatialObject< TMesh >, itk::PointBasedSpatialObject< TDimension, TSpatialObjectPointType >, itk::PointBasedSpatialObject< 3, SpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, ContourSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3 >, itk::PointBasedSpatialObject< 3, LineSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, SurfaceSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, TubeSpatialObjectPoint< 3 > >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, and itk::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
void itk::SpatialObject< VDimension >::ComputeObjectToParentTransform | ( | ) |
Set the local to global transformation.
Compute the local transform when the global transform is set.
This does not change the IndexToObjectMatrix.
|
overridevirtual |
Copy the information from the specified data object. 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< 3, DTITubeSpatialObjectPoint< 3 > >.
|
virtual |
Return the n-th order derivative value at the specified point.
void itk::SpatialObject< VDimension >::DerivativeAtInWorldSpace | ( | const PointType & | point, |
short unsigned int | order, | ||
CovariantVectorType & | value, | ||
unsigned int | depth = 0 , |
||
const std::string & | name = "" , |
||
const DerivativeOffsetType & | offset = MakeFilled< DerivativeOffsetType >(1) |
||
) |
Return the n-th order derivative value at the specified point.
ObjectToWorldTransformInverse
transform is up-to-date. This transform may be updated explicitly by calling GetObjectToWorldTransformInverse()
, Update()
, or SetObjectToWorldTransform(transform)
virtual
anymore.
|
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 680 of file itkSpatialObject.h.
References itk::point().
void itk::SpatialObject< VDimension >::FixIdValidity | ( | ) |
Give every object inherited from this a unique Id
bool itk::SpatialObject< VDimension >::FixParentChildHierarchyUsingParentIds | ( | ) |
In practice, this is used to transform an imported MetaIO scene hierarchy specified only by Ids into the SpatialObject hierarchy specified by Ids and Child/Parent lists.
|
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 590 of file itkSpatialObject.h.
|
virtual |
Get the children affiliated to this object. A depth of 0 returns the immediate children. A depth of 1 returns the children and those children's children.
|
virtual |
Get the class name with the dimension of the spatial object appended.
Returns the type of the spatial object as a string.
Used by the SpatialObjectFactory.
|
virtual |
Get the children affiliated to this object. A depth of 0 returns the immediate children. A depth of 1 returns the children and those children's children.
|
virtual |
Set/Get the default inside value (ValueAtInWorldSpace()) of the object. Default is 1.0
|
virtual |
Set/Get the default outside value (ValueAtInWorldSpace()) of the object. Default is 0.0
|
virtual |
Get a pointer to the bounding box of the object. The extents and the position of the box are not computed.
|
virtual |
Get a pointer to the bounding box of the object. The extents and the position of the box are not computed.
|
virtual |
Get/Set the ID
|
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 575 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 74 of file itkSpatialObject.h.
|
inlineprotected |
Definition at line 728 of file itkSpatialObject.h.
|
virtual |
Set the local to global transformation.
Transforms points from the object-specific "physical" space to the "physical" space of its parent object.
|
virtual |
Set the global to local transformation.
Defines the transformation from the global coordinate frame. By setting this transform, the object transform is updated.
|
overridevirtual |
Returns the latest modified time of the spatial object, and any of its components.
Reimplemented from itk::Object.
|
virtual |
Get a pointer to the axis-aligned bounding box of the object in world space. This box is computed by ComputeMyBoundingBox which is called by Update().
|
virtual |
Get a pointer to the axis-aligned bounding box of the object in world space. This box is computed by ComputeMyBoundingBox which is called by Update().
|
inline |
Returns the latest modified time of the spatial object, but not the modification time of the children
Definition at line 201 of file itkSpatialObject.h.
|
overridevirtual |
Reimplemented from itk::DataObject.
Reimplemented in itk::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
int itk::SpatialObject< VDimension >::GetNextAvailableId | ( | ) | const |
Generate a unique Id.
Returns the next available Id. For speed reason the MaxID+1 is returned.
unsigned int itk::SpatialObject< VDimension >::GetNumberOfChildren | ( | unsigned int | depth = 0 , |
const std::string & | name = "" |
||
) | const |
Get the number of children currently assigned to the object.
SpatialObject< VDimension > * itk::SpatialObject< VDimension >::GetObjectById | ( | int | id | ) |
Return a SpatialObject given its ID, if it is a child.
|
inline |
Get the dimensionality of the object
Definition at line 128 of file itkSpatialObject.h.
const TransformType * itk::SpatialObject< VDimension >::GetObjectToParentTransformInverse | ( | ) | const |
Set the local to global transformation.
Transforms points from the object-specific "physical" space to the "physical" space of its parent object.
const TransformType * itk::SpatialObject< VDimension >::GetObjectToWorldTransformInverse | ( | ) | const |
Set the global to local transformation.
Defines the transformation from the global coordinate frame. By setting this transform, the object transform is updated.
|
virtual |
Get the parent of the spatial object.
Returns a pointer to the parent object in the hierarchy tree.
|
virtual |
Get the parent of the spatial object.
Returns a pointer to the parent object in the hierarchy tree.
|
virtual |
Set/Get the parent Identification number
|
inline |
Definition at line 188 of file itkSpatialObject.h.
|
inline |
Returns a pointer to the property object applied to this class.
Definition at line 182 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 614 of file itkSpatialObject.h.
|
inlinevirtual |
Get the typename of the SpatialObject
Definition at line 152 of file itkSpatialObject.h.
|
virtual |
Return true if the object has a parent object. Basically, only the root object , or some isolated objects should return false.
|
overrideprotectedvirtual |
Actual implementation of the clone method. This method should be reimplemented in subclasses to clone the extra required parameters.
Reimplemented from itk::LightObject.
Reimplemented in itk::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
|
virtual |
Return if the object is evaluable at a point.
|
virtual |
Returns true if the object can provide a "meaningful" value at a point. Often defaults to returning same answer as IsInsideInWorldSpace, 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.
bool itk::SpatialObject< VDimension >::IsEvaluableAtInWorldSpace | ( | const PointType & | point, |
unsigned int | depth = 0 , |
||
const std::string & | name = "" |
||
) | const |
World space equivalent to IsEvaluableAtInObjectSpace
ObjectToWorldTransformInverse
transform is up-to-date. This transform may be updated explicitly by calling GetObjectToWorldTransformInverse()
, Update()
, or SetObjectToWorldTransform(transform)
virtual
anymore.
|
virtual |
Return if a point is inside the object or its children.
|
virtual |
Returns false by default, but is overridden in order to return true if a point is inside the object.
Reimplemented in itk::BoxSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::ImageMaskSpatialObject< TDimension, TPixel >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< 3, unsigned char >, itk::LineSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::PointBasedSpatialObject< TDimension, TSpatialObjectPointType >, itk::PointBasedSpatialObject< 3, SpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, ContourSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3 >, itk::PointBasedSpatialObject< 3, LineSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, SurfaceSpatialObjectPoint< 3 > >, itk::PointBasedSpatialObject< 3, TubeSpatialObjectPoint< 3 > >, itk::PolygonSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, and itk::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
bool itk::SpatialObject< VDimension >::IsInsideInObjectSpace | ( | const PointType & | point, |
unsigned int | depth, | ||
const std::string & | name = "" |
||
) | const |
Returns true if a point is inside the object or its children in object space.
bool itk::SpatialObject< VDimension >::IsInsideInWorldSpace | ( | const PointType & | point | ) | const |
Overload, optimized for depth = 0 and name = "": spatialObject.IsInsideInWorldSpace(point)
is equivalent to spatialObject.IsInsideInWorldSpace(point, 0, "")
, but much faster.
bool itk::SpatialObject< VDimension >::IsInsideInWorldSpace | ( | const PointType & | point, |
unsigned int | depth, | ||
const std::string & | name = "" |
||
) | const |
World space equivalent to IsInsideInObjectSpace
ObjectToWorldTransformInverse
transform is up-to-date. This transform may be updated explicitly by calling GetObjectToWorldTransformInverse()
, Update()
, or SetObjectToWorldTransform(transform)
virtual
anymore.
|
static |
Method for creation through the object factory.
|
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::TubeSpatialObject< 3, DTITubeSpatialObjectPoint< 3 > >.
|
protected |
Compute the World transform when the local transform is set This function should be called each time the local transform has been modified
void itk::SpatialObject< VDimension >::RemoveAllChildren | ( | unsigned int | depth = MaximumDepth | ) |
Remove all children to a given depth
bool itk::SpatialObject< VDimension >::RemoveChild | ( | Self * | pointer | ) |
Remove the object passed as arguments from the list of children.
|
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 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 (ValueAtInWorldSpace()) of the object. Default is 1.0
|
virtual |
Set/Get the default outside value (ValueAtInWorldSpace()) of the object. Default is 0.0
void itk::SpatialObject< VDimension >::SetId | ( | int | id | ) |
Get/Set the ID
|
virtual |
Set the largest possible region.
Sets 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 >::SetObjectToParentTransform | ( | const TransformType * | transform | ) |
Set the local to global transformation.
Transforms points from the object-specific "physical" space to the "physical" space of its parent object.
void itk::SpatialObject< VDimension >::SetObjectToWorldTransform | ( | const TransformType * | transform | ) |
Set the global to local transformation.
Defines the transformation from the global coordinate frame. By setting this transform, the object transform is updated.
void itk::SpatialObject< VDimension >::SetParent | ( | Self * | parent | ) |
Set the pointer to the parent object in the tree hierarchy. Updates the ObjectToParentTransform to keep the object from moving in space.
|
virtual |
Set/Get the parent Identification number
|
inline |
Set the property applied to the object.
Definition at line 173 of file itkSpatialObject.h.
|
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.
|
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 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.
|
virtual |
Set the typename of the SpatialObject. Use cautiously - Conversion, Factory, and IO methods depend on standard naming. Can be used to prepend a subtype to a typename.
|
overridevirtual |
Update - Optionally used to compute a world-coordinate representation of the object. Object-dependent implementation.
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 |
Return the value of the object at a point.
|
virtual |
Returns the value at a point. Returns true if that value is valid.
Reimplemented in itk::GaussianSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, and itk::ImageSpatialObject< 3, unsigned char >.
bool itk::SpatialObject< VDimension >::ValueAtInWorldSpace | ( | const PointType & | point, |
double & | value, | ||
unsigned int | depth = 0 , |
||
const std::string & | name = "" |
||
) | const |
World space equivalent to ValueAtInObjectSpace
ObjectToWorldTransformInverse
transform is up-to-date. This transform may be updated explicitly by calling GetObjectToWorldTransformInverse()
, Update()
, or SetObjectToWorldTransform(transform)
virtual
anymore.
|
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 |
Definition at line 750 of file itkSpatialObject.h.
|
private |
Definition at line 763 of file itkSpatialObject.h.
|
private |
Default inside value for the ValueAtInWorldSpace()
Definition at line 766 of file itkSpatialObject.h.
|
private |
Default outside value for the ValueAtInWorldSpace()
Definition at line 769 of file itkSpatialObject.h.
|
private |
Definition at line 754 of file itkSpatialObject.h.
|
private |
Definition at line 755 of file itkSpatialObject.h.
|
private |
Object Identification Number
Definition at line 738 of file itkSpatialObject.h.
|
private |
Definition at line 748 of file itkSpatialObject.h.
|
private |
Definition at line 752 of file itkSpatialObject.h.
|
private |
Definition at line 753 of file itkSpatialObject.h.
|
private |
Definition at line 757 of file itkSpatialObject.h.
|
private |
Definition at line 758 of file itkSpatialObject.h.
|
private |
Definition at line 760 of file itkSpatialObject.h.
|
private |
Definition at line 761 of file itkSpatialObject.h.
|
private |
Definition at line 746 of file itkSpatialObject.h.
|
private |
Definition at line 745 of file itkSpatialObject.h.
|
private |
Definition at line 743 of file itkSpatialObject.h.
|
private |
Definition at line 749 of file itkSpatialObject.h.
|
private |
Type of spatial object
Definition at line 741 of file itkSpatialObject.h.
|
staticconstexpr |
Definition at line 69 of file itkSpatialObject.h.
|
staticconstexpr |
Definition at line 67 of file itkSpatialObject.h.