Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Navigation Data. More...
#include <mitkNavigationData.h>
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... | |
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.
typedef 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.
Type that holds the orientation part of the tracking data.
Definition at line 52 of file mitkNavigationData.h.
Type that holds the position part of the tracking data.
Definition at line 48 of file mitkNavigationData.h.
typedef double mitk::NavigationData::TimeStampType |
type that holds the time at which the data was recorded in milliseconds
Definition at line 60 of file mitkNavigationData.h.
|
protected |
Definition at line 17 of file mitkNavigationData.cpp.
References m_CovErrorMatrix, and m_Position.
|
protected |
Definition at line 27 of file mitkNavigationData.cpp.
|
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.
checkForRotationMatrix | if 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. |
mitkException | if checkForRotationMatrix is true and a non rotation matrix was introduced by AffineTransform. |
Definition at line 157 of file mitkNavigationData.cpp.
References mitk::Equal(), m_Orientation, m_Position, mitkThrow, and offset.
|
overrideprotected |
Definition at line 33 of file mitkNavigationData.cpp.
Pointer mitk::NavigationData::Clone | ( | ) | const |
Referenced by GetInverse().
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.
References Graft().
|
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.
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.
References GetRotationMatrix(), and m_Position.
Referenced by mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTDataMsg(), and mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTransMsg().
|
virtual |
gets the 6x6 Error Covariance Matrix of the NavigationData object
Referenced by mitk::Equal(), mitk::NavigationDataToMessageFilter::GenerateData(), PrintSelf(), and mitk::NavigationDataRecorderDeprecated::Update().
|
virtual |
gets the HasOrientation flag of the NavigationData object
Referenced by PrintSelf(), and mitk::NavigationDataRecorderDeprecated::Update().
|
virtual |
gets the HasPosition flag of the NavigationData object
Referenced by PrintSelf(), and mitk::NavigationDataRecorderDeprecated::Update().
|
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 !
Referenced by mitk::Equal(), mitk::NavigationDataToMessageFilter::GenerateData(), mitk::TrackingDeviceSource::GenerateData(), mitk::NavigationDataToPointSetFilter::GenerateDataMode3DMean(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTransMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTransMsg(), and PrintSelf().
mitk::NavigationData::Pointer mitk::NavigationData::GetInverse | ( | ) | const |
Get inverse of the Transformation represented by this NavigationData.
mitk::Exception | in case the transformation is invalid (only case: quaternion is zero) |
Definition at line 246 of file mitkNavigationData.cpp.
References Clone(), mitk::Equal(), GetOrientation(), GetPosition(), mitkThrow, SetHasOrientation(), and SetHasPosition().
|
virtual |
returns the name of the NavigationData object
Referenced by QmitkToolDistanceWidget::CreateToolDistanceMatrix(), mitk::Equal(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTransMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTransMsg(), and QmitkToolTrackingStatusWidget::Refresh().
|
virtual |
returns the orientation of the NavigationData object
Referenced by mitk::Equal(), mitk::NavigationDataHandEyeCalibrationFilter::GenerateData(), mitk::NavigationDataTransformFilter::GenerateData(), mitk::NavigationDataToMessageFilter::GenerateData(), mitk::NavigationDataEvaluationFilter::GenerateData(), mitk::CameraVisualization::GenerateData(), mitk::NavigationDataObjectVisualizationFilter::GenerateData(), mitk::NavigationDataSliceVisualization::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTransMsg(), GetInverse(), mitk::NeedleProjectionFilter::NavigationDataToTransform(), PrintSelf(), QmitkToolTrackingStatusWidget::Refresh(), TransformPoint(), and mitk::NavigationDataRecorderDeprecated::Update().
|
virtual |
returns position of the NavigationData object
Referenced by mitk::Equal(), mitk::NavigationDataHandEyeCalibrationFilter::GenerateData(), mitk::NavigationDataDisplacementFilter::GenerateData(), mitk::NavigationDataTransformFilter::GenerateData(), mitk::NavigationDataToMessageFilter::GenerateData(), mitk::NavigationDataEvaluationFilter::GenerateData(), mitk::CameraVisualization::GenerateData(), mitk::NavigationDataObjectVisualizationFilter::GenerateData(), mitk::NavigationDataSliceVisualization::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::NavigationDataToPointSetFilter::GenerateDataMode3D(), mitk::NavigationDataToPointSetFilter::GenerateDataMode3DMean(), mitk::NavigationDataToPointSetFilter::GenerateDataMode4D(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTransMsg(), GetInverse(), mitk::NeedleProjectionFilter::NavigationDataToTransform(), PrintSelf(), QmitkToolTrackingStatusWidget::Refresh(), QmitkToolDistanceWidget::ShowDistanceValues(), TransformPoint(), and mitk::NavigationDataRecorderDeprecated::Update().
mitk::Matrix3D mitk::NavigationData::GetRotationMatrix | ( | ) | const |
Calculate the RotationMatrix of this transformation.
Definition at line 208 of file mitkNavigationData.cpp.
References m_Orientation.
Referenced by GetAffineTransform3D().
|
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.
References SetCovErrorMatrix(), SetDataValid(), SetHasOrientation(), SetHasPosition(), SetIGTTimeStamp(), SetName(), SetOrientation(), and SetPosition().
Referenced by Compose(), mitk::NavigationDataPassThroughFilter::GenerateData(), mitk::NavigationDataSmoothingFilter::GenerateData(), mitk::NavigationDataDelayFilter::GenerateData(), mitk::NavigationDataHandEyeCalibrationFilter::GenerateData(), mitk::NavigationDataDisplacementFilter::GenerateData(), mitk::NavigationDataSequentialPlayer::GenerateData(), mitk::NavigationDataPlayer::GenerateData(), mitk::NavigationDataToMessageFilter::GenerateData(), mitk::NavigationDataEvaluationFilter::GenerateData(), mitk::CameraVisualization::GenerateData(), mitk::NavigationDataRecorder::GenerateData(), mitk::NavigationDataSliceVisualization::GenerateData(), mitk::NavigationDataObjectVisualizationFilter::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTrackingDataData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTransformData(), and mitk::NavigationDataPlayerBase::GraftEmptyOutput().
|
virtual |
returns true if the object contains valid data
Definition at line 73 of file mitkNavigationData.cpp.
References m_DataValid.
Referenced by mitk::NavigationDataPassThroughFilter::GenerateData(), mitk::NavigationDataSmoothingFilter::GenerateData(), mitk::NavigationDataDelayFilter::GenerateData(), mitk::NavigationDataHandEyeCalibrationFilter::GenerateData(), mitk::NavigationDataDisplacementFilter::GenerateData(), mitk::NavigationDataTransformFilter::GenerateData(), mitk::NavigationDataToMessageFilter::GenerateData(), mitk::NavigationDataEvaluationFilter::GenerateData(), mitk::CameraVisualization::GenerateData(), mitk::NavigationDataObjectVisualizationFilter::GenerateData(), mitk::NavigationDataSliceVisualization::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::NavigationDataToPointSetFilter::GenerateDataMode3D(), mitk::NavigationDataToPointSetFilter::GenerateDataMode3DMean(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendQTransMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTDataMsg(), mitk::NavigationDataToIGTLMessageFilter::GenerateDataModeSendTransMsg(), PrintSelf(), QmitkToolTrackingStatusWidget::Refresh(), QmitkToolDistanceWidget::ShowDistanceValues(), and mitk::NavigationDataRecorderDeprecated::Update().
mitk::NavigationData::mitkClassMacroItkParent | ( | NavigationData | , |
itk::DataObject | |||
) |
|
protected |
mitk::NavigationData::mitkNewMacro1Param | ( | Self | , |
mitk::AffineTransform3D::Pointer | |||
) |
mitk::NavigationData::mitkNewMacro2Param | ( | Self | , |
mitk::AffineTransform3D::Pointer | , | ||
const bool | |||
) |
|
static |
Referenced by mitk::NavigationDataReaderCSV::CreateNd(), mitk::NavigationDataToNavigationDataFilter::CreateOutputsForAllInputs(), mitk::IGTLMessageToNavigationDataFilter::CreateOutputsForAllInputs(), mitk::Transform::FromXML(), mitk::NavigationDataDelayFilter::GenerateData(), mitk::NavigationDataRecorder::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTrackingDataData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTransformData(), mitk::NodeDisplacementFilter::GetRawDisplacementNavigationData(), mitk::NavigationTool::GetToolTipTransform(), mitk::NavigationDataPlayerBase::GraftEmptyOutput(), mitk::IGTLMessageToNavigationDataFilter::IGTLMessageToNavigationDataFilter(), main(), mitk::NavigationDataSource::MakeOutput(), mitkTrackingDeviceSourceTest(), mitk::NavigationDataDisplacementFilter::NavigationDataDisplacementFilter(), mitk::NavigationDataToNavigationDataFilter::NavigationDataToNavigationDataFilter(), QmitkNavigationToolCreationWidget::OnEditToolTipFinished(), mitk::NavigationDataReaderXML::ReadNavigationData(), QmitkFiducialRegistrationWidget::Register(), mitk::Transform::Reset(), QmitkInteractiveTransformationWidget::Rotate(), QmitkInteractiveTransformationWidget::SetDefaultRotation(), and mitk::NavigationDataDisplacementFilter::SetTransformation().
|
override |
Prints the object information to the given stream os.
os | The stream which is used to print the output. |
indent | Defines the indentation of the output. |
Definition at line 79 of file mitkNavigationData.cpp.
References GetCovErrorMatrix(), GetHasOrientation(), GetHasPosition(), GetIGTTimeStamp(), GetOrientation(), GetPosition(), and IsDataValid().
|
virtual |
sets the 6x6 Error Covariance Matrix of the NavigationData object
Referenced by mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), and Graft().
|
virtual |
sets the dataValid flag of the NavigationData object indicating if the object contains valid data
Referenced by mitk::NavigationDataPassThroughFilter::GenerateData(), mitk::NavigationDataSmoothingFilter::GenerateData(), mitk::NavigationDataDelayFilter::GenerateData(), mitk::NavigationDataHandEyeCalibrationFilter::GenerateData(), mitk::NavigationDataDisplacementFilter::GenerateData(), mitk::NavigationDataTransformFilter::GenerateData(), mitk::NavigationDataEvaluationFilter::GenerateData(), mitk::TrackingDeviceSource::GenerateData(), mitk::NavigationDataObjectVisualizationFilter::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTrackingDataData(), mitk::IGTLMessageToNavigationDataFilter::GenerateTransformData(), and Graft().
|
virtual |
sets the HasOrientation flag of the NavigationData object
Referenced by mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), GetInverse(), and Graft().
|
virtual |
sets the HasPosition flag of the NavigationData object
Referenced by mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), GetInverse(), and Graft().
|
virtual |
sets the IGT timestamp of the NavigationData object in milliseconds
Referenced by mitk::TrackingDeviceSource::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), and Graft().
|
virtual |
set the name of the NavigationData object
Referenced by mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), and Graft().
|
virtual |
sets the orientation of the NavigationData object
Referenced by mitk::NavigationDataTransformFilter::GenerateData(), mitk::TrackingDeviceSource::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), and Graft().
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.
References m_CovErrorMatrix.
Referenced by mitk::TrackingDeviceSource::GenerateData().
|
virtual |
sets the position of the NavigationData object
Referenced by mitk::NavigationDataSmoothingFilter::GenerateData(), mitk::NavigationDataDisplacementFilter::GenerateData(), mitk::NavigationDataTransformFilter::GenerateData(), mitk::TrackingDeviceSource::GenerateData(), mitk::NavigationDataLandmarkTransformFilter::GenerateData(), mitk::IGTLMessageToNavigationDataFilter::GenerateQuaternionTrackingDataData(), and Graft().
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.
References m_CovErrorMatrix.
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 223 of file mitkNavigationData.cpp.
References GetOrientation(), and GetPosition().
|
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 244 of file mitkNavigationData.h.
Referenced by NavigationData(), SetOrientationAccuracy(), and SetPositionAccuracy().
|
protected |
defines if the object contains valid values
Definition at line 256 of file mitkNavigationData.h.
Referenced by IsDataValid().
|
protected |
defines if orientation part of m_CovErrorMatrix is valid
Definition at line 252 of file mitkNavigationData.h.
|
protected |
defines if position part of m_CovErrorMatrix is valid
Definition at line 248 of file mitkNavigationData.h.
|
protected |
contains the time at which the tracking data was recorded
Definition at line 260 of file mitkNavigationData.h.
|
protected |
name of the navigation data
Definition at line 264 of file mitkNavigationData.h.
|
protected |
holds the orientation part of the tracking data
Definition at line 235 of file mitkNavigationData.h.
Referenced by GetRotationMatrix(), and NavigationData().
|
protected |
holds the position part of the tracking data
Definition at line 231 of file mitkNavigationData.h.
Referenced by GetAffineTransform3D(), and NavigationData().