Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitk::Transform Class Reference

class representing a transfrom in 3D More...

#include <mitkTransform.h>

Inheritance diagram for mitk::Transform:
Collaboration diagram for mitk::Transform:

Public Member Functions

 mitkClassMacroItkParent (Transform, itk::Object)
 
 mitkNewMacro1Param (Transform, const mitk::NavigationData *)
 
 mitkNewMacro1Param (Transform, const std::string &)
 
virtual std::string GetType () const
 
virtual void SetType (std::string &_arg)
 
void Copy (const mitk::Transform *transform)
 
void Copy (const mitk::NavigationData *transform)
 
void TransposeRotation ()
 
mitk::Transform::Pointer Clone () const
 
void Concatenate (mitk::Transform *transform)
 
void Concatenate (const vnl_matrix_fixed< mitk::ScalarType, 4, 4 > &transform)
 
void Concatenate (const vtkMatrix4x4 *transform)
 
void Invert ()
 
void Reset ()
 
void FromXML (TiXmlElement *elem) override
 
void FromCSVFile (const std::string &file)
 
void SetNavigationData (const mitk::NavigationData *naviData)
 
void SetOrientation (const vnl_quaternion< mitk::ScalarType > &orientation)
 
void SetOrientation (const vnl_quaternion< float > &orientation)
 
void SetTranslation (const vnl_vector_fixed< mitk::ScalarType, 3 > &transl)
 
void SetTranslation (const vnl_vector< double > &transl)
 
void SetPosition (const mitk::Point3D &transl)
 
void SetRotation (vnl_matrix_fixed< mitk::ScalarType, 3, 3 > &mat)
 
void SetRotation (vnl_matrix< mitk::ScalarType > &mat)
 
void SetMatrix (const vnl_matrix_fixed< mitk::ScalarType, 4, 4 > &mat)
 
void SetMatrix (const vtkMatrix4x4 *mat)
 
void SetTranslation (float *array)
 
void SetRotation (float *array)
 
void SetTranslation (double array[3])
 
void SetRotation (double array[3][3])
 
void SetTranslation (const cv::Mat &transl)
 
void SetRotation (const cv::Mat &mat)
 
void SetRotationVector (const cv::Mat &rotVec)
 
mitk::NavigationData::Pointer GetNavigationData () const
 
mitk::Point3D GetPosition () const
 
mitk::Point3D GetTranslation () const
 
bool IsValid () const
 
void SetValid (bool valid)
 
mitk::Quaternion GetOrientation () const
 
vnl_matrix_fixed< mitk::ScalarType, 4, 4 > GetMatrix () const
 
void GetMatrix (vtkMatrix4x4 *matrix) const
 
void GetVtkOpenGlMatrix (vtkMatrix4x4 *matrix) const
 
mitk::Point3D TransformPoint (mitk::Point3D point) const
 
void ToXML (TiXmlElement *elem) const override
 
std::string ToString () const
 
std::string ToCSVString () const
 
std::string ToMatlabString (const std::string &varname="transform", bool printLastRow=true) const
 
void ToCSVFile (const std::string &file) const
 
void ToMatlabFile (const std::string &file, const std::string &varname="transform") const
 
cv::Mat GetCvTranslation () const
 
cv::Mat GetCvRotationVector () const
 
cv::Mat GetCvRotationMatrix () const
 
cv::Mat GetCvMatrix () const
 
vnl_vector_fixed< mitk::ScalarType, 3 > GetVnlTranslation () const
 
vnl_vector_fixed< double, 3 > GetVnlDoubleTranslation () const
 
vnl_quaternion< double > GetVnlDoubleQuaternion () const
 
vnl_matrix_fixed< mitk::ScalarType, 3, 3 > GetVnlRotationMatrix () const
 
vnl_matrix_fixed< double, 4, 4 > GetVnlDoubleMatrix () const
 
- Public Member Functions inherited from mitk::XMLSerializable
virtual const char * GetNameOfClass () const =0
 
virtual void ToXMLFile (const std::string &file, const std::string &elemName="")
 
virtual void FromXMLFile (const std::string &file, const std::string &elemName="")
 
std::string GetXMLFileName () const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const std::string UNKNOWN_TYPE
 
static const std::string ENDOSCOPE_SCOPE_TOOL
 
static const std::string ENDOSCOPE_CAM_TOOL
 
static const std::string CHESSBOARD_TOOL
 
static const std::string POINTER_TOOL
 
static const std::string POINTER_TO_CHESSBOARD_ORIGIN
 
static const std::string POINTER_TO_CHESSBOARD_X_SUPPORT_POINT
 
static const std::string POINTER_TO_CHESSBOARD_Y_SUPPORT_POINT
 
static const std::string BOARD_TO_BOARD_TOOL
 
static const std::string REFERENCE_CAMERA_TRANSFORM
 
static const std::string REFERENCE_SCOPE_TRANSFORM
 
static const std::string EYE_TO_HAND_TRANSFORM
 
static const std::string CAMERA_EXTRINSICS
 
- Static Public Attributes inherited from mitk::XMLSerializable
static const std::string FILE_REFERENCE_ATTRIBUTE_NAME
 
static const std::string ROOT_NAME
 

Protected Member Functions

 Transform ()
 
 Transform (const mitk::NavigationData *nd)
 
 Transform (const std::string &s)
 

Protected Attributes

mitk::NavigationData::Pointer m_NavData
 
std::string m_Type
 

Detailed Description

class representing a transfrom in 3D

internally it stores a mitk navigation data. this is more or less a wrapper for navigation data for easy casting between opencv/vnl/mitk/xml representations of transform data

Definition at line 36 of file mitkTransform.h.

Constructor & Destructor Documentation

◆ Transform() [1/3]

mitk::Transform::Transform ( )
protected

Definition at line 36 of file mitkTransform.cpp.

References SetRotation().

◆ Transform() [2/3]

mitk::Transform::Transform ( const mitk::NavigationData nd)
protected

Definition at line 44 of file mitkTransform.cpp.

References m_NavData.

◆ Transform() [3/3]

mitk::Transform::Transform ( const std::string &  s)
protected

Definition at line 50 of file mitkTransform.cpp.

References SetRotation().

Member Function Documentation

◆ Clone()

mitk::Transform::Pointer mitk::Transform::Clone ( ) const

get a copy of this transform

Definition at line 266 of file mitkTransform.cpp.

References New().

◆ Concatenate() [1/3]

void mitk::Transform::Concatenate ( mitk::Transform transform)

concatenate this transform with the given one, i.e. this transform is done first, then transform ( if x is this transform, y is transform, then this will be y*x) post multiply semantics!

See also
vtkTransform

Definition at line 63 of file mitkTransform.cpp.

References GetMatrix(), and SetMatrix().

Referenced by Concatenate().

◆ Concatenate() [2/3]

void mitk::Transform::Concatenate ( const vnl_matrix_fixed< mitk::ScalarType, 4, 4 > &  transform)

same as above with vnl mat argument

Definition at line 71 of file mitkTransform.cpp.

References Concatenate(), and New().

◆ Concatenate() [3/3]

void mitk::Transform::Concatenate ( const vtkMatrix4x4 *  transform)

same as above with vtk mat argument

Definition at line 79 of file mitkTransform.cpp.

References Concatenate(), and New().

◆ Copy() [1/2]

void mitk::Transform::Copy ( const mitk::Transform transform)

Copies the content of transform to this instance

Definition at line 260 of file mitkTransform.cpp.

References GetNavigationData(), GetType(), m_NavData, and m_Type.

Referenced by Reset().

◆ Copy() [2/2]

void mitk::Transform::Copy ( const mitk::NavigationData transform)

Copies the content of transform to this instance

Definition at line 58 of file mitkTransform.cpp.

References m_NavData.

◆ FromCSVFile()

void mitk::Transform::FromCSVFile ( const std::string &  file)

read csv file

Definition at line 180 of file mitkTransform.cpp.

References endoAssert, line, New(), and SetNavigationData().

◆ FromXML()

void mitk::Transform::FromXML ( TiXmlElement *  elem)
overridevirtual

read from xml

Implements mitk::XMLSerializable.

Definition at line 653 of file mitkTransform.cpp.

References m_NavData, m_Type, mitk::NavigationData::New(), and UNKNOWN_TYPE.

◆ GetCvMatrix()

cv::Mat mitk::Transform::GetCvMatrix ( ) const

Definition at line 493 of file mitkTransform.cpp.

References GetMatrix(), and mitk::CvMatFromVnlMatrix< T >::Update().

◆ GetCvRotationMatrix()

cv::Mat mitk::Transform::GetCvRotationMatrix ( ) const

◆ GetCvRotationVector()

cv::Mat mitk::Transform::GetCvRotationVector ( ) const

Definition at line 502 of file mitkTransform.cpp.

References GetCvRotationMatrix().

◆ GetCvTranslation()

cv::Mat mitk::Transform::GetCvTranslation ( ) const

conversion to cv types

Definition at line 473 of file mitkTransform.cpp.

References endodebugvar, GetVnlTranslation(), and mitk::CvMatFromVnlVector< T >::Update().

◆ GetMatrix() [1/2]

vnl_matrix_fixed< mitk::ScalarType, 4, 4 > mitk::Transform::GetMatrix ( ) const
Returns
the homogeneous matrix representing this transform

Definition at line 535 of file mitkTransform.cpp.

References GetVnlRotationMatrix(), and GetVnlTranslation().

Referenced by Concatenate(), GetCvMatrix(), GetMatrix(), GetVnlDoubleMatrix(), Invert(), ToCSVString(), and ToMatlabString().

◆ GetMatrix() [2/2]

void mitk::Transform::GetMatrix ( vtkMatrix4x4 *  matrix) const
Returns
the homogeneous vtk matrix representing this transform

Definition at line 427 of file mitkTransform.cpp.

References GetMatrix().

◆ GetNavigationData()

mitk::NavigationData::Pointer mitk::Transform::GetNavigationData ( ) const
Returns
the navigation data that stores all information

Definition at line 407 of file mitkTransform.cpp.

References m_NavData.

Referenced by Copy().

◆ GetOrientation()

mitk::Quaternion mitk::Transform::GetOrientation ( ) const

calls navigationdata::GetOrientation()

Definition at line 422 of file mitkTransform.cpp.

References m_NavData.

Referenced by GetVnlDoubleQuaternion().

◆ GetPosition()

mitk::Point3D mitk::Transform::GetPosition ( ) const

calls navigationdata::GetPosition()

Definition at line 417 of file mitkTransform.cpp.

References m_NavData.

Referenced by GetVtkOpenGlMatrix(), and TransformPoint().

◆ GetTranslation()

mitk::Point3D mitk::Transform::GetTranslation ( ) const

same as GetPosition

Definition at line 412 of file mitkTransform.cpp.

References m_NavData.

◆ GetType()

virtual std::string mitk::Transform::GetType ( ) const
virtual

Referenced by Copy().

◆ GetVnlDoubleMatrix()

vnl_matrix_fixed< double, 4, 4 > mitk::Transform::GetVnlDoubleMatrix ( ) const

Definition at line 522 of file mitkTransform.cpp.

References GetMatrix().

◆ GetVnlDoubleQuaternion()

vnl_quaternion< double > mitk::Transform::GetVnlDoubleQuaternion ( ) const

◆ GetVnlDoubleTranslation()

vnl_vector_fixed< double, 3 > mitk::Transform::GetVnlDoubleTranslation ( ) const

◆ GetVnlRotationMatrix()

vnl_matrix_fixed< mitk::ScalarType, 3, 3 > mitk::Transform::GetVnlRotationMatrix ( ) const

◆ GetVnlTranslation()

vnl_vector_fixed< mitk::ScalarType, 3 > mitk::Transform::GetVnlTranslation ( ) const

conversion to vnl types

Definition at line 510 of file mitkTransform.cpp.

References m_NavData.

Referenced by GetCvTranslation(), GetMatrix(), and GetVnlDoubleTranslation().

◆ GetVtkOpenGlMatrix()

void mitk::Transform::GetVtkOpenGlMatrix ( vtkMatrix4x4 *  matrix) const
Returns
the homogeneous vtk matrix representing this transform in !OpenGL! left handed coordinate system

Definition at line 435 of file mitkTransform.cpp.

References GetPosition(), GetVnlRotationMatrix(), and New().

◆ Invert()

void mitk::Transform::Invert ( )

invert this transform

Definition at line 345 of file mitkTransform.cpp.

References GetMatrix(), and SetMatrix().

◆ IsValid()

bool mitk::Transform::IsValid ( ) const

calls navigationdata::IsValid()

Definition at line 368 of file mitkTransform.cpp.

References m_NavData.

Referenced by ToString().

◆ mitkClassMacroItkParent()

mitk::Transform::mitkClassMacroItkParent ( Transform  ,
itk::Object   
)

◆ mitkNewMacro1Param() [1/2]

mitk::Transform::mitkNewMacro1Param ( Transform  ,
const mitk::NavigationData  
)

◆ mitkNewMacro1Param() [2/2]

mitk::Transform::mitkNewMacro1Param ( Transform  ,
const std::string &   
)

◆ New()

static Pointer mitk::Transform::New ( )
static

◆ Reset()

void mitk::Transform::Reset ( )

resets the internal variables except type

Definition at line 86 of file mitkTransform.cpp.

References Copy(), and mitk::NavigationData::New().

◆ SetMatrix() [1/2]

void mitk::Transform::SetMatrix ( const vnl_matrix_fixed< mitk::ScalarType, 4, 4 > &  mat)

sets rotation and translation with a transformation matrix

Definition at line 351 of file mitkTransform.cpp.

References m_NavData, and SetRotation().

Referenced by Concatenate(), Invert(), and SetMatrix().

◆ SetMatrix() [2/2]

void mitk::Transform::SetMatrix ( const vtkMatrix4x4 *  mat)

sets rotation and translation with a vtk transformation matrix

Definition at line 273 of file mitkTransform.cpp.

References SetMatrix().

◆ SetNavigationData()

void mitk::Transform::SetNavigationData ( const mitk::NavigationData naviData)

grafts the data from naviData to this transform

Definition at line 302 of file mitkTransform.cpp.

References endoAssert, and m_NavData.

Referenced by FromCSVFile().

◆ SetOrientation() [1/2]

void mitk::Transform::SetOrientation ( const vnl_quaternion< mitk::ScalarType > &  orientation)

method to set orientation quat

Definition at line 92 of file mitkTransform.cpp.

References m_NavData.

Referenced by SetOrientation().

◆ SetOrientation() [2/2]

void mitk::Transform::SetOrientation ( const vnl_quaternion< float > &  orientation)

method to set float valued orientation quat

Definition at line 139 of file mitkTransform.cpp.

References SetOrientation(), and mitk::VnlVectorFixedCaster< T, R, n >::Update().

◆ SetPosition()

void mitk::Transform::SetPosition ( const mitk::Point3D transl)

method to set a mitk::Point3D as position

Definition at line 321 of file mitkTransform.cpp.

References SetTranslation().

◆ SetRotation() [1/5]

void mitk::Transform::SetRotation ( vnl_matrix_fixed< mitk::ScalarType, 3, 3 > &  mat)

sets rotation with a rotation matrix

Definition at line 309 of file mitkTransform.cpp.

References m_NavData.

Referenced by SetMatrix(), SetRotation(), SetRotationVector(), Transform(), and TransposeRotation().

◆ SetRotation() [2/5]

void mitk::Transform::SetRotation ( vnl_matrix< mitk::ScalarType > &  mat)

sets rotation with a non fixed rotation matrix

Definition at line 315 of file mitkTransform.cpp.

References SetRotation().

◆ SetRotation() [3/5]

void mitk::Transform::SetRotation ( float *  array)

sets translation from a POD vector. this must be a 3x3=9 sized vector in row major format (first row = first three elements)

Definition at line 118 of file mitkTransform.cpp.

References SetRotation().

◆ SetRotation() [4/5]

void mitk::Transform::SetRotation ( double  array[3][3])

sets translation from a POD vector

Definition at line 335 of file mitkTransform.cpp.

References SetRotation().

◆ SetRotation() [5/5]

void mitk::Transform::SetRotation ( const cv::Mat &  mat)

sets rotation with a rotation matrix

Definition at line 381 of file mitkTransform.cpp.

References SetRotation(), and mitk::VnlMatrixFromCvMat< T >::Update().

◆ SetRotationVector()

void mitk::Transform::SetRotationVector ( const cv::Mat &  rotVec)

sets rotation with a rodrigues rotation vector

Definition at line 391 of file mitkTransform.cpp.

References SetRotation(), and mitk::VnlMatrixFromCvMat< T >::Update().

◆ SetTranslation() [1/5]

void mitk::Transform::SetTranslation ( const vnl_vector_fixed< mitk::ScalarType, 3 > &  transl)

method to set translation

Definition at line 99 of file mitkTransform.cpp.

References m_NavData.

Referenced by SetPosition(), and SetTranslation().

◆ SetTranslation() [2/5]

void mitk::Transform::SetTranslation ( const vnl_vector< double > &  transl)

method to set a vector of doubles as translation

Definition at line 160 of file mitkTransform.cpp.

References SetTranslation(), and mitk::VnlVectorFixedCaster< T, R, n >::Update().

◆ SetTranslation() [3/5]

void mitk::Transform::SetTranslation ( float *  array)

sets translation from a POD vector

Definition at line 110 of file mitkTransform.cpp.

References SetTranslation().

◆ SetTranslation() [4/5]

void mitk::Transform::SetTranslation ( double  array[3])

sets translation from a POD vector

Definition at line 326 of file mitkTransform.cpp.

References SetTranslation().

◆ SetTranslation() [5/5]

void mitk::Transform::SetTranslation ( const cv::Mat &  transl)

method to set translation by cv vector

Definition at line 373 of file mitkTransform.cpp.

References SetTranslation(), and mitk::VnlVectorFromCvMat< T >::Update().

◆ SetType()

virtual void mitk::Transform::SetType ( std::string &  _arg)
virtual

◆ SetValid()

void mitk::Transform::SetValid ( bool  valid)

calls navigationdata::SetValid()

Definition at line 559 of file mitkTransform.cpp.

References m_NavData.

◆ ToCSVFile()

void mitk::Transform::ToCSVFile ( const std::string &  file) const

write csv representation to file (only the transformation values!!!!)

Definition at line 283 of file mitkTransform.cpp.

References endoAssert, and ToCSVString().

◆ ToCSVString()

std::string mitk::Transform::ToCSVString ( ) const

create string csv representation (only the transformation values!!!!)

Definition at line 213 of file mitkTransform.cpp.

References GetMatrix(), and k().

Referenced by ToCSVFile().

◆ ToMatlabFile()

void mitk::Transform::ToMatlabFile ( const std::string &  file,
const std::string &  varname = "transform" 
) const

write matlab representation to file

Definition at line 292 of file mitkTransform.cpp.

References endoAssert, and ToMatlabString().

◆ ToMatlabString()

std::string mitk::Transform::ToMatlabString ( const std::string &  varname = "transform",
bool  printLastRow = true 
) const

create matlab representation

Definition at line 236 of file mitkTransform.cpp.

References GetMatrix(), and k().

Referenced by ToMatlabFile().

◆ ToString()

std::string mitk::Transform::ToString ( ) const

create string representation

Definition at line 568 of file mitkTransform.cpp.

References IsValid(), and m_NavData.

◆ ToXML()

void mitk::Transform::ToXML ( TiXmlElement *  elem) const
overridevirtual

create xml representation

Implements mitk::XMLSerializable.

Definition at line 588 of file mitkTransform.cpp.

References m_NavData, and m_Type.

◆ TransformPoint()

mitk::Point3D mitk::Transform::TransformPoint ( mitk::Point3D  point) const

Definition at line 461 of file mitkTransform.cpp.

References GetPosition(), and GetVnlRotationMatrix().

◆ TransposeRotation()

void mitk::Transform::TransposeRotation ( )

Inverts the rotation of this transform (Polaris navigation Data have inverted rotation so you may want to call this function when using polaris data)

Definition at line 553 of file mitkTransform.cpp.

References GetVnlRotationMatrix(), and SetRotation().

Member Data Documentation

◆ BOARD_TO_BOARD_TOOL

const std::string mitk::Transform::BOARD_TO_BOARD_TOOL
static

Definition at line 57 of file mitkTransform.h.

◆ CAMERA_EXTRINSICS

const std::string mitk::Transform::CAMERA_EXTRINSICS
static

Definition at line 61 of file mitkTransform.h.

◆ CHESSBOARD_TOOL

const std::string mitk::Transform::CHESSBOARD_TOOL
static

Definition at line 52 of file mitkTransform.h.

◆ ENDOSCOPE_CAM_TOOL

const std::string mitk::Transform::ENDOSCOPE_CAM_TOOL
static

Definition at line 51 of file mitkTransform.h.

◆ ENDOSCOPE_SCOPE_TOOL

const std::string mitk::Transform::ENDOSCOPE_SCOPE_TOOL
static

Definition at line 50 of file mitkTransform.h.

◆ EYE_TO_HAND_TRANSFORM

const std::string mitk::Transform::EYE_TO_HAND_TRANSFORM
static

Definition at line 60 of file mitkTransform.h.

◆ m_NavData

◆ m_Type

std::string mitk::Transform::m_Type
protected

saves the type of the transform (Default is UNKNOWN_TYPE)

Definition at line 293 of file mitkTransform.h.

Referenced by Copy(), FromXML(), and ToXML().

◆ POINTER_TO_CHESSBOARD_ORIGIN

const std::string mitk::Transform::POINTER_TO_CHESSBOARD_ORIGIN
static

Definition at line 54 of file mitkTransform.h.

◆ POINTER_TO_CHESSBOARD_X_SUPPORT_POINT

const std::string mitk::Transform::POINTER_TO_CHESSBOARD_X_SUPPORT_POINT
static

Definition at line 55 of file mitkTransform.h.

◆ POINTER_TO_CHESSBOARD_Y_SUPPORT_POINT

const std::string mitk::Transform::POINTER_TO_CHESSBOARD_Y_SUPPORT_POINT
static

Definition at line 56 of file mitkTransform.h.

◆ POINTER_TOOL

const std::string mitk::Transform::POINTER_TOOL
static

Definition at line 53 of file mitkTransform.h.

◆ REFERENCE_CAMERA_TRANSFORM

const std::string mitk::Transform::REFERENCE_CAMERA_TRANSFORM
static

Definition at line 58 of file mitkTransform.h.

◆ REFERENCE_SCOPE_TRANSFORM

const std::string mitk::Transform::REFERENCE_SCOPE_TRANSFORM
static

Definition at line 59 of file mitkTransform.h.

◆ UNKNOWN_TYPE

const std::string mitk::Transform::UNKNOWN_TYPE
static

constants describing the type of transform represented here

Definition at line 49 of file mitkTransform.h.

Referenced by FromXML().


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