Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Describes a geometry defined by an vtkAbstractTransform and a plane. More...
#include <mitkAbstractTransformGeometry.h>
Public Types | |
typedef AbstractTransformGeometry | Self |
typedef PlaneGeometry | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::PlaneGeometry | |
enum | PlaneOrientation { Axial, Sagittal, Frontal, None } |
typedef PlaneGeometry | Self |
typedef BaseGeometry | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::BaseGeometry | |
typedef BaseGeometry | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef GeometryTransformHolder::TransformType | TransformType |
typedef itk::BoundingBox< unsigned long, 3, ScalarType > | BoundingBoxType |
typedef BoundingBoxType::BoundsArrayType | BoundsArrayType |
typedef BoundingBoxType::Pointer | BoundingBoxPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
virtual vtkAbstractTransform * | GetVtkAbstractTransform () const |
Get the vtkAbstractTransform (stored in m_VtkAbstractTransform) More... | |
virtual unsigned long | GetMTime () const override |
virtual const PlaneGeometry * | GetPlane () |
Get the rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by AbstractTransformGeometry. More... | |
virtual bool | Project (const mitk::Point3D &pt3d_mm, mitk::Point3D &projectedPt3d_mm) const override |
projects the given point onto the curved plane More... | |
virtual bool | Project (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm) const override |
projects a given vector starting from given point onto the curved plane More... | |
virtual bool | Project (const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm) const override |
projects a given vector starting from standard point onto the curved plane More... | |
virtual bool | Map (const mitk::Point3D &pt3d_mm, mitk::Point2D &pt2d_mm) const override |
Project a 3D point given in mm (pt3d_mm) onto the 2D geometry. The result is a 2D point in mm (pt2d_mm). More... | |
virtual void | Map (const mitk::Point2D &pt2d_mm, mitk::Point3D &pt3d_mm) const override |
Converts a 2D point given in mm (pt2d_mm) relative to the upper-left corner of the geometry into the corresponding world-coordinate (a 3D point in mm, pt3d_mm). More... | |
virtual bool | Map (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec3d_mm, mitk::Vector2D &vec2d_mm) const override |
Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 2D vector in mm (vec2d_mm). More... | |
virtual void | Map (const mitk::Point2D &atPt2d_mm, const mitk::Vector2D &vec2d_mm, mitk::Vector3D &vec3d_mm) const override |
Converts a 2D vector given in mm (vec2d_mm) relative to the upper-left corner of the geometry into the corresponding world-coordinate (a 3D vector in mm, vec3d_mm). More... | |
virtual void | IndexToWorld (const mitk::Point2D &pt_units, mitk::Point2D &pt_mm) const override |
virtual void | WorldToIndex (const mitk::Point2D &pt_mm, mitk::Point2D &pt_units) const override |
virtual void | IndexToWorld (const mitk::Point2D &atPt2d_units, const mitk::Vector2D &vec_units, mitk::Vector2D &vec_mm) const override |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) More... | |
virtual void | IndexToWorld (const mitk::Vector2D &vec_units, mitk::Vector2D &vec_mm) const override |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
virtual void | WorldToIndex (const mitk::Point2D &atPt2d_mm, const mitk::Vector2D &vec_mm, mitk::Vector2D &vec_units) const override |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. More... | |
virtual void | WorldToIndex (const mitk::Vector2D &vec_mm, mitk::Vector2D &vec_units) const override |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. For further information about coordinates types, please see the Geometry documentation. More... | |
virtual bool | IsAbove (const Point3D &pt3d_mm, bool considerBoundingBox=false) const override |
Calculates, whether a point is below or above the plane. There are two different calculation methods, with or without consideration of the bounding box. More... | |
virtual mitk::ScalarType | GetParametricExtentInMM (int direction) const |
virtual const itk::Transform< mitk::ScalarType, 3, 3 > * | GetParametricTransform () const |
virtual void | SetOversampling (mitk::ScalarType oversampling) |
Change the parametric bounds to oversampling times the bounds of m_Plane. More... | |
virtual void | CalculateFrameGeometry () |
Calculates the standard part of a BaseGeometry (IndexToWorldTransform and bounding box) around the curved geometry. Has to be implemented in subclasses. More... | |
virtual void | SetFrameGeometry (const mitk::BaseGeometry *frameGeometry) |
Set the frame geometry which is used as the standard part of an BaseGeometry (IndexToWorldTransform and bounding box) More... | |
virtual itk::LightObject::Pointer | InternalClone () const override |
clones the geometry More... | |
virtual const BoundingBox * | GetParametricBoundingBox () |
Get the parametric bounding-box. More... | |
const BoundingBox::BoundsArrayType & | GetParametricBounds () const |
Get the parametric bounds. More... | |
mitk::ScalarType | GetParametricExtent (int direction) const |
Get the parametric extent. More... | |
Public Member Functions inherited from mitk::PlaneGeometry | |
Pointer | Clone () const |
virtual void | InitializeStandardPlane (const BaseGeometry *geometry3D, PlaneOrientation planeorientation=Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true) |
Initialize a plane with orientation planeorientation (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry. More... | |
virtual void | InitializeStandardPlane (const BaseGeometry *geometry3D, bool top, PlaneOrientation planeorientation=Axial, bool frontside=true, bool rotated=false) |
Initialize a plane with orientation planeorientation (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry. More... | |
virtual void | InitializeStandardPlane (ScalarType width, ScalarType height, const AffineTransform3D *transform=nullptr, PlaneOrientation planeorientation=Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true) |
Initialize a plane with orientation planeorientation (default: axial) with respect to transform (default: identity) given width and height in units. More... | |
virtual void | InitializeStandardPlane (ScalarType width, ScalarType height, const Vector3D &spacing, PlaneOrientation planeorientation=Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true) |
Initialize plane with orientation planeorientation (default: axial) given width, height and spacing. More... | |
virtual void | InitializeStandardPlane (ScalarType width, ScalarType height, const Vector3D &rightVector, const Vector3D &downVector, const Vector3D *spacing=nullptr) |
Initialize plane by width and height in pixels, right-/down-vector (itk) to describe orientation in world-space (vectors will be normalized) and spacing (default: 1.0 mm in all directions). More... | |
virtual void | InitializeStandardPlane (ScalarType width, ScalarType height, const VnlVector &rightVector, const VnlVector &downVector, const Vector3D *spacing=nullptr) |
Initialize plane by width and height in pixels, right-/down-vector (vnl) to describe orientation in world-space (vectors will be normalized) and spacing (default: 1.0 mm in all directions). More... | |
virtual void | InitializeStandardPlane (const Vector3D &rightVector, const Vector3D &downVector, const Vector3D *spacing=nullptr) |
Initialize plane by right-/down-vector (itk) and spacing (default: 1.0 mm in all directions). More... | |
virtual void | InitializeStandardPlane (const VnlVector &rightVector, const VnlVector &downVector, const Vector3D *spacing=nullptr) |
Initialize plane by right-/down-vector (vnl) and spacing (default: 1.0 mm in all directions). More... | |
virtual void | InitializePlane (const Point3D &origin, const Vector3D &normal) |
Initialize plane by origin and normal (size is 1.0 mm in all directions, direction of right-/down-vector valid but undefined). More... | |
void | SetMatrixByVectors (const VnlVector &rightVector, const VnlVector &downVector, ScalarType thickness=1.0) |
Initialize plane by right-/down-vector. More... | |
Vector3D | GetNormal () const |
Normal of the plane. More... | |
VnlVector | GetNormalVnl () const |
Normal of the plane as VnlVector. More... | |
virtual ScalarType | SignedDistance (const Point3D &pt3d_mm) const |
ScalarType | DistanceFromPlane (const Point3D &pt3d_mm) const |
Distance of the point from the plane (bounding-box not considered) More... | |
ScalarType | SignedDistanceFromPlane (const Point3D &pt3d_mm) const |
Signed distance of the point from the plane (bounding-box not considered) More... | |
ScalarType | DistanceFromPlane (const PlaneGeometry *plane) const |
Distance of the plane from another plane (bounding-box not considered) More... | |
ScalarType | SignedDistanceFromPlane (const PlaneGeometry *plane) const |
Signed distance of the plane from another plane (bounding-box not considered) More... | |
bool | IntersectionLine (const PlaneGeometry *plane, Line3D &crossline) const |
Calculate the intersecting line of two planes. More... | |
unsigned int | IntersectWithPlane2D (const PlaneGeometry *plane, Point2D &lineFrom, Point2D &lineTo) const |
Calculate two points where another plane intersects the border of this plane. More... | |
double | Angle (const PlaneGeometry *plane) const |
Calculate the angle between two planes. More... | |
double | Angle (const Line3D &line) const |
Calculate the angle between the plane and a line. More... | |
bool | IntersectionPoint (const Line3D &line, Point3D &intersectionPoint) const |
Calculate intersection point between the plane and a line. More... | |
bool | IntersectionPointParam (const Line3D &line, double &t) const |
Calculate line parameter of intersection point between the plane and a line. More... | |
bool | IsParallel (const PlaneGeometry *plane) const |
Returns whether the plane is parallel to another plane. More... | |
bool | IsOnPlane (const Point3D &point) const |
Returns whether the point is on the plane (bounding-box not considered) More... | |
bool | IsOnPlane (const Line3D &line) const |
Returns whether the line is on the plane (bounding-box not considered) More... | |
bool | IsOnPlane (const PlaneGeometry *plane) const |
Returns whether the plane is on the plane (bounding-box not considered) More... | |
Point3D | ProjectPointOntoPlane (const Point3D &pt) const |
Returns the lot from the point to the plane. More... | |
virtual void | ExecuteOperation (Operation *operation) override |
virtual void | SetSizeInUnits (mitk::ScalarType width, mitk::ScalarType height) |
Set the width and height of this 2D-geometry in units by calling SetBounds. This does not change the extent in mm! More... | |
ScalarType | Distance (const Point3D &pt3d_mm) const |
Distance of the point from the geometry (bounding-box not considered) More... | |
void | SetReferenceGeometry (const mitk::BaseGeometry *geometry) |
Set the geometrical frame of reference in which this PlaneGeometry is placed. More... | |
const BaseGeometry * | GetReferenceGeometry () const |
Get the geometrical frame of reference for this PlaneGeometry. More... | |
bool | HasReferenceGeometry () const |
Public Member Functions inherited from mitk::BaseGeometry | |
Pointer | Clone () const |
const Point3D | GetOrigin () const |
Get the origin, e.g. the upper-left corner of the plane. More... | |
void | SetOrigin (const Point3D &origin) |
Set the origin, i.e. the upper-left corner of the plane. More... | |
const mitk::Vector3D | GetSpacing () const |
Get the spacing (size of a pixel). More... | |
void | SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false) |
Set the spacing (m_Spacing). More... | |
VnlVector | GetOriginVnl () const |
Get the origin as VnlVector. More... | |
virtual unsigned int | GetFrameOfReferenceID () const |
Get the DICOM FrameOfReferenceID referring to the used world coordinate system. More... | |
virtual void | SetFrameOfReferenceID (unsigned int _arg) |
Set the DICOM FrameOfReferenceID referring to the used world coordinate system. More... | |
virtual unsigned long | GetIndexToWorldTransformLastModified () const |
void | Modified () const override |
Overload of function Modified() to prohibit several calls of Modified() using the ModifiedLock class. More... | |
virtual bool | IsValid () const |
Is this BaseGeometry in a state that is valid? More... | |
void | Initialize () |
Initialize the BaseGeometry. More... | |
void | InitializeGeometry (Self *newGeometry) const |
mitk::AffineTransform3D * | GetIndexToWorldTransform () |
Get the transformation used to convert from index to world coordinates. More... | |
const mitk::AffineTransform3D * | GetIndexToWorldTransform () const |
Get the transformation used to convert from index to world coordinates. More... | |
void | SetIndexToWorldTransform (mitk::AffineTransform3D *transform) |
void | SetIndexToWorldTransformByVtkMatrix (vtkMatrix4x4 *vtkmatrix) |
Convenience method for setting the ITK transform (m_IndexToWorldTransform) via an vtkMatrix4x4.The spacing of the new transform is copied to m_spacing. More... | |
void | SetIndexToWorldTransformWithoutChangingSpacing (mitk::AffineTransform3D *transform) |
void | SetIndexToWorldTransformByVtkMatrixWithoutChangingSpacing (vtkMatrix4x4 *vtkmatrix) |
Convenience method for setting the ITK transform (m_IndexToWorldTransform) via an vtkMatrix4x4. This function keeps the original spacing. More... | |
vtkMatrix4x4 * | GetVtkMatrix () |
vtkLinearTransform * | GetVtkTransform () const |
Get the m_IndexToWorldTransform as a vtkLinearTransform. More... | |
void | SetIdentity () |
Set the transform to identity, the spacing to 1 and origin to 0. More... | |
void | Compose (const TransformType *other, bool pre=0) |
Compose new IndexToWorldTransform with a given transform. More... | |
void | Compose (const vtkMatrix4x4 *vtkmatrix, bool pre=0) |
Compose new IndexToWorldTransform with a given vtkMatrix4x4. More... | |
void | Translate (const Vector3D &vector) |
Translate the origin by a vector. More... | |
void | WorldToIndex (const mitk::Point3D &pt_mm, mitk::Point3D &pt_units) const |
Convert world coordinates (in mm) of a point to (continuous!) index coordinates. More... | |
void | WorldToIndex (const mitk::Vector3D &vec_mm, mitk::Vector3D &vec_units) const |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. For further information about coordinates types, please see the Geometry documentation. More... | |
template<unsigned int VIndexDimension> | |
void | WorldToIndex (const mitk::Point3D &pt_mm, itk::Index< VIndexDimension > &index) const |
Convert world coordinates (in mm) of a point to (discrete!) index coordinates. This method rounds to integer indices! For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Point3D &pt_units, mitk::Point3D &pt_mm) const |
Convert (continuous or discrete) index coordinates of a point to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
template<unsigned int VIndexDimension> | |
void | IndexToWorld (const itk::Index< VIndexDimension > &index, mitk::Point3D &pt_mm) const |
Convert (discrete) index coordinates of a point to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation. More... | |
void | IndexToWorld (const mitk::Point3D &atPt3d_units, const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) More... | |
void | WorldToIndex (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec_mm, mitk::Vector3D &vec_units) const |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. More... | |
template<class TCoordRep > | |
void | ItkPhysicalPointToWorld (const itk::Point< TCoordRep, 3 > &itkPhysicalPoint, mitk::Point3D &pt_mm) const |
Deprecated for use with ITK version 3.10 or newer. Convert ITK physical coordinates of a point (in mm, but without a rotation) into MITK world coordinates (in mm) More... | |
template<class TCoordRep > | |
void | WorldToItkPhysicalPoint (const mitk::Point3D &pt_mm, itk::Point< TCoordRep, 3 > &itkPhysicalPoint) const |
Deprecated for use with ITK version 3.10 or newer. Convert world coordinates (in mm) of a point to ITK physical coordinates (in mm, but without a possible rotation) More... | |
virtual const BoundingBoxType * | GetBoundingBox () |
const BoundsArrayType | GetBounds () const |
void | SetBounds (const BoundsArrayType &bounds) |
Set the bounding box (in index/unit coordinates) More... | |
void | SetFloatBounds (const float bounds[6]) |
Set the bounding box (in index/unit coordinates) via a float array. More... | |
void | SetFloatBounds (const double bounds[6]) |
Set the bounding box (in index/unit coordinates) via a double array. More... | |
VnlVector | GetMatrixColumn (unsigned int direction) const |
Get a VnlVector along bounding-box in the specified direction, length is spacing. More... | |
mitk::BoundingBox::Pointer | CalculateBoundingBoxRelativeToTransform (const mitk::AffineTransform3D *transform) const |
Calculates a bounding-box around the geometry relative to a coordinate system defined by a transform. More... | |
ScalarType | GetExtent (unsigned int direction) const |
Set the time bounds (in ms) More... | |
ScalarType | GetExtentInMM (int direction) const |
Get the extent of the bounding-box in the specified direction in mm. More... | |
Vector3D | GetAxisVector (unsigned int direction) const |
Get vector along bounding-box in the specified direction in mm. More... | |
virtual bool | Is2DConvertable () |
Checks, if the given geometry can be converted to 2D without information loss e.g. when a 2D image is saved, the matrix is usually cropped to 2x2, and when you load it back to MITK it will be filled with standard values. This function checks, if information would be lost during this procedure. More... | |
Point3D | GetCenter () const |
Get the center of the bounding-box in mm. More... | |
double | GetDiagonalLength2 () const |
Get the squared length of the diagonal of the bounding-box in mm. More... | |
double | GetDiagonalLength () const |
Get the length of the diagonal of the bounding-box in mm. More... | |
Point3D | GetCornerPoint (int id) const |
Get the position of the corner number id (in world coordinates) More... | |
Point3D | GetCornerPoint (bool xFront=true, bool yFront=true, bool zFront=true) const |
Get the position of a corner (in world coordinates) More... | |
void | SetExtentInMM (int direction, ScalarType extentInMM) |
Set the extent of the bounding-box in the specified direction in mm. More... | |
bool | IsInside (const mitk::Point3D &p) const |
Test whether the point p (world coordinates in mm) is inside the bounding box. More... | |
bool | IsIndexInside (const mitk::Point3D &index) const |
Test whether the point p ((continous!)index coordinates in units) is inside the bounding box. More... | |
template<unsigned int VIndexDimension> | |
bool | IsIndexInside (const itk::Index< VIndexDimension > &index) const |
Convenience method for working with ITK indices. More... | |
virtual void | ChangeImageGeometryConsideringOriginOffset (const bool isAnImageGeometry) |
When switching from an Image Geometry to a normal Geometry (and the other way around), you have to. More... | |
virtual bool | GetImageGeometry () const |
Is this an ImageGeometry? More... | |
virtual void | SetImageGeometry (bool _arg) |
Define that this BaseGeometry is refering to an Image. More... | |
virtual void | ImageGeometryOn () |
virtual void | ImageGeometryOff () |
const GeometryTransformHolder * | GetGeometryTransformHolder () const |
Public Member Functions inherited from mitk::OperationActor | |
itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Static Public Member Functions inherited from mitk::PlaneGeometry | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
static void | EnsurePerpendicularNormal (AffineTransform3D *transform) |
Change transform so that the third column of the transform-martix is perpendicular to the first two columns. More... | |
Static Public Member Functions inherited from mitk::BaseGeometry | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
AbstractTransformGeometry () | |
AbstractTransformGeometry (const AbstractTransformGeometry &other) | |
virtual | ~AbstractTransformGeometry () |
virtual void | SetVtkAbstractTransform (vtkAbstractTransform *aVtkAbstractTransform) |
Set the vtkAbstractTransform (stored in m_VtkAbstractTransform) More... | |
virtual void | SetPlane (const mitk::PlaneGeometry *aPlane) |
Set the rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by ExternAbstractTransformGeometry. More... | |
virtual void | SetParametricBounds (const BoundingBox::BoundsArrayType &bounds) |
Set the parametric bounds. More... | |
virtual void | PreSetSpacing (const mitk::Vector3D &aSpacing) override |
PreSetSpacing. More... | |
Protected Member Functions inherited from mitk::PlaneGeometry | |
PlaneGeometry () | |
PlaneGeometry (const PlaneGeometry &other) | |
virtual | ~PlaneGeometry () |
virtual void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
virtual void | CheckBounds (const BoundsArrayType &bounds) override |
CheckBounds. More... | |
virtual void | CheckIndexToWorldTransform (mitk::AffineTransform3D *transform) override |
CheckIndexToWorldTransform. More... | |
Protected Member Functions inherited from mitk::BaseGeometry | |
BaseGeometry () | |
BaseGeometry (const BaseGeometry &other) | |
virtual | ~BaseGeometry () |
virtual unsigned int | GetNDimensions () const |
bool | IsBoundingBoxNull () const |
bool | IsIndexToWorldTransformNull () const |
void | SetVtkMatrixDeepCopy (vtkTransform *vtktransform) |
void | _SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false) |
Protected Attributes | |
mitk::PlaneGeometry::Pointer | m_Plane |
The rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by AbstractTransformGeometry. More... | |
itk::VtkAbstractTransform< ScalarType >::Pointer | m_ItkVtkAbstractTransform |
mitk::BaseGeometry::Pointer | m_FrameGeometry |
mitk::BoundingBox::Pointer | m_ParametricBoundingBox |
Protected Attributes inherited from mitk::PlaneGeometry | |
const mitk::BaseGeometry * | m_ReferenceGeometry |
Additional Inherited Members | |
Static Protected Member Functions inherited from mitk::BaseGeometry | |
static const std::string | GetTransformAsString (TransformType *transformType) |
Describes a geometry defined by an vtkAbstractTransform and a plane.
vtkAbstractTransform is the most general transform in vtk (superclass for all vtk geometric transformations). It defines an arbitrary 3D transformation, i.e., a transformation of 3D space into 3D space. In contrast, AbstractTransformGeometry (since it is a subclass of PlaneGeometry) describes a 2D manifold in 3D space. The 2D manifold is defined as the manifold that results from transforming a rectangle (given in m_Plane as a PlaneGeometry) by the vtkAbstractTransform (given in m_VtkAbstractTransform). The PlaneGeometry m_Plane is used to define the parameter space. 2D coordinates are first mapped by the PlaneGeometry and the resulting 3D coordinates are put into the vtkAbstractTransform.
Definition at line 48 of file mitkAbstractTransformGeometry.h.
typedef itk::SmartPointer<const Self> mitk::AbstractTransformGeometry::ConstPointer |
Definition at line 51 of file mitkAbstractTransformGeometry.h.
Definition at line 51 of file mitkAbstractTransformGeometry.h.
Definition at line 51 of file mitkAbstractTransformGeometry.h.
Definition at line 51 of file mitkAbstractTransformGeometry.h.
|
protected |
Definition at line 20 of file mitkAbstractTransformGeometry.cpp.
References mitk::BaseGeometry::Initialize(), m_ItkVtkAbstractTransform, and itk::VtkAbstractTransform< TScalarType >::New().
|
protected |
Definition at line 26 of file mitkAbstractTransformGeometry.cpp.
References m_FrameGeometry, m_ItkVtkAbstractTransform, m_ParametricBoundingBox, m_Plane, itk::VtkAbstractTransform< TScalarType >::New(), SetFrameGeometry(), SetParametricBounds(), and SetPlane().
|
protectedvirtual |
Definition at line 41 of file mitkAbstractTransformGeometry.cpp.
|
virtual |
Calculates the standard part of a BaseGeometry (IndexToWorldTransform and bounding box) around the curved geometry. Has to be implemented in subclasses.
Definition at line 246 of file mitkAbstractTransformGeometry.cpp.
Pointer mitk::AbstractTransformGeometry::Clone | ( | ) | const |
|
inlineoverridevirtual |
Reimplemented from mitk::PlaneGeometry.
Reimplemented in mitk::LandmarkProjectorBasedCurvedGeometry, and mitk::ThinPlateSplineCurvedGeometry.
Definition at line 51 of file mitkAbstractTransformGeometry.h.
|
virtual |
Reimplemented from mitk::PlaneGeometry.
Reimplemented in mitk::LandmarkProjectorBasedCurvedGeometry, and mitk::ThinPlateSplineCurvedGeometry.
|
overridevirtual |
Definition at line 268 of file mitkAbstractTransformGeometry.cpp.
|
virtual |
Get the parametric bounding-box.
See AbstractTransformGeometry for an example usage of this.
const mitk::BoundingBox::BoundsArrayType & mitk::AbstractTransformGeometry::GetParametricBounds | ( | ) | const |
Get the parametric bounds.
See AbstractTransformGeometry for an example usage of this.
Definition at line 320 of file mitkAbstractTransformGeometry.cpp.
mitk::ScalarType mitk::AbstractTransformGeometry::GetParametricExtent | ( | int | direction | ) | const |
Get the parametric extent.
See AbstractTransformGeometry for an example usage of this.
Definition at line 326 of file mitkAbstractTransformGeometry.cpp.
References mitkThrow.
Referenced by mitk::ExtractDirectedPlaneImageFilter::GenerateData(), and mitk::ExtractSliceFilter::GenerateData().
|
virtual |
Definition at line 50 of file mitkAbstractTransformGeometry.cpp.
Referenced by mitk::ExtractDirectedPlaneImageFilter::GenerateData(), and mitk::ExtractSliceFilter::GenerateData().
|
virtual |
Definition at line 59 of file mitkAbstractTransformGeometry.cpp.
|
virtual |
Get the rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by AbstractTransformGeometry.
Referenced by mitk::ExtractDirectedPlaneImageFilter::GenerateData(), mitk::ExtractSliceFilter::GenerateData(), mitk::ImageVtkMapper2D::GenerateDataForRenderer(), and mitk::DoseImageVtkMapper2D::GenerateDataForRenderer().
|
inlinestatic |
Definition at line 51 of file mitkAbstractTransformGeometry.h.
|
virtual |
Get the vtkAbstractTransform (stored in m_VtkAbstractTransform)
Definition at line 45 of file mitkAbstractTransformGeometry.cpp.
Referenced by mitk::ExtractDirectedPlaneImageFilter::GenerateData(), and mitk::ExtractSliceFilter::GenerateData().
|
overridevirtual |
Reimplemented from mitk::PlaneGeometry.
Definition at line 169 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm)
Reimplemented from mitk::PlaneGeometry.
Definition at line 179 of file mitkAbstractTransformGeometry.cpp.
References MITK_WARN.
|
overridevirtual |
Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm) For further information about coordinates types, please see the Geometry documentation.
Reimplemented from mitk::PlaneGeometry.
Definition at line 188 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
clones the geometry
Overwrite in all sub-classes. Normally looks like:
Reimplemented from mitk::PlaneGeometry.
Reimplemented in mitk::LandmarkProjectorBasedCurvedGeometry, and mitk::ThinPlateSplineCurvedGeometry.
Definition at line 290 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Calculates, whether a point is below or above the plane. There are two different calculation methods, with or without consideration of the bounding box.
Reimplemented from mitk::PlaneGeometry.
Definition at line 207 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Project a 3D point given in mm (pt3d_mm) onto the 2D geometry. The result is a 2D point in mm (pt2d_mm).
The result is a 2D point in mm (pt2d_mm) relative to the upper-left corner of the geometry. To convert this point into units (e.g., pixels in case of an image), use WorldToIndex.
Reimplemented from mitk::PlaneGeometry.
Definition at line 80 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Converts a 2D point given in mm (pt2d_mm) relative to the upper-left corner of the geometry into the corresponding world-coordinate (a 3D point in mm, pt3d_mm).
To convert a 2D point given in units (e.g., pixels in case of an image) into a 2D point given in mm (as required by this method), use IndexToWorld.
Reimplemented from mitk::PlaneGeometry.
Definition at line 90 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 2D vector in mm (vec2d_mm).
The result is a 2D vector in mm (vec2d_mm) relative to the upper-left corner of the geometry. To convert this point into units (e.g., pixels in case of an image), use WorldToIndex.
Reimplemented from mitk::PlaneGeometry.
Definition at line 140 of file mitkAbstractTransformGeometry.cpp.
References mitk::itk2vtk(), and mitk::vtk2itk().
|
overridevirtual |
Converts a 2D vector given in mm (vec2d_mm) relative to the upper-left corner of the geometry into the corresponding world-coordinate (a 3D vector in mm, vec3d_mm).
To convert a 2D vector given in units (e.g., pixels in case of an image) into a 2D vector given in mm (as required by this method), use IndexToWorld.
Reimplemented from mitk::PlaneGeometry.
Definition at line 155 of file mitkAbstractTransformGeometry.cpp.
References mitk::itk2vtk(), and mitk::vtk2itk().
|
static |
|
inlineoverrideprotectedvirtual |
PreSetSpacing.
These virtual function allows a different beahiour in subclasses. Do implement them in every subclass of BaseGeometry. If not needed, use {Superclass::PreSetSpacing();};
Reimplemented from mitk::PlaneGeometry.
Reimplemented in mitk::LandmarkProjectorBasedCurvedGeometry, and mitk::ThinPlateSplineCurvedGeometry.
Definition at line 233 of file mitkAbstractTransformGeometry.h.
|
overridevirtual |
projects the given point onto the curved plane
Reimplemented from mitk::PlaneGeometry.
Definition at line 64 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
projects a given vector starting from given point onto the curved plane
Reimplemented from mitk::PlaneGeometry.
Definition at line 98 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
projects a given vector starting from standard point onto the curved plane
Reimplemented from mitk::PlaneGeometry.
Definition at line 129 of file mitkAbstractTransformGeometry.cpp.
References MITK_WARN.
|
virtual |
Set the frame geometry which is used as the standard part of an BaseGeometry (IndexToWorldTransform and bounding box)
Maybe used as a hint within which the interpolation shall occur by concrete sub-classes.
Reimplemented in mitk::LandmarkProjectorBasedCurvedGeometry.
Definition at line 254 of file mitkAbstractTransformGeometry.cpp.
References mitk::BaseGeometry::Clone(), and mitk::BaseGeometry::IsValid().
Referenced by AbstractTransformGeometry().
|
virtual |
Change the parametric bounds to oversampling times the bounds of m_Plane.
The change is done once (immediately). Later changes of the bounds of m_Plane will not influence the parametric bounds. (Consequently, there is no method to get the oversampling.)
Definition at line 276 of file mitkAbstractTransformGeometry.cpp.
|
protectedvirtual |
Set the parametric bounds.
Protected in this class, made public in some sub-classes, e.g., ExternAbstractTransformGeometry.
Definition at line 297 of file mitkAbstractTransformGeometry.cpp.
References mitk::New().
Referenced by AbstractTransformGeometry().
|
protectedvirtual |
Set the rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by ExternAbstractTransformGeometry.
Protected in this class, made public in ExternAbstractTransformGeometry.
Definition at line 225 of file mitkAbstractTransformGeometry.cpp.
References mitk::PlaneGeometry::Clone().
Referenced by AbstractTransformGeometry().
|
protectedvirtual |
Set the vtkAbstractTransform (stored in m_VtkAbstractTransform)
Protected in this class, made public in ExternAbstractTransformGeometry.
Definition at line 220 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Reimplemented from mitk::PlaneGeometry.
Definition at line 174 of file mitkAbstractTransformGeometry.cpp.
|
overridevirtual |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates.
Reimplemented from mitk::PlaneGeometry.
Definition at line 193 of file mitkAbstractTransformGeometry.cpp.
References MITK_WARN.
|
overridevirtual |
Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates. For further information about coordinates types, please see the Geometry documentation.
Reimplemented from mitk::PlaneGeometry.
Definition at line 202 of file mitkAbstractTransformGeometry.cpp.
|
protected |
Definition at line 216 of file mitkAbstractTransformGeometry.h.
Referenced by AbstractTransformGeometry().
|
protected |
Definition at line 214 of file mitkAbstractTransformGeometry.h.
Referenced by AbstractTransformGeometry().
|
mutableprotected |
Definition at line 225 of file mitkAbstractTransformGeometry.h.
Referenced by AbstractTransformGeometry().
|
protected |
The rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by AbstractTransformGeometry.
Definition at line 212 of file mitkAbstractTransformGeometry.h.
Referenced by AbstractTransformGeometry().