#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 61 of file itkSpatialObject.h.
|
Definition at line 100 of file itkSpatialObject.h. |
|
Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >, itk::PolygonGroupSpatialObject< TDimension >, and itk::PolygonGroupSpatialObject< 3 >. Definition at line 99 of file itkSpatialObject.h. |
|
Definition at line 103 of file itkSpatialObject.h. |
|
Definition at line 102 of file itkSpatialObject.h. |
|
|
Reimplemented in itk::TubeSpatialObject< TDimension >. Definition at line 86 of file itkSpatialObject.h. |
|
Index typedef support. An index is used to access pixel values. Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >. Definition at line 106 of file itkSpatialObject.h. |
|
Definition at line 107 of file itkSpatialObject.h. |
|
Definition at line 82 of file itkSpatialObject.h. |
|
Offset typedef support. An offset represent relative position between indices. Definition at line 111 of file itkSpatialObject.h. |
|
Definition at line 112 of file itkSpatialObject.h. |
|
Definition at line 90 of file itkSpatialObject.h. |
|
Definition at line 89 of file itkSpatialObject.h. |
|
|
Definition at line 83 of file itkSpatialObject.h. |
|
|
Definition at line 116 of file itkSpatialObject.h. |
|
Definition at line 115 of file itkSpatialObject.h. |
|
Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >. Definition at line 113 of file itkSpatialObject.h. |
|
|
|
Definition at line 114 of file itkSpatialObject.h. |
|
|
Definition at line 94 of file itkSpatialObject.h. |
|
Definition at line 93 of file itkSpatialObject.h. |
|
|
Definition at line 96 of file itkSpatialObject.h. |
|
Definition at line 87 of file itkSpatialObject.h. |
|
Reimplemented in itk::TubeSpatialObject< TDimension >. Definition at line 85 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 >.
|
|
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 0, meaning that only the bounding box for the object itself is computed. This depth can be set (before calling ComputeBoundingBox) using SetBoundingBoxChildrenDepth(). By calling SetBoundingBoxChildrenName(), it is possible to restrict the bounding box computation to objects of a specified type or family of types. The spatial objects included in the computation are those whose typenames share, as their initial substring, the string specified via SetBoundingBoxChildrenName(). The root spatial object (on which the method is called) is not treated specially. If its typename does not match the bounding box children name, then it is not included in the bounding box computation, but its descendents that match the string are included. Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.
|
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Definition at line 364 of file itkSpatialObject.h. |
|
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 344 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.
|
|
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 192 of file itkSpatialObject.h. |
|
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 308 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. |
|
|
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) |
|
|
|
|
|
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.
|
|
Return the maximum depth that a tree of spatial objects can have. This provides convenient access to a static constant. Definition at line 73 of file itkSpatialObject.h. |
|
Returns the latest modified time of the spatial object, and any of its components. Reimplemented from itk::Object.
Reimplemented in itk::ImageSpatialObject< TDimension, PixelType >.
|
|
Returns the number of children currently assigned to the 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 339 of file itkSpatialObject.h. |
|
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 430 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 327 of file itkSpatialObject.h. |
|
Set/Get a flag to tell if the scene manages the memory |
|
Get the spacing of the spatial object. Definition at line 465 of file itkSpatialObject.h. |
|
Return the Modified time of the LocalToWorldTransform |
|
Get the typename of the SpatialObject Definition at line 123 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. |
|
Returns true if the object can provide a "meaningful" value at a point. Often defaults to returning same answer as IsInside, but certain objects influence space beyond their spatial extent, e.g., an RFA Needle Spatial Object can cause a burn that extends beyond the tip of the needle. Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.
|
|
|
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. |
|
|
|
|
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from itk::DataObject.
Reimplemented in itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, and itk::TubeSpatialObject< TDimension >.
|
|
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 Implements itk::DataObject.
|
|
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. |
|
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) |
|
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.
|
|
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. Implements 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(). Implements itk::DataObject.
|
|
Set/Get a flag to tell if the scene manages the memory |
|
Set the spacing of the spatial object. Definition at line 461 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. Implements 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. Implements itk::DataObject.
|
|
Definition at line 515 of file itkSpatialObject.h. |
|
Definition at line 514 of file itkSpatialObject.h. |
|
Definition at line 475 of file itkSpatialObject.h. |
|
Definition at line 476 of file itkSpatialObject.h. |
|
Definition at line 512 of file itkSpatialObject.h. |
|
List of the children object plug to the composite spatial object. Definition at line 494 of file itkSpatialObject.h. |
|
Definition at line 506 of file itkSpatialObject.h. |
|
Object Identification Number Definition at line 519 of file itkSpatialObject.h. |
|
Definition at line 478 of file itkSpatialObject.h. |
|
Definition at line 481 of file itkSpatialObject.h. |
|
Definition at line 510 of file itkSpatialObject.h. |
|
Definition at line 479 of file itkSpatialObject.h. |
|
Definition at line 480 of file itkSpatialObject.h. |
|
Definition at line 508 of file itkSpatialObject.h. |
|
Definition at line 502 of file itkSpatialObject.h. |
|
Definition at line 520 of file itkSpatialObject.h. |
|
Definition at line 516 of file itkSpatialObject.h. |
|
Definition at line 511 of file itkSpatialObject.h. |
|
Scene memory management Definition at line 523 of file itkSpatialObject.h. |
|
Definition at line 504 of file itkSpatialObject.h. |
|
Definition at line 482 of file itkSpatialObject.h. |