MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitk::NavigationData Class Reference

Navigation Data. More...

#include <mitkNavigationData.h>

Inheritance diagram for mitk::NavigationData:

Public Types

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

Public Member Functions

 mitkClassMacroItkParent (NavigationData, itk::DataObject)
 
 itkFactorylessNewMacro (Self)
 
 itkCloneMacro (Self)
 
 mitkNewMacro2Param (Self, mitk::AffineTransform3D::Pointer, const bool)
 
 mitkNewMacro1Param (Self, mitk::AffineTransform3D::Pointer)
 
 itkSetMacro (Position, PositionType)
 sets the position of the NavigationData object
 
 itkGetConstMacro (Position, PositionType)
 returns position of the NavigationData object
 
 itkSetMacro (Orientation, OrientationType)
 sets the orientation of the NavigationData object
 
 itkGetConstMacro (Orientation, OrientationType)
 returns the orientation of the NavigationData object
 
virtual bool IsDataValid () const
 returns true if the object contains valid data
 
 itkSetMacro (DataValid, bool)
 sets the dataValid flag of the NavigationData object indicating if the object contains valid data
 
 itkSetMacro (IGTTimeStamp, TimeStampType)
 sets the IGT timestamp of the NavigationData object in milliseconds
 
 itkGetConstMacro (IGTTimeStamp, TimeStampType)
 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 !
 
 itkSetMacro (HasPosition, bool)
 sets the HasPosition flag of the NavigationData object
 
 itkGetConstMacro (HasPosition, bool)
 gets the HasPosition flag of the NavigationData object
 
 itkSetMacro (HasOrientation, bool)
 sets the HasOrientation flag of the NavigationData object
 
 itkGetConstMacro (HasOrientation, bool)
 gets the HasOrientation flag of the NavigationData object
 
 itkSetMacro (CovErrorMatrix, CovarianceMatrixType)
 sets the 6x6 Error Covariance Matrix of the NavigationData object
 
 itkGetConstMacro (CovErrorMatrix, CovarianceMatrixType)
 gets the 6x6 Error Covariance Matrix of the NavigationData object
 
 itkSetStringMacro (Name)
 set the name of the NavigationData object
 
 itkGetStringMacro (Name)
 returns the name of the NavigationData object
 
void Graft (const DataObject *data) override
 Graft the data and information from one NavigationData to another.
 
void CopyInformation (const DataObject *data) override
 copy meta data of a NavigationData object
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 Prints the object information to the given stream os.
 
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.
 
mitk::Matrix3D GetRotationMatrix () const
 Calculate the RotationMatrix of this transformation.
 
mitk::Point3D TransformPoint (const mitk::Point3D point) const
 Transform by an affine transformation.
 
mitk::NavigationData::Pointer GetInverse () const
 
void Compose (const mitk::NavigationData::Pointer n, const bool pre=false)
 

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

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

itk::Matrix<mitk::ScalarType,6,6> mitk::NavigationData::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

Definition at line 17 of file mitkNavigationData.cpp.

◆ NavigationData() [2/3]

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

Definition at line 27 of file mitkNavigationData.cpp.

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

Definition at line 157 of file mitkNavigationData.cpp.

◆ ~NavigationData()

mitk::NavigationData::~NavigationData ( )
overrideprotected

Definition at line 33 of file mitkNavigationData.cpp.

Member Function Documentation

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

Definition at line 146 of file mitkNavigationData.cpp.

◆ 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

Definition at line 92 of file mitkNavigationData.cpp.

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

Definition at line 189 of file mitkNavigationData.cpp.

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

Definition at line 246 of file mitkNavigationData.cpp.

◆ GetRotationMatrix()

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

Calculate the RotationMatrix of this transformation.

Definition at line 208 of file mitkNavigationData.cpp.

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

Definition at line 38 of file mitkNavigationData.cpp.

◆ IsDataValid()

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

returns true if the object contains valid data

Definition at line 73 of file mitkNavigationData.cpp.

◆ itkCloneMacro()

mitk::NavigationData::itkCloneMacro ( Self )

◆ itkFactorylessNewMacro()

mitk::NavigationData::itkFactorylessNewMacro ( Self )

◆ itkGetConstMacro() [1/6]

mitk::NavigationData::itkGetConstMacro ( CovErrorMatrix ,
CovarianceMatrixType  )

gets the 6x6 Error Covariance Matrix of the NavigationData object

◆ itkGetConstMacro() [2/6]

mitk::NavigationData::itkGetConstMacro ( HasOrientation ,
bool  )

gets the HasOrientation flag of the NavigationData object

◆ itkGetConstMacro() [3/6]

mitk::NavigationData::itkGetConstMacro ( HasPosition ,
bool  )

gets the HasPosition flag of the NavigationData object

◆ itkGetConstMacro() [4/6]

mitk::NavigationData::itkGetConstMacro ( IGTTimeStamp ,
TimeStampType  )

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 !

◆ itkGetConstMacro() [5/6]

mitk::NavigationData::itkGetConstMacro ( Orientation ,
OrientationType  )

returns the orientation of the NavigationData object

◆ itkGetConstMacro() [6/6]

mitk::NavigationData::itkGetConstMacro ( Position ,
PositionType  )

returns position of the NavigationData object

◆ itkGetStringMacro()

mitk::NavigationData::itkGetStringMacro ( Name )

returns the name of the NavigationData object

◆ itkSetMacro() [1/7]

mitk::NavigationData::itkSetMacro ( CovErrorMatrix ,
CovarianceMatrixType  )

sets the 6x6 Error Covariance Matrix of the NavigationData object

◆ itkSetMacro() [2/7]

mitk::NavigationData::itkSetMacro ( DataValid ,
bool  )

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

◆ itkSetMacro() [3/7]

mitk::NavigationData::itkSetMacro ( HasOrientation ,
bool  )

sets the HasOrientation flag of the NavigationData object

◆ itkSetMacro() [4/7]

mitk::NavigationData::itkSetMacro ( HasPosition ,
bool  )

sets the HasPosition flag of the NavigationData object

◆ itkSetMacro() [5/7]

mitk::NavigationData::itkSetMacro ( IGTTimeStamp ,
TimeStampType  )

sets the IGT timestamp of the NavigationData object in milliseconds

◆ itkSetMacro() [6/7]

mitk::NavigationData::itkSetMacro ( Orientation ,
OrientationType  )

sets the orientation of the NavigationData object

◆ itkSetMacro() [7/7]

mitk::NavigationData::itkSetMacro ( Position ,
PositionType  )

sets the position of the NavigationData object

◆ itkSetStringMacro()

mitk::NavigationData::itkSetStringMacro ( Name )

set the name of the NavigationData object

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

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

Definition at line 79 of file mitkNavigationData.cpp.

◆ 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

Definition at line 133 of file mitkNavigationData.cpp.

◆ 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

Definition at line 119 of file mitkNavigationData.cpp.

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

Definition at line 223 of file mitkNavigationData.cpp.

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 files: