#include <itkSpatialObject.h>
Inheritance diagram for itk::SpatialObject< TDimension >:
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 70 of file itkSpatialObject.h.
|
Definition at line 115 of file itkSpatialObject.h. |
|
Definition at line 114 of file itkSpatialObject.h. |
|
Definition at line 112 of file itkSpatialObject.h. |
|
|
Definition at line 119 of file itkSpatialObject.h. |
|
Return type for the list of children Reimplemented in itk::PolygonGroupSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >. Definition at line 118 of file itkSpatialObject.h. |
|
|
|
Index typedef support. An index is used to access pixel values. Reimplemented in itk::ImageMaskSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, and itk::ImageSpatialObject< TDimension, unsigned char >. Definition at line 123 of file itkSpatialObject.h. |
|
Definition at line 124 of file itkSpatialObject.h. |
|
Definition at line 92 of file itkSpatialObject.h. |
|
Offset typedef support. An offset represent relative position between indices. Definition at line 128 of file itkSpatialObject.h. |
|
Definition at line 129 of file itkSpatialObject.h. |
|
Definition at line 102 of file itkSpatialObject.h. |
|
Definition at line 101 of file itkSpatialObject.h. |
|
|
Definition at line 93 of file itkSpatialObject.h. |
|
|
Definition at line 133 of file itkSpatialObject.h. |
|
Definition at line 132 of file itkSpatialObject.h. |
|
Reimplemented in itk::ImageMaskSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, and itk::ImageSpatialObject< TDimension, unsigned char >. Definition at line 130 of file itkSpatialObject.h. |
|
|
|
Reimplemented in itk::BoxSpatialObject< TDimension >. Definition at line 131 of file itkSpatialObject.h. |
|
Definition at line 99 of file itkSpatialObject.h. |
|
|
Definition at line 106 of file itkSpatialObject.h. |
|
Definition at line 105 of file itkSpatialObject.h. |
|
|
Reimplemented in itk::GroupSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >. Definition at line 135 of file itkSpatialObject.h. |
|
Definition at line 108 of file itkSpatialObject.h. |
|
Definition at line 97 of file itkSpatialObject.h. |
|
|
Constructor. |
|
Destructor. |
|
Add an object to the list of children. |
|
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 > >. |
|
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. |
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Definition at line 316 of file itkSpatialObject.h. |
|
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::ArrowSpatialObject< TDimension >, itk::BlobSpatialObject< TDimension >, itk::BoxSpatialObject< TDimension >, itk::CylinderSpatialObject, itk::EllipseSpatialObject< TDimension >, itk::GaussianSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TTubePointType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, and itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >. Definition at line 504 of file itkSpatialObject.h. |
|
Compute the Local transform when the global transform is set |
|
Compute the World transform when the local transform is set This function should be called each time the local transform has been modified |
|
Compute an offset from the beginning of the buffer for a pixel at the specified index. Definition at line 296 of file itkSpatialObject.h. |
|
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. |
|
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::EllipseSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TTubePointType >, itk::TubeSpatialObject< TDimension, VesselTubeSpatialObjectPoint< TDimension > >, and itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >. |
|
Return the n-th order derivative value at the specified point. |
|
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 210 of file itkSpatialObject.h. |
|
Set/Get the AffineGeometryFrame |
|
Get the bounding box of the object. This function calls ComputeBoundingBox() |
|
Set/Get the depth at which the bounding box is computed |
|
Set/Get the name of the children to consider when computing the bounding box |
|
|
|
Get the region object that defines the size and starting index of the region of the image currently loaded in memory. Definition at line 260 of file itkSpatialObject.h. |
|
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.
|
|
Set/Get the default inside value (ValueAt()) of the object. Default is 1.0 |
|
Set/Get the default outside value (ValueAt()) of the object. Default is 0.0 |
|
|
|
Get/Set the ID |
|
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) |
|
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< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetTreeNode(), and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::SetTreeNode(). |
|
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed |
|
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed |
|
|
|
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 249 of file itkSpatialObject.h. |
|
Return the maximum depth that a tree of spatial objects can have. This provides convenient access to a static constant. Definition at line 82 of file itkSpatialObject.h. |
|
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::MeshSpatialObject< TMesh >, and itk::ImageSpatialObject< TDimension, unsigned char >. |
|
|
These function are just calling the node container transforms |
|
These function are just calling the node container transforms |
|
Returns the number of children currently assigned to the object. |
|
Get the dimensionality of the object Definition at line 150 of file itkSpatialObject.h. |
|
Returns the latest modified time of the spatial object, but not the modification time of the children Definition at line 230 of file itkSpatialObject.h. |
|
Transforms points from the object-specific "physical" space to the "physical" space of its parent object. |
|
Transforms points from the object-specific "physical" space to the "physical" space of its parent object. |
|
Transforms points from the object-specific "physical" space to the "physical" space of its parent object. |
|
Transforms points from the object-specific "physical" space to the "physical" space of its parent object. |
|
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed |
|
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed |
|
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 291 of file itkSpatialObject.h. |
|
Return a pointer to the parent object in the hierarchy tree |
|
Return a pointer to the parent object in the hierarchy tree |
|
Set/Get the parent Identification number |
|
Returns a pointer to the property object applied to this class. Definition at line 382 of file itkSpatialObject.h. |
|
Returns a pointer to the property object applied to this class. |
|
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 279 of file itkSpatialObject.h. |
|
Get the spacing of the spatial object. Definition at line 417 of file itkSpatialObject.h. |
|
Return the type of the spatial object as a string This is used by the SpatialObjectFactory |
|
Return the Modified time of the LocalToWorldTransform |
|
Return a raw pointer to the node container Definition at line 406 of file itkSpatialObject.h. |
|
Return a raw pointer to the node container Definition at line 405 of file itkSpatialObject.h. |
|
Get the typename of the SpatialObject Definition at line 142 of file itkSpatialObject.h. |
|
Return the Modified time of the WorldToLocalTransform |
|
Return true if the object has a parent object. Basically, only the root object , or some isolated objects should return false. |
|
|
|
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. |
|
|
|
|
|
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. |
|
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. |
|
Set/Get the AffineGeometryFrame |
|
Set/Get the depth at which the bounding box is computed |
|
Set/Get the name of the children to consider when computing the bounding box |
|
Set the region object that defines the size and starting index of the region of the image currently loaded in memory. |
|
Set the list of pointers to children to the list passed as argument. |
|
Set/Get the default inside value (ValueAt()) of the object. Default is 1.0 |
|
Set/Get the default outside value (ValueAt()) of the object. Default is 0.0 |
|
|
|
Get/Set the ID |
|
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.
|
|
These function are just calling the node container transforms |
|
Transforms points from the object-specific "physical" space to the "physical" space of its parent object. |
|
This defines the transformation from the global coordinate frame. By setting this transform, the local transform is computed |
|
Set the pointer to the parent object in the tree hierarchy used for the spatial object patter. |
|
Set/Get the parent Identification number |
|
Set the property applied to the object. |
|
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. |
|
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). |
|
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. |
|
Set the spacing of the spatial object. Definition at line 412 of file itkSpatialObject.h. |
|
Set the tree container Definition at line 402 of file itkSpatialObject.h. |
|
|
|
Specify that the object has been updated Reimplemented from itk::DataObject. |
|
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. |
|
|
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. |