Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::NavigationData Class Reference

Navigation Data. More...

#include <mitkNavigationData.h>

Inheritance diagram for mitk::NavigationData:
Collaboration diagram for mitk::NavigationData:

Public Types

typedef mitk::Point3D PositionType
 Type that holds the position part of the tracking data. More...
 
typedef mitk::Quaternion OrientationType
 Type that holds the orientation part of the tracking data. More...
 
typedef itk::Matrix< mitk::ScalarType, 6, 6 > CovarianceMatrixType
 type that holds the error characterization of the position and orientation measurements More...
 
typedef double TimeStampType
 type that holds the time at which the data was recorded in milliseconds More...
 

Public Member Functions

 mitkClassMacroItkParent (NavigationData, itk::DataObject)
 
Pointer Clone () const
 
 mitkNewMacro2Param (Self, mitk::AffineTransform3D::Pointer, const bool)
 
 mitkNewMacro1Param (Self, mitk::AffineTransform3D::Pointer)
 
virtual void SetPosition (PositionType _arg)
 sets the position of the NavigationData object More...
 
virtual PositionType GetPosition () const
 returns position of the NavigationData object More...
 
virtual void SetOrientation (OrientationType _arg)
 sets the orientation of the NavigationData object More...
 
virtual OrientationType GetOrientation () const
 returns the orientation of the NavigationData object More...
 
virtual bool IsDataValid () const
 returns true if the object contains valid data More...
 
virtual void SetDataValid (bool _arg)
 sets the dataValid flag of the NavigationData object indicating if the object contains valid data More...
 
virtual void SetIGTTimeStamp (TimeStampType _arg)
 sets the IGT timestamp of the NavigationData object in milliseconds More...
 
virtual TimeStampType GetIGTTimeStamp () const
 gets the IGT timestamp of the NavigationData object in milliseconds Please note, that there is also the GetTimeStamp method provided by the ITK object. Within IGT you should always use GetIGTTimeStamp ! More...
 
virtual void SetHasPosition (bool _arg)
 sets the HasPosition flag of the NavigationData object More...
 
virtual bool GetHasPosition () const
 gets the HasPosition flag of the NavigationData object More...
 
virtual void SetHasOrientation (bool _arg)
 sets the HasOrientation flag of the NavigationData object More...
 
virtual bool GetHasOrientation () const
 gets the HasOrientation flag of the NavigationData object More...
 
virtual void SetCovErrorMatrix (CovarianceMatrixType _arg)
 sets the 6x6 Error Covariance Matrix of the NavigationData object More...
 
virtual CovarianceMatrixType GetCovErrorMatrix () const
 gets the 6x6 Error Covariance Matrix of the NavigationData object More...
 
virtual void SetName (const char *_arg)
 set the name of the NavigationData object More...
 
virtual const char * GetName () const
 returns the name of the NavigationData object More...
 
void Graft (const DataObject *data) override
 Graft the data and information from one NavigationData to another. More...
 
void CopyInformation (const DataObject *data) override
 copy meta data of a NavigationData object More...
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 Prints the object information to the given stream os. More...
 
void SetPositionAccuracy (mitk::ScalarType error)
 
void SetOrientationAccuracy (mitk::ScalarType error)
 
mitk::AffineTransform3D::Pointer GetAffineTransform3D () const
 Calculate AffineTransform3D from the transformation held by this NavigationData. TODO: should throw an error if transformation is invalid. More...
 
mitk::Matrix3D GetRotationMatrix () const
 Calculate the RotationMatrix of this transformation. More...
 
mitk::Point3D TransformPoint (const mitk::Point3D point) const
 Transform by an affine transformation. More...
 
mitk::NavigationData::Pointer GetInverse () const
 
void Compose (const mitk::NavigationData::Pointer n, const bool pre=false)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 mitkCloneMacro (Self)
 
 NavigationData ()
 
 NavigationData (const mitk::NavigationData &toCopy)
 
 NavigationData (mitk::AffineTransform3D::Pointer affineTransform3D, const bool checkForRotationMatrix=true)
 
 ~NavigationData () override
 

Protected Attributes

PositionType m_Position
 holds the position part of the tracking data More...
 
OrientationType m_Orientation
 holds the orientation part of the tracking data More...
 
CovarianceMatrixType m_CovErrorMatrix
 A 6x6 covariance matrix parameterizing the Gaussian error distribution of the measured position and orientation. More...
 
bool m_HasPosition
 defines if position part of m_CovErrorMatrix is valid More...
 
bool m_HasOrientation
 defines if orientation part of m_CovErrorMatrix is valid More...
 
bool m_DataValid
 defines if the object contains valid values More...
 
TimeStampType m_IGTTimeStamp
 contains the time at which the tracking data was recorded More...
 
std::string m_Name
 name of the navigation data More...
 

Detailed Description

Navigation Data.

Documentation This class represents the data object that is passed through the MITK-IGT navigation filter pipeline. It encapsulates position and orientation of a tracked tool/sensor. Additionally, it contains a data structure that contains error/plausibility information

It provides methods to work with the affine transformation represented by its orientation and position. Additionally, it provides a constructor to construct a NavigationData object from an AffineTransform3D and a getter to create an AffineTransform3D from a NavigationData object.

Definition at line 36 of file mitkNavigationData.h.

Member Typedef Documentation

◆ CovarianceMatrixType

type that holds the error characterization of the position and orientation measurements

Definition at line 56 of file mitkNavigationData.h.

◆ OrientationType

Type that holds the orientation part of the tracking data.

Definition at line 52 of file mitkNavigationData.h.

◆ PositionType

Type that holds the position part of the tracking data.

Definition at line 48 of file mitkNavigationData.h.

◆ TimeStampType

type that holds the time at which the data was recorded in milliseconds

Definition at line 60 of file mitkNavigationData.h.

Constructor & Destructor Documentation

◆ NavigationData() [1/3]

mitk::NavigationData::NavigationData ( )
protected

◆ NavigationData() [2/3]

mitk::NavigationData::NavigationData ( const mitk::NavigationData toCopy)
protected

◆ NavigationData() [3/3]

mitk::NavigationData::NavigationData ( mitk::AffineTransform3D::Pointer  affineTransform3D,
const bool  checkForRotationMatrix = true 
)
protected

Creates a NavigationData object from an affineTransform3D. Caution: NavigationData doesn't support spacing, only translation and rotation. If the affine transform includes spacing it cannot be converted to a NavigationData and an exception is thrown.

Parameters
affineTransform3D
checkForRotationMatrixif this is true, the rotation matrix coming from the affineTransform is checked for being a rotation matrix. If it isn't, an exception is thrown. Disable this check by setting checkForRotationMatrix to false.
Exceptions
mitkExceptionif checkForRotationMatrix is true and a non rotation matrix was introduced by AffineTransform.

◆ ~NavigationData()

mitk::NavigationData::~NavigationData ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::NavigationData::Clone ( ) const

◆ Compose()

void mitk::NavigationData::Compose ( const mitk::NavigationData::Pointer  n,
const bool  pre = false 
)

Compose with another NavigationData

This method composes self with another NavigationData of the same dimension, modifying self to be the composition of self and other. If the argument pre is true, then other is precomposed with self; that is, the resulting transformation consists of first applying other to the source, followed by self. If pre is false or omitted, then other is post-composed with self; that is the resulting transformation consists of first applying self to the source, followed by other.

◆ CopyInformation()

void mitk::NavigationData::CopyInformation ( const DataObject *  data)
override

copy meta data of a NavigationData object

copies all meta data from NavigationData data to this object

◆ GetAffineTransform3D()

mitk::AffineTransform3D::Pointer mitk::NavigationData::GetAffineTransform3D ( ) const

Calculate AffineTransform3D from the transformation held by this NavigationData. TODO: should throw an error if transformation is invalid.

◆ GetCovErrorMatrix()

virtual CovarianceMatrixType mitk::NavigationData::GetCovErrorMatrix ( ) const
virtual

gets the 6x6 Error Covariance Matrix of the NavigationData object

◆ GetHasOrientation()

virtual bool mitk::NavigationData::GetHasOrientation ( ) const
virtual

gets the HasOrientation flag of the NavigationData object

◆ GetHasPosition()

virtual bool mitk::NavigationData::GetHasPosition ( ) const
virtual

gets the HasPosition flag of the NavigationData object

◆ GetIGTTimeStamp()

virtual TimeStampType mitk::NavigationData::GetIGTTimeStamp ( ) const
virtual

gets the IGT timestamp of the NavigationData object in milliseconds Please note, that there is also the GetTimeStamp method provided by the ITK object. Within IGT you should always use GetIGTTimeStamp !

◆ GetInverse()

mitk::NavigationData::Pointer mitk::NavigationData::GetInverse ( ) const

Get inverse of the Transformation represented by this NavigationData.

Exceptions
mitk::Exceptionin case the transformation is invalid (only case: quaternion is zero)

◆ GetName()

virtual const char* mitk::NavigationData::GetName ( ) const
virtual

returns the name of the NavigationData object

◆ GetOrientation()

virtual OrientationType mitk::NavigationData::GetOrientation ( ) const
virtual

returns the orientation of the NavigationData object

◆ GetPosition()

virtual PositionType mitk::NavigationData::GetPosition ( ) const
virtual

returns position of the NavigationData object

◆ GetRotationMatrix()

mitk::Matrix3D mitk::NavigationData::GetRotationMatrix ( ) const

Calculate the RotationMatrix of this transformation.

◆ Graft()

void mitk::NavigationData::Graft ( const DataObject *  data)
override

Graft the data and information from one NavigationData to another.

Copies the content of data into this object. This is a convenience method to setup a second NavigationData object with all the meta information of another NavigationData object. Note that this method is different than just using two SmartPointers to the same NavigationData object since separate DataObjects are still maintained.

◆ IsDataValid()

virtual bool mitk::NavigationData::IsDataValid ( ) const
virtual

returns true if the object contains valid data

◆ mitkClassMacroItkParent()

mitk::NavigationData::mitkClassMacroItkParent ( NavigationData  ,
itk::DataObject   
)

◆ mitkCloneMacro()

mitk::NavigationData::mitkCloneMacro ( Self  )
protected

◆ mitkNewMacro1Param()

mitk::NavigationData::mitkNewMacro1Param ( Self  ,
mitk::AffineTransform3D::Pointer   
)

◆ mitkNewMacro2Param()

mitk::NavigationData::mitkNewMacro2Param ( Self  ,
mitk::AffineTransform3D::Pointer  ,
const bool   
)

◆ New()

static Pointer mitk::NavigationData::New ( )
static

◆ PrintSelf()

void mitk::NavigationData::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
override

Prints the object information to the given stream os.

Parameters
osThe stream which is used to print the output.
indentDefines the indentation of the output.

◆ SetCovErrorMatrix()

virtual void mitk::NavigationData::SetCovErrorMatrix ( CovarianceMatrixType  _arg)
virtual

sets the 6x6 Error Covariance Matrix of the NavigationData object

◆ SetDataValid()

virtual void mitk::NavigationData::SetDataValid ( bool  _arg)
virtual

sets the dataValid flag of the NavigationData object indicating if the object contains valid data

◆ SetHasOrientation()

virtual void mitk::NavigationData::SetHasOrientation ( bool  _arg)
virtual

sets the HasOrientation flag of the NavigationData object

◆ SetHasPosition()

virtual void mitk::NavigationData::SetHasPosition ( bool  _arg)
virtual

sets the HasPosition flag of the NavigationData object

◆ SetIGTTimeStamp()

virtual void mitk::NavigationData::SetIGTTimeStamp ( TimeStampType  _arg)
virtual

sets the IGT timestamp of the NavigationData object in milliseconds

◆ SetName()

virtual void mitk::NavigationData::SetName ( const char *  _arg)
virtual

set the name of the NavigationData object

◆ SetOrientation()

virtual void mitk::NavigationData::SetOrientation ( OrientationType  _arg)
virtual

sets the orientation of the NavigationData object

◆ SetOrientationAccuracy()

void mitk::NavigationData::SetOrientationAccuracy ( mitk::ScalarType  error)

Set the orientation part of m_CovErrorMatrix to I*error^2 This means that all orientation variables are assumed to be independent

◆ SetPosition()

virtual void mitk::NavigationData::SetPosition ( PositionType  _arg)
virtual

sets the position of the NavigationData object

◆ SetPositionAccuracy()

void mitk::NavigationData::SetPositionAccuracy ( mitk::ScalarType  error)

Set the position part of m_CovErrorMatrix to I*error^2 This means that all position variables are assumed to be independent

◆ TransformPoint()

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

Transform by an affine transformation.

This method applies the affine transform given by self to a given point, returning the transformed point.

Member Data Documentation

◆ m_CovErrorMatrix

CovarianceMatrixType mitk::NavigationData::m_CovErrorMatrix
protected

A 6x6 covariance matrix parameterizing the Gaussian error distribution of the measured position and orientation.

The hasPosition/hasOrientation fields define which entries are valid. holds the error characterization of the position and orientation

Definition at line 245 of file mitkNavigationData.h.

◆ m_DataValid

bool mitk::NavigationData::m_DataValid
protected

defines if the object contains valid values

Definition at line 257 of file mitkNavigationData.h.

◆ m_HasOrientation

bool mitk::NavigationData::m_HasOrientation
protected

defines if orientation part of m_CovErrorMatrix is valid

Definition at line 253 of file mitkNavigationData.h.

◆ m_HasPosition

bool mitk::NavigationData::m_HasPosition
protected

defines if position part of m_CovErrorMatrix is valid

Definition at line 249 of file mitkNavigationData.h.

◆ m_IGTTimeStamp

TimeStampType mitk::NavigationData::m_IGTTimeStamp
protected

contains the time at which the tracking data was recorded

Definition at line 261 of file mitkNavigationData.h.

◆ m_Name

std::string mitk::NavigationData::m_Name
protected

name of the navigation data

Definition at line 265 of file mitkNavigationData.h.

◆ m_Orientation

OrientationType mitk::NavigationData::m_Orientation
protected

holds the orientation part of the tracking data

Definition at line 236 of file mitkNavigationData.h.

◆ m_Position

PositionType mitk::NavigationData::m_Position
protected

holds the position part of the tracking data

Definition at line 232 of file mitkNavigationData.h.


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