Utility class for volume clipping. More...
#include <cmtkVolumeClipping.h>
Public Member Functions | |
void | SetClippingBoundaries (const UniformVolume::CoordinateRegionType ®ion) |
Set clipping boundaries. | |
void | SetDeltaX (const Vector3D &deltaX) |
Set clipped volumes spanning vector in x-direction. | |
void | SetDeltaY (const Vector3D &deltaY) |
Set clipped volumes spanning vector in y-direction. | |
void | SetDeltaZ (const Vector3D &deltaZ) |
Set clipped volumes spanning vector in z-direction. | |
int | ClipX (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1, const bool lowerClosed=false, const bool upperClosed=false) const |
Compute line-to-volume intersection. | |
int | ClipY (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) const |
Compute plane-to-volume intersection. | |
int | ClipZ (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) const |
Compute volume-to-volume intersection. | |
Private Attributes | |
UniformVolume::CoordinateRegionType | m_ClippingRegion |
Clipping boundaries. | |
Vector3D | DeltaX |
Spanning vector of the clipped volume in x-direction. | |
Vector3D | DeltaY |
Spanning vector of the clipped volume in y-direction. | |
Vector3D | DeltaZ |
Spanning vector of the clipped volume in z-direction. |
Utility class for volume clipping.
This class provides functions to compute intersections of volumes with lines, planes, and other volumes. Line-to-volume intersection can be computed by a single function call.
Plane to volume intersection is done by first computing a range of parallel lines that intersect the volume. Then, for each line the line to volume intersection has to be computed to determine the exact intersection.
Analog, for volume to volume intersection, first a range of parallel planes is determined. Those then have to be examined in separate as described before.
This class' main application is ray clipping for DRR computation and volume clipping for voxel based volume similarity computation. All member functions are static, so they can be used without contructing an object.
Definition at line 67 of file cmtkVolumeClipping.h.
void cmtk::VolumeClipping::SetDeltaX | ( | const Vector3D & | deltaX ) | [inline] |
Set clipped volumes spanning vector in x-direction.
deltaX | The direction vector of the rows in the volume to be clipped. The coordinate transformation applied to the clipped volume must have been applied to this vector previously inorder for the clipping to be performed correctly. |
Definition at line 81 of file cmtkVolumeClipping.h.
void cmtk::VolumeClipping::SetDeltaY | ( | const Vector3D & | deltaY ) | [inline] |
Set clipped volumes spanning vector in y-direction.
deltaY | The direction vector of the columns in the volume to be clipped. This is the vector from the origin of the first row in each plane to the origin of the last row in that same plane. The coordinate transformation applied to the clipped volume must have been applied to this vector previously inorder for the clipping to be performed correctly. |
Definition at line 94 of file cmtkVolumeClipping.h.
void cmtk::VolumeClipping::SetDeltaZ | ( | const Vector3D & | deltaZ ) | [inline] |
Set clipped volumes spanning vector in z-direction.
deltaZ | The direction vector of the planes in the volume to be clipped. This is the vector from the origin of the first plane in the volume to the origin of the last plane. The coordinate transformation applied to the clipped volume must have been applied to this vector previously inorder for the clipping to be performed correctly. |
Definition at line 107 of file cmtkVolumeClipping.h.
Vector3D cmtk::VolumeClipping::DeltaX [private] |
Spanning vector of the clipped volume in x-direction.
Definition at line 183 of file cmtkVolumeClipping.h.
Vector3D cmtk::VolumeClipping::DeltaY [private] |
Spanning vector of the clipped volume in y-direction.
Definition at line 186 of file cmtkVolumeClipping.h.
Vector3D cmtk::VolumeClipping::DeltaZ [private] |
Spanning vector of the clipped volume in z-direction.
Definition at line 189 of file cmtkVolumeClipping.h.
Clipping boundaries.
Definition at line 180 of file cmtkVolumeClipping.h.