Medical Imaging Interaction Toolkit  2018.4.99-87d68d9f
Medical Imaging Interaction Toolkit
mitk::PlaneGeometry Class Reference

Describes a two-dimensional, rectangular plane. More...

#include <mitkPlaneGeometry.h>

Inheritance diagram for mitk::PlaneGeometry:
Collaboration diagram for mitk::PlaneGeometry:

Public Types

enum  PlaneOrientation { Axial, Sagittal, Frontal, None }
 
typedef PlaneGeometry Self
 
typedef BaseGeometry Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from mitk::BaseGeometry
typedef BaseGeometry Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef GeometryTransformHolder::TransformType TransformType
 
typedef itk::BoundingBox< unsigned long, 3, ScalarTypeBoundingBoxType
 
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 void IndexToWorld (const Point2D &pt_units, Point2D &pt_mm) const
 
virtual void WorldToIndex (const Point2D &pt_mm, Point2D &pt_units) const
 
virtual void IndexToWorld (const mitk::Point2D &atPt2d_untis, const mitk::Vector2D &vec_units, mitk::Vector2D &vec_mm) const
 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
 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
 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
 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 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
 
virtual bool IsAbove (const Point3D &pt3d_mm, bool considerBoundingBox=false) const
 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...
 
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...
 
itk::LightObject::Pointer InternalClone () const override
 clones the geometry More...
 
void ExecuteOperation (Operation *operation) override
 
virtual bool Map (const mitk::Point3D &pt3d_mm, mitk::Point2D &pt2d_mm) const
 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
 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 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...
 
virtual bool Project (const mitk::Point3D &pt3d_mm, mitk::Point3D &projectedPt3d_mm) const
 Project a 3D point given in mm (pt3d_mm) onto the 2D geometry. The result is a 3D point in mm (projectedPt3d_mm). More...
 
virtual bool Map (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec3d_mm, mitk::Vector2D &vec2d_mm) const
 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
 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 bool Project (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm) const
 Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 3D vector in mm (projectedVec3d_mm). More...
 
virtual bool Project (const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm) const
 Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 3D vector in mm (projectedVec3d_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 BaseGeometryGetReferenceGeometry () 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::AffineTransform3DGetIndexToWorldTransform ()
 Get the transformation used to convert from index to world coordinates. More...
 
const mitk::AffineTransform3DGetIndexToWorldTransform () 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=false)
 Compose new IndexToWorldTransform with a given transform. More...
 
void Compose (const vtkMatrix4x4 *vtkmatrix, bool pre=false)
 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 BoundingBoxTypeGetBoundingBox ()
 
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 GeometryTransformHolderGetGeometryTransformHolder () const
 
- Public Member Functions inherited from mitk::OperationActor
 itkTypeMacroNoParent (OperationActor) virtual ~OperationActor()
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
static bool CheckRotationMatrix (AffineTransform3D *transform, double epsilon=mitk::eps)
 Check if matrix is a rotation matrix: More...
 
static std::vector< int > CalculateDominantAxes (mitk::AffineTransform3D::MatrixType::InternalMatrixType &rotation_matrix)
 
- Static Public Member Functions inherited from mitk::BaseGeometry
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 PlaneGeometry ()
 
 PlaneGeometry (const PlaneGeometry &other)
 
 ~PlaneGeometry () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void PreSetSpacing (const mitk::Vector3D &aSpacing) override
 PreSetSpacing. More...
 
void CheckBounds (const BoundsArrayType &bounds) override
 CheckBounds. More...
 
void CheckIndexToWorldTransform (mitk::AffineTransform3D *transform) override
 CheckIndexToWorldTransform. More...
 
- Protected Member Functions inherited from mitk::BaseGeometry
 BaseGeometry ()
 
 BaseGeometry (const BaseGeometry &other)
 
 ~BaseGeometry () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
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

const mitk::BaseGeometrym_ReferenceGeometry
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::BaseGeometry
static const std::string GetTransformAsString (TransformType *transformType)
 

Detailed Description

Describes a two-dimensional, rectangular plane.

Definition at line 76 of file mitkPlaneGeometry.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

Definition at line 79 of file mitkPlaneGeometry.h.

◆ Superclass

Member Enumeration Documentation

◆ PlaneOrientation

Enumerator
Axial 
Sagittal 
Frontal 
None 

Definition at line 85 of file mitkPlaneGeometry.h.

Constructor & Destructor Documentation

◆ PlaneGeometry() [1/2]

mitk::PlaneGeometry::PlaneGeometry ( )
protected

Definition at line 26 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::Initialize().

Referenced by InternalClone().

◆ PlaneGeometry() [2/2]

mitk::PlaneGeometry::PlaneGeometry ( const PlaneGeometry other)
protected

Definition at line 28 of file mitkPlaneGeometry.cpp.

◆ ~PlaneGeometry()

mitk::PlaneGeometry::~PlaneGeometry ( )
overrideprotected

Definition at line 27 of file mitkPlaneGeometry.cpp.

Member Function Documentation

◆ Angle() [1/2]

double mitk::PlaneGeometry::Angle ( const PlaneGeometry plane) const

Calculate the angle between two planes.

Returns
angle in radiants

Definition at line 699 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetMatrixColumn().

Referenced by IsParallel().

◆ Angle() [2/2]

double mitk::PlaneGeometry::Angle ( const Line3D line) const

Calculate the angle between the plane and a line.

Returns
angle in radiants

Definition at line 704 of file mitkPlaneGeometry.cpp.

References mitk::Line< TCoordRep, NPointDimension >::GetDirection(), and mitk::BaseGeometry::GetMatrixColumn().

◆ CalculateDominantAxes()

std::vector< int > mitk::PlaneGeometry::CalculateDominantAxes ( mitk::AffineTransform3D::MatrixType::InternalMatrixType &  rotation_matrix)
static

Definition at line 340 of file mitkPlaneGeometry.cpp.

References MITK_DEBUG.

Referenced by InitializeStandardPlane().

◆ CheckBounds()

void mitk::PlaneGeometry::CheckBounds ( const BoundsArrayType bounds)
overrideprotectedvirtual

CheckBounds.

This function is called in SetBounds. Assertions can be implemented in this function (see PlaneGeometry.cpp). If you implement this function in a subclass, make sure, that all classes were your class inherits from have an implementation of CheckBounds (e.g. inheritance BaseGeometry <- A <- B. Implementation of CheckBounds in class B needs implementation in A as

Reimplemented from mitk::BaseGeometry.

Definition at line 65 of file mitkPlaneGeometry.cpp.

◆ CheckIndexToWorldTransform()

void mitk::PlaneGeometry::CheckIndexToWorldTransform ( mitk::AffineTransform3D transform)
overrideprotectedvirtual

CheckIndexToWorldTransform.

This function is called in SetIndexToWorldTransform. Assertions can be implemented in this function (see

Reimplemented from mitk::BaseGeometry.

Definition at line 60 of file mitkPlaneGeometry.cpp.

References CheckRotationMatrix().

◆ CheckRotationMatrix()

bool mitk::PlaneGeometry::CheckRotationMatrix ( mitk::AffineTransform3D transform,
double  epsilon = mitk::eps 
)
static

Check if matrix is a rotation matrix:

  • determinant is 1?
  • R*R^T is ID? Output warning otherwise.

Definition at line 33 of file mitkPlaneGeometry.cpp.

References max(), MITK_WARN, and rotation.

Referenced by CheckIndexToWorldTransform().

◆ Clone()

◆ Distance()

◆ DistanceFromPlane() [1/2]

ScalarType mitk::PlaneGeometry::DistanceFromPlane ( const Point3D pt3d_mm) const

Distance of the point from the plane (bounding-box not considered)

Definition at line 636 of file mitkPlaneGeometry.cpp.

References SignedDistance().

Referenced by mitk::PlanarFigureMapper2D::MitkRender().

◆ DistanceFromPlane() [2/2]

ScalarType mitk::PlaneGeometry::DistanceFromPlane ( const PlaneGeometry plane) const
inline

Distance of the plane from another plane (bounding-box not considered)

Result is 0 if planes are not parallel.

Definition at line 343 of file mitkPlaneGeometry.h.

◆ ExecuteOperation()

◆ GetClassHierarchy()

virtual std::vector<std::string> mitk::PlaneGeometry::GetClassHierarchy ( ) const
inlineoverridevirtual

◆ GetClassName()

virtual const char* mitk::PlaneGeometry::GetClassName ( ) const
virtual

◆ GetNormal()

◆ GetNormalVnl()

VnlVector mitk::PlaneGeometry::GetNormalVnl ( ) const

Normal of the plane as VnlVector.

Definition at line 631 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetIndexToWorldTransform().

Referenced by ProjectPointOntoPlane().

◆ GetReferenceGeometry()

const mitk::BaseGeometry * mitk::PlaneGeometry::GetReferenceGeometry ( ) const

◆ GetStaticNameOfClass()

static const char* mitk::PlaneGeometry::GetStaticNameOfClass ( )
inlinestatic

Definition at line 79 of file mitkPlaneGeometry.h.

◆ HasReferenceGeometry()

◆ IndexToWorld() [1/3]

◆ IndexToWorld() [2/3]

void mitk::PlaneGeometry::IndexToWorld ( const mitk::Point2D atPt2d_untis,
const mitk::Vector2D vec_units,
mitk::Vector2D vec_mm 
) const
virtual

Convert (continuous or discrete) index coordinates of a vector vec_units to world coordinates (in mm)

Deprecated:
First parameter (Point2D) is not used. If possible, please use void IndexToWorld(const

Reimplemented in mitk::AbstractTransformGeometry.

Definition at line 92 of file mitkPlaneGeometry.cpp.

References IndexToWorld(), and MITK_WARN.

◆ IndexToWorld() [3/3]

void mitk::PlaneGeometry::IndexToWorld ( const mitk::Vector2D vec_units,
mitk::Vector2D vec_mm 
) const
virtual

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 in mitk::AbstractTransformGeometry.

Definition at line 99 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetExtent(), and mitk::BaseGeometry::GetExtentInMM().

◆ InitializePlane()

void mitk::PlaneGeometry::InitializePlane ( const Point3D origin,
const Vector3D normal 
)
virtual

Initialize plane by origin and normal (size is 1.0 mm in all directions, direction of right-/down-vector valid but undefined).

Warning
This function can only produce righthanded coordinate orientation, not lefthanded.

Definition at line 580 of file mitkPlaneGeometry.cpp.

References mitk::Equal(), mitk::FillVector3D(), InitializeStandardPlane(), and mitk::BaseGeometry::SetOrigin().

◆ InitializeStandardPlane() [1/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( const BaseGeometry geometry3D,
PlaneOrientation  planeorientation = Axial,
ScalarType  zPosition = 0,
bool  frontside = true,
bool  rotated = false,
bool  top = true 
)
virtual

Initialize a plane with orientation planeorientation (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry.

Warning
A former version of this method created a geometry with unit spacing. For unit spacing use
// for in-plane unit spacing:
thisgeometry->SetSizeInUnits(thisgeometry->GetExtentInMM(0),
thisgeometry->GetExtentInMM(1));
// additionally, for unit spacing in normal direction (former version
// did not do this):
thisgeometry->SetExtentInMM(2, 1.0);

The index of the sagittal, coronal and axial axes in the reference geometry.

The direction of the sagittal, coronal and axial axes in the reference geometry. +1 means that the direction is straight, i.e. greater index translates to greater world coordinate. -1 means that the direction is inverted.

The "world origin" is the corner with the lowest physical coordinates. We use it as a reference point so that we get the correct anatomical orientations.

The distance of the plane origin from the world origin in voxels.

Orientation 'None' shall be done like the axial plane orientation, for whatever reasons.

Definition at line 377 of file mitkPlaneGeometry.cpp.

References Axial, CalculateDominantAxes(), Frontal, mitk::BaseGeometry::GetExtent(), mitk::BaseGeometry::GetImageGeometry(), mitk::BaseGeometry::GetIndexToWorldTransform(), mitk::BaseGeometry::GetOrigin(), mitk::BaseGeometry::GetSpacing(), None, offset, Sagittal, mitk::BaseGeometry::SetBounds(), and SetReferenceGeometry().

Referenced by InitializePlane(), and InitializeStandardPlane().

◆ InitializeStandardPlane() [2/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( const BaseGeometry geometry3D,
bool  top,
PlaneOrientation  planeorientation = Axial,
bool  frontside = true,
bool  rotated = false 
)
virtual

Initialize a plane with orientation planeorientation (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry.

Parameters
topif true, create plane at top, otherwise at bottom (for PlaneOrientation Axial, for other plane locations respectively)

The index of the sagittal, coronal and axial axes in world coordinate system.

Orientation 'None' shall be done like the axial plane orientation, for whatever reasons.

The index of the sagittal, coronal and axial axes in the reference geometry.

Definition at line 475 of file mitkPlaneGeometry.cpp.

References Axial, CalculateDominantAxes(), Frontal, mitk::BaseGeometry::GetExtent(), mitk::BaseGeometry::GetIndexToWorldTransform(), InitializeStandardPlane(), None, and Sagittal.

◆ InitializeStandardPlane() [3/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( mitk::ScalarType  width,
mitk::ScalarType  height,
const AffineTransform3D transform = nullptr,
PlaneGeometry::PlaneOrientation  planeorientation = Axial,
mitk::ScalarType  zPosition = 0,
bool  frontside = true,
bool  rotated = false,
bool  top = true 
)
virtual

Initialize a plane with orientation planeorientation (default: axial) with respect to transform (default: identity) given width and height in units.

Rotated means rotated by 180 degrees (1/2 rotation) within the plane. Rotation by 90 degrees (1/4 rotation) is not implemented as of now.

Frontside/Backside: Viewed from below = frontside in the axial case; (radiologist's view versus neuro-surgeon's view, see: http://www.itk.org/Wiki/images/e/ed/DICOM-OrientationDiagram-Radiologist-vs-NeuroSurgeon.png ) Viewed from front = frontside in the coronal case; Viewed from left = frontside in the sagittal case.

Cave/Caution: Currently only RPI, LAI, LPS and RAS in the three standard planes are covered, i.e. 12 cases of 144: 3 standard planes * 48 coordinate orientations = 144 cases.

construct standard view.

Bottom means downwards, DV means Direction Vector. Both relative to the image!

Origin of this plane is by default a zero vector and implicitly in the top-left corner:

This is different to all definitions in MITK, except the QT mouse clicks. But it is like this here and we don't want to change a running system. Just be aware, that IN THIS FUNCTION we define the origin at the top left (e.g. your screen).

NormalDirection defines which axis (i.e. column index in the transform matrix) is perpendicular to the plane:

Orientation 'None' shall be done like the axial plane orientation, for whatever reasons.

Origin in the top-left corner, x=[1; 0; 0], y=[0; 1; 0], z=[0; 0; 1], origin=[0,0,zpos]: LAI (r.h.)

0—rightDV-—> | | | | Picture of a finite, rectangular plane | | ( insert LOLCAT-scan here ^_^ ) | | | v _________________________________________|

Definition at line 143 of file mitkPlaneGeometry.cpp.

References Axial, mitk::FillVector3D(), Frontal, mitk::BaseGeometry::GetIndexToWorldTransform(), mitk::BaseGeometry::Initialize(), None, Sagittal, mitk::BaseGeometry::SetBounds(), mitk::BaseGeometry::SetIndexToWorldTransform(), and mitk::BaseGeometry::SetOrigin().

◆ InitializeStandardPlane() [4/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( mitk::ScalarType  width,
ScalarType  height,
const Vector3D spacing,
PlaneGeometry::PlaneOrientation  planeorientation = Axial,
ScalarType  zPosition = 0,
bool  frontside = true,
bool  rotated = false,
bool  top = true 
)
virtual

Initialize plane with orientation planeorientation (default: axial) given width, height and spacing.

Definition at line 118 of file mitkPlaneGeometry.cpp.

References InitializeStandardPlane().

◆ InitializeStandardPlane() [5/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( mitk::ScalarType  width,
ScalarType  height,
const Vector3D rightVector,
const Vector3D downVector,
const Vector3D spacing = nullptr 
)
virtual

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).

The vectors are normalized and multiplied by the respective spacing before they are set in the matrix.

This overloaded version of InitializeStandardPlane() creates only righthanded coordinate orientations, unless spacing contains 1 or 3 negative entries.

Definition at line 531 of file mitkPlaneGeometry.cpp.

References InitializeStandardPlane().

◆ InitializeStandardPlane() [6/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( mitk::ScalarType  width,
ScalarType  height,
const VnlVector rightVector,
const VnlVector downVector,
const Vector3D spacing = nullptr 
)
virtual

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).

The vectors are normalized and multiplied by the respective spacing before they are set in the matrix.

This overloaded version of InitializeStandardPlane() creates only righthanded coordinate orientations, unless spacing contains 1 or 3 negative entries.

Definition at line 540 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetIndexToWorldTransform(), mitk::BaseGeometry::SetBounds(), and mitk::BaseGeometry::SetIndexToWorldTransform().

◆ InitializeStandardPlane() [7/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( const Vector3D rightVector,
const Vector3D downVector,
const Vector3D spacing = nullptr 
)
virtual

Initialize plane by right-/down-vector (itk) and spacing (default: 1.0 mm in all directions).

The length of the right-/-down-vector is used as width/height in units, respectively. Then, the vectors are normalized and multiplied by the respective spacing before they are set in the matrix.

Definition at line 514 of file mitkPlaneGeometry.cpp.

References InitializeStandardPlane().

◆ InitializeStandardPlane() [8/8]

void mitk::PlaneGeometry::InitializeStandardPlane ( const VnlVector rightVector,
const VnlVector downVector,
const Vector3D spacing = nullptr 
)
virtual

Initialize plane by right-/down-vector (vnl) and spacing (default: 1.0 mm in all directions).

The length of the right-/-down-vector is used as width/height in units, respectively. Then, the vectors are normalized and multiplied by the respective spacing before they are set in the matrix.

Definition at line 521 of file mitkPlaneGeometry.cpp.

References InitializeStandardPlane().

◆ InternalClone()

itk::LightObject::Pointer mitk::PlaneGeometry::InternalClone ( ) const
overridevirtual

clones the geometry

Overwrite in all sub-classes. Normally looks like:

//## Self::Pointer newGeometry = new Self(*this);
//## newGeometry->UnRegister();
//## return newGeometry.GetPointer();
//##

Implements mitk::BaseGeometry.

Reimplemented in mitk::ThinPlateSplineCurvedGeometry.

Definition at line 772 of file mitkPlaneGeometry.cpp.

References PlaneGeometry().

◆ IntersectionLine()

◆ IntersectionPoint()

bool mitk::PlaneGeometry::IntersectionPoint ( const Line3D line,
Point3D intersectionPoint 
) const

◆ IntersectionPointParam()

bool mitk::PlaneGeometry::IntersectionPointParam ( const Line3D line,
double &  t 
) const

Calculate line parameter of intersection point between the plane and a line.

Parameters
tparameter of line: intersection point is line.GetPoint()+t*line.GetDirection()
Returns
true if unique intersection exists, i.e., if line is not on or parallel to the plane

Definition at line 731 of file mitkPlaneGeometry.cpp.

References mitk::eps, mitk::Line< TCoordRep, NPointDimension >::GetDirection(), GetNormal(), mitk::BaseGeometry::GetOrigin(), and mitk::Line< TCoordRep, NPointDimension >::GetPoint().

Referenced by mitk::ClippedSurfaceBoundsCalculator::CalculateIntersectionPoints(), and mitk::MeshMapper2D::Paint().

◆ IntersectWithPlane2D()

unsigned int mitk::PlaneGeometry::IntersectWithPlane2D ( const PlaneGeometry plane,
Point2D lineFrom,
Point2D lineTo 
) const

Calculate two points where another plane intersects the border of this plane.

Returns
number of intersection points (0..2). First interection point (if existing) is returned in lineFrom, second in lineTo.

Definition at line 683 of file mitkPlaneGeometry.cpp.

References mitk::Line< TCoordRep, NPointDimension >::GetDirection(), mitk::BaseGeometry::GetExtentInMM(), mitk::Line< TCoordRep, NPointDimension >::GetPoint(), IntersectionLine(), Map(), and mitk::Line< TCoordRep, NPointDimension >::RectangleLineIntersection().

◆ IsAbove()

bool mitk::PlaneGeometry::IsAbove ( const Point3D pt3d_mm,
bool  considerBoundingBox = false 
) const
virtual

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 in mitk::AbstractTransformGeometry.

Definition at line 638 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetBoundingBox(), mitk::BaseGeometry::GetBounds(), SignedDistanceFromPlane(), and mitk::BaseGeometry::WorldToIndex().

Referenced by mitk::GeometryClipImageFilter::_InternalComputeClippedImage().

◆ IsOnPlane() [1/3]

bool mitk::PlaneGeometry::IsOnPlane ( const Point3D point) const

Returns whether the point is on the plane (bounding-box not considered)

Definition at line 755 of file mitkPlaneGeometry.cpp.

References Distance(), and mitk::eps.

◆ IsOnPlane() [2/3]

bool mitk::PlaneGeometry::IsOnPlane ( const Line3D line) const

Returns whether the line is on the plane (bounding-box not considered)

Definition at line 756 of file mitkPlaneGeometry.cpp.

References Distance(), mitk::eps, mitk::Line< TCoordRep, NPointDimension >::GetPoint(), and mitk::Line< TCoordRep, NPointDimension >::GetPoint2().

◆ IsOnPlane() [3/3]

bool mitk::PlaneGeometry::IsOnPlane ( const PlaneGeometry plane) const

Returns whether the plane is on the plane (bounding-box not considered)

Returns
true iff the normal vector of the planes point to the same or the exactly oposit direction and the distance of the planes is < eps

Definition at line 761 of file mitkPlaneGeometry.cpp.

References Distance(), mitk::eps, mitk::BaseGeometry::GetOrigin(), and IsParallel().

◆ IsParallel()

bool mitk::PlaneGeometry::IsParallel ( const PlaneGeometry plane) const

Returns whether the plane is parallel to another plane.

Returns
true iff the normal vectors both point to the same or exactly oposit direction

Definition at line 750 of file mitkPlaneGeometry.cpp.

References Angle(), and mitk::sqrteps.

Referenced by IsOnPlane(), and mitk::PlanarFigureMapper2D::MitkRender().

◆ Map() [1/4]

◆ Map() [2/4]

void mitk::PlaneGeometry::Map ( const mitk::Point2D pt2d_mm,
mitk::Point3D pt3d_mm 
) const
virtual

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 in mitk::AbstractTransformGeometry.

Definition at line 868 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetExtent(), mitk::BaseGeometry::GetExtentInMM(), and mitk::BaseGeometry::GetIndexToWorldTransform().

◆ Map() [3/4]

bool mitk::PlaneGeometry::Map ( const mitk::Point3D atPt3d_mm,
const mitk::Vector3D vec3d_mm,
mitk::Vector2D vec2d_mm 
) const
virtual

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.

Returns
true projection was possible
See also
Project(const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm)

Reimplemented in mitk::AbstractTransformGeometry.

Definition at line 947 of file mitkPlaneGeometry.cpp.

References Map().

◆ Map() [4/4]

void mitk::PlaneGeometry::Map ( const mitk::Point2D atPt2d_mm,
const mitk::Vector2D vec2d_mm,
mitk::Vector3D vec3d_mm 
) const
virtual

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 in mitk::AbstractTransformGeometry.

Definition at line 960 of file mitkPlaneGeometry.cpp.

◆ New()

static Pointer mitk::PlaneGeometry::New ( )
static

Method for creation through the object factory.

Referenced by addPlaneToDataStorage(), mitk::BaseRenderer::BaseRenderer(), CheckIntersectionWithRotatedGeometry(), CheckIntersectionWithRotatedGeometry90(), CheckPlanesInsideBoundingBox(), CheckPlanesInsideBoundingBoxOnlyOnOneSlice(), CheckPlanesOutsideOfBoundingBox(), Clone(), createPlaneGeometry(), mitk::ExtrudedContour::ExtrudedContour(), mitk::ContourModelSetToImageFilter::GenerateData(), mitk::NeedleProjectionFilter::GenerateData(), mitk::PlanarFigureReader::GenerateData(), mitk::ExtractImageFilter::GenerateData(), mitk::NavigationDataSliceVisualization::GenerateData(), mitk::PlaneFit::GenerateOutputInformation(), GetEmptyTestImageWithGeometry(), QmitkSemanticRelationsUIHelper::GetPixmapFromImageNode(), GetPixmapFromImageNode(), mitk::Image::Initialize(), mitk::SlicedGeometry3D::InitializePlanes(), mitk::PlanarFigure::InitializeTimeGeometry(), main(), mitkAbstractTransformGeometryTest(), mitkClippedSurfaceBoundsCalculatorTest(), mitkExtractSliceFilterTest(), mitkGeometryDataToSurfaceFilterTest(), mitkImageTest(), mitkPlanarArrowTest(), mitkPlanarCrossTest(), mitkPlanarPolygonTest(), mitkPlanarSubdivisionPolygonTest(), mitkRotatedSlice4DTest(), mitkSlicedGeometry3DTest(), mitkVtkAbstractTransformPlaneGeometryTest(), mitk::SlicedGeometry3D::PreSetSpacing(), mitk::SlicedData::SetGeometry(), mitk::PlaneFit::SetInput(), SetUpBeforeTest(), mitk::BaseRenderer::SetWorldGeometry3D(), TestRandomPixelAccess(), and testSurfaceBoundingBoxConsistency().

◆ PreSetSpacing()

void mitk::PlaneGeometry::PreSetSpacing ( const mitk::Vector3D aSpacing)
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::BaseGeometry.

Reimplemented in mitk::ThinPlateSplineCurvedGeometry.

Definition at line 575 of file mitkPlaneGeometry.h.

References mitk::operator!=(), and mitk::operator==().

◆ PrintSelf()

void mitk::PlaneGeometry::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

◆ Project() [1/3]

bool mitk::PlaneGeometry::Project ( const mitk::Point3D pt3d_mm,
mitk::Point3D projectedPt3d_mm 
) const
virtual

◆ Project() [2/3]

bool mitk::PlaneGeometry::Project ( const mitk::Point3D atPt3d_mm,
const mitk::Vector3D vec3d_mm,
mitk::Vector3D projectedVec3d_mm 
) const
virtual

Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 3D vector in mm (projectedVec3d_mm).

DEPRECATED. Use Project(vector,vector) instead

Returns
true projection was possible

Reimplemented in mitk::AbstractTransformGeometry.

Definition at line 930 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetBoundingBox(), mitk::BaseGeometry::GetIndexToWorldTransform(), mitk::BaseGeometry::IsBoundingBoxNull(), MITK_WARN, and mitk::BaseGeometry::WorldToIndex().

◆ Project() [3/3]

bool mitk::PlaneGeometry::Project ( const mitk::Vector3D vec3d_mm,
mitk::Vector3D projectedVec3d_mm 
) const
virtual

Project a 3D vector given in mm (vec3d_mm) onto the 2D geometry. The result is a 3D vector in mm (projectedVec3d_mm).

Returns
true projection was possible

Reimplemented in mitk::AbstractTransformGeometry.

Definition at line 919 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetIndexToWorldTransform(), mitk::BaseGeometry::IsBoundingBoxNull(), and mitk::BaseGeometry::WorldToIndex().

◆ ProjectPointOntoPlane()

Point3D mitk::PlaneGeometry::ProjectPointOntoPlane ( const Point3D pt) const

Returns the lot from the point to the plane.

Definition at line 766 of file mitkPlaneGeometry.cpp.

References GetNormal(), GetNormalVnl(), and SignedDistanceFromPlane().

◆ SetMatrixByVectors()

void mitk::PlaneGeometry::SetMatrixByVectors ( const VnlVector rightVector,
const VnlVector downVector,
ScalarType  thickness = 1.0 
)

Initialize plane by right-/down-vector.

Warning
The vectors are set into the matrix as they are, without normalization! This function creates a righthanded IndexToWorldTransform, only a negative thickness could still make it lefthanded.

Definition at line 602 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetIndexToWorldTransform(), and mitk::BaseGeometry::SetIndexToWorldTransform().

◆ SetReferenceGeometry()

void mitk::PlaneGeometry::SetReferenceGeometry ( const mitk::BaseGeometry geometry)

Set the geometrical frame of reference in which this PlaneGeometry is placed.

This would usually be the BaseGeometry of the underlying dataset, but setting it is optional.

Definition at line 968 of file mitkPlaneGeometry.cpp.

References m_ReferenceGeometry.

Referenced by InitializeStandardPlane().

◆ SetSizeInUnits()

void mitk::PlaneGeometry::SetSizeInUnits ( mitk::ScalarType  width,
mitk::ScalarType  height 
)
virtual

Set the width and height of this 2D-geometry in units by calling SetBounds. This does not change the extent in mm!

For an image, this is the number of pixels in x-/y-direction.

Note
In contrast to calling SetBounds directly, this does not change the extent in mm!

Definition at line 883 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetExtent(), mitk::BaseGeometry::GetExtentInMM(), mitk::BaseGeometry::SetBounds(), and mitk::BaseGeometry::SetExtentInMM().

◆ SignedDistance()

◆ SignedDistanceFromPlane() [1/2]

ScalarType mitk::PlaneGeometry::SignedDistanceFromPlane ( const Point3D pt3d_mm) const
inline

Signed distance of the point from the plane (bounding-box not considered)

0 : point is in the direction of the direction vector.

Definition at line 327 of file mitkPlaneGeometry.h.

Referenced by IsAbove(), ProjectPointOntoPlane(), mitk::SlicedGeometry3D::ReinitializePlanes(), and SignedDistance().

◆ SignedDistanceFromPlane() [2/2]

ScalarType mitk::PlaneGeometry::SignedDistanceFromPlane ( const PlaneGeometry plane) const
inline

Signed distance of the plane from another plane (bounding-box not considered)

Result is 0 if planes are not parallel.

Definition at line 350 of file mitkPlaneGeometry.h.

References mitk::BaseGeometry::GetOrigin(), and line.

◆ WorldToIndex() [1/3]

◆ WorldToIndex() [2/3]

void mitk::PlaneGeometry::WorldToIndex ( const mitk::Point2D atPt2d_mm,
const mitk::Vector2D vec_mm,
mitk::Vector2D vec_units 
) const
virtual

Convert world coordinates (in mm) of a vector vec_mm to (continuous!) index coordinates.

Deprecated:
First parameter (Point2D) is not used. If possible, please use void WorldToIndex(const

Reimplemented in mitk::AbstractTransformGeometry.

Definition at line 105 of file mitkPlaneGeometry.cpp.

References MITK_WARN, and WorldToIndex().

◆ WorldToIndex() [3/3]

void mitk::PlaneGeometry::WorldToIndex ( const mitk::Vector2D vec_mm,
mitk::Vector2D vec_units 
) const
virtual

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 in mitk::AbstractTransformGeometry.

Definition at line 112 of file mitkPlaneGeometry.cpp.

References mitk::BaseGeometry::GetExtent(), and mitk::BaseGeometry::GetExtentInMM().

Member Data Documentation

◆ m_ReferenceGeometry

const mitk::BaseGeometry* mitk::PlaneGeometry::m_ReferenceGeometry
protected

The documentation for this class was generated from the following files: