Medical Imaging Interaction Toolkit  2016.11.0
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 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 More...
 
virtual TimeStampType GetIGTTimeStamp () const
 gets the IGT timestamp of the NavigationData object 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...
 
virtual void Graft (const DataObject *data) override
 Graft the data and information from one NavigationData to another. More...
 
virtual 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)
 
virtual ~NavigationData ()
 

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 40 of file mitkNavigationData.h.

Member Typedef Documentation

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

Definition at line 60 of file mitkNavigationData.h.

Type that holds the orientation part of the tracking data.

Definition at line 56 of file mitkNavigationData.h.

Type that holds the position part of the tracking data.

Definition at line 52 of file mitkNavigationData.h.

type that holds the time at which the data was recorded

Definition at line 64 of file mitkNavigationData.h.

Constructor & Destructor Documentation

mitk::NavigationData::NavigationData ( )
protected

Definition at line 21 of file mitkNavigationData.cpp.

References m_CovErrorMatrix, and m_Position.

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

Definition at line 31 of file mitkNavigationData.cpp.

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
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 161 of file mitkNavigationData.cpp.

References mitk::Equal(), m_Orientation, m_Position, mitkThrow, and offset.

mitk::NavigationData::~NavigationData ( )
protectedvirtual

Definition at line 37 of file mitkNavigationData.cpp.

Member Function Documentation

Pointer mitk::NavigationData::Clone ( ) const
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 150 of file mitkNavigationData.cpp.

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

copy meta data of a NavigationData object

copies all meta data from NavigationData data to this object

Definition at line 96 of file mitkNavigationData.cpp.

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 193 of file mitkNavigationData.cpp.

References mitk::New().

Referenced by mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTDataMsg(), and mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTransMsg().

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

gets the HasOrientation flag of the NavigationData object

Referenced by mitk::NavigationDataRecorderDeprecated::Update().

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

gets the HasPosition flag of the NavigationData object

Referenced by mitk::NavigationDataRecorderDeprecated::Update().

virtual TimeStampType mitk::NavigationData::GetIGTTimeStamp ( ) const
virtual
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 250 of file mitkNavigationData.cpp.

References mitk::Clone(), mitk::Equal(), and mitkThrow.

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

Calculate the RotationMatrix of this transformation.

Definition at line 212 of file mitkNavigationData.cpp.

mitk::NavigationData::mitkClassMacroItkParent ( NavigationData  ,
itk::DataObject   
)
mitk::NavigationData::mitkCloneMacro ( Self  )
protected
mitk::NavigationData::mitkNewMacro1Param ( Self  ,
mitk::AffineTransform3D::Pointer   
)
mitk::NavigationData::mitkNewMacro2Param ( Self  ,
mitk::AffineTransform3D::Pointer  ,
const bool   
)
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 83 of file mitkNavigationData.cpp.

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

sets the HasOrientation flag of the NavigationData object

Referenced by mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData().

virtual void mitk::NavigationData::SetHasPosition ( bool  _arg)
virtual
virtual void mitk::NavigationData::SetIGTTimeStamp ( TimeStampType  _arg)
virtual
virtual void mitk::NavigationData::SetName ( const char *  _arg)
virtual
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 137 of file mitkNavigationData.cpp.

Referenced by mitk::TrackingDeviceSource::GenerateData().

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 123 of file mitkNavigationData.cpp.

Referenced by mitk::TrackingDeviceSource::GenerateData().

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 227 of file mitkNavigationData.cpp.

Member Data Documentation

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 247 of file mitkNavigationData.h.

Referenced by NavigationData().

bool mitk::NavigationData::m_DataValid
protected

defines if the object contains valid values

Definition at line 259 of file mitkNavigationData.h.

bool mitk::NavigationData::m_HasOrientation
protected

defines if orientation part of m_CovErrorMatrix is valid

Definition at line 255 of file mitkNavigationData.h.

bool mitk::NavigationData::m_HasPosition
protected

defines if position part of m_CovErrorMatrix is valid

Definition at line 251 of file mitkNavigationData.h.

TimeStampType mitk::NavigationData::m_IGTTimeStamp
protected

contains the time at which the tracking data was recorded

Definition at line 263 of file mitkNavigationData.h.

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

name of the navigation data

Definition at line 267 of file mitkNavigationData.h.

OrientationType mitk::NavigationData::m_Orientation
protected

holds the orientation part of the tracking data

Definition at line 238 of file mitkNavigationData.h.

Referenced by NavigationData().

PositionType mitk::NavigationData::m_Position
protected

holds the position part of the tracking data

Definition at line 234 of file mitkNavigationData.h.

Referenced by NavigationData().


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