Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::NavigationTool Class Reference

An object of this class represents a navigation tool in the view of the software. A few informations like an identifier, a toolname, a surface and a itk spatial object are stored in such an object. The classes NavigationToolReader and are availiable to write/read tools to/from the harddisc. If you need a collection of navigation tools the class NavigationToolStorage could be used. More...

#include <mitkNavigationTool.h>

Inheritance diagram for mitk::NavigationTool:
Collaboration diagram for mitk::NavigationTool:

Public Types

enum  NavigationToolType { Instrument, Fiducial, Skinmarker, Unknown }
 

Public Member Functions

 mitkClassMacroItkParent (NavigationTool, itk::DataObject)
 
Pointer Clone () const
 
virtual NavigationToolType GetType () const
 
virtual void SetType (NavigationToolType _arg)
 
virtual std::string GetIdentifier () const
 
virtual void SetIdentifier (std::string _arg)
 
virtual mitk::DataNode::Pointer GetDataNode () const
 
virtual void SetDataNode (mitk::DataNode::Pointer _arg)
 
virtual itk::SpatialObject< 3 >::Pointer GetSpatialObject () const
 
virtual void SetSpatialObject (itk::SpatialObject< 3 >::Pointer _arg)
 
virtual mitk::TrackingTool::Pointer GetTrackingTool () const
 
virtual void SetTrackingTool (mitk::TrackingTool::Pointer _arg)
 
virtual std::string GetCalibrationFile () const
 
void SetCalibrationFile (const std::string filename)
 
virtual mitk::Point3D GetToolTipPosition () const
 
virtual void SetToolTipPosition (mitk::Point3D _arg)
 
virtual mitk::Quaternion GetToolTipOrientation () const
 
virtual void SetToolTipOrientation (mitk::Quaternion _arg)
 
mitk::AffineTransform3D::Pointer GetToolTipTransform ()
 
bool IsToolTipSet ()
 
virtual mitk::PointSet::Pointer GetToolRegistrationLandmarks () const
 
virtual void SetToolRegistrationLandmarks (mitk::PointSet::Pointer _arg)
 Sets the tool registration landmarks which represent markers / special points on a tool that can be used for registration. The landmarks should be given in tool coordinates. More...
 
virtual mitk::PointSet::Pointer GetToolCalibrationLandmarks () const
 
virtual void SetToolCalibrationLandmarks (mitk::PointSet::Pointer _arg)
 Sets the tool calibration landmarks for calibration of defined points in the tool coordinate system, e.g. 2 landmarks for a 5DoF tool and 3 landmarks for a 6DoF tool. More...
 
virtual std::string GetSerialNumber () const
 
virtual void SetSerialNumber (std::string _arg)
 
virtual mitk::TrackingDeviceType GetTrackingDeviceType () const
 
virtual void SetTrackingDeviceType (mitk::TrackingDeviceType _arg)
 
std::string GetToolName ()
 
mitk::Surface::Pointer GetToolSurface ()
 
virtual void Graft (const DataObject *data) override
 Graft the data and information from one NavigationTool to another. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 NavigationTool ()
 
 ~NavigationTool ()
 

Protected Attributes

std::string m_Identifier
 
NavigationToolType m_Type
 
mitk::DataNode::Pointer m_DataNode
 This DataNode holds a toolname and a tool surface. More...
 
itk::SpatialObject< 3 >::Pointer m_SpatialObject
 This member variable holds a mathamatical description of the tool. More...
 
mitk::TrackingTool::Pointer m_TrackingTool
 This member variable holds a pointer to the corresponding tracking tool in the hardware. More...
 
std::string m_CalibrationFile
 The path to the calibration file of the tool. More...
 
std::string m_SerialNumber
 A unique serial number of the tool which is needed to identify the tool correctly. This is very important in case of the NDI Aurora System. More...
 
mitk::TrackingDeviceType m_TrackingDeviceType
 This member holds the tracking device type of the tool. More...
 
mitk::PointSet::Pointer m_ToolRegistrationLandmarks
 Holds landmarks for tool registration. More...
 
mitk::PointSet::Pointer m_ToolCalibrationLandmarks
 Holds landmarks for calibration of the defined points in the tool coordinate system, e.g. 2 landmarks for a 5DoF tool and 3 landmarks for a 6DoF tool. More...
 
mitk::Point3D m_ToolTipPosition
 Holds the position of the tool tip. More...
 
mitk::Quaternion m_ToolTipOrientation
 Holds the orientation of the tool tip. More...
 

Detailed Description

An object of this class represents a navigation tool in the view of the software. A few informations like an identifier, a toolname, a surface and a itk spatial object are stored in such an object. The classes NavigationToolReader and are availiable to write/read tools to/from the harddisc. If you need a collection of navigation tools the class NavigationToolStorage could be used.

Documentation

Definition at line 44 of file mitkNavigationTool.h.

Member Enumeration Documentation

Enumerator
Instrument 
Fiducial 
Skinmarker 
Unknown 

Definition at line 52 of file mitkNavigationTool.h.

Constructor & Destructor Documentation

mitk::NavigationTool::NavigationTool ( )
protected

Definition at line 23 of file mitkNavigationTool.cpp.

References m_ToolTipPosition.

mitk::NavigationTool::~NavigationTool ( )
protected

Definition at line 37 of file mitkNavigationTool.cpp.

Member Function Documentation

Pointer mitk::NavigationTool::Clone ( ) const
virtual std::string mitk::NavigationTool::GetCalibrationFile ( ) const
virtual
virtual mitk::DataNode::Pointer mitk::NavigationTool::GetDataNode ( ) const
virtual
virtual std::string mitk::NavigationTool::GetIdentifier ( ) const
virtual
virtual std::string mitk::NavigationTool::GetSerialNumber ( ) const
virtual
virtual itk::SpatialObject<3>::Pointer mitk::NavigationTool::GetSpatialObject ( ) const
virtual
virtual mitk::PointSet::Pointer mitk::NavigationTool::GetToolCalibrationLandmarks ( ) const
virtual
Returns
Returns the tool calibration landmarks for calibration of the defined points in the tool coordinate system, e.g. 2 landmarks for a 5DoF tool and 3 landmarks for a 6DoF tool.
std::string mitk::NavigationTool::GetToolName ( )
Returns
Returns the name of this navigation tool. Returns an empty string if there is no name (for example because the data node has not been set yet).

Note: There is no setter for the name, because the name of the corresponding data node is used as tool name. So if you want to modify the name of this navigation tool only get the data node and modify its name.

Definition at line 118 of file mitkNavigationTool.cpp.

virtual mitk::PointSet::Pointer mitk::NavigationTool::GetToolRegistrationLandmarks ( ) const
virtual

For overview, here are descriptons of the two types of tool landmarks:

tool calibration landmarks: These landmarks may be used clearly define the tools pose only by using landmarks in the tool coordinate system. E.g., two landmarks for a 5DoF tool and three landmarks for a 6DoF tool. These landmarks may be used, e.g., for a point based registration of a tool from image space to tracking space.

tool registration landmarks: These landmarks are designed for representing defined landmarks on a tools surface. The number of these landmarks might exeed the number of tool calibration landmarks for reasons of redundancy and averaging. They are used for, e.g., manually registering the pose of a tool by visual markers in a CT scan. If you would use these landmarks to do a point based registration from image space to tracking space later, you might overweight the tool because of two many landmarks compared to other markers.

Returns
Returns the tool registration landmarks which represent markers / special points on a tool that can be used for registration. The landmarks should be given in tool coordinates. If there are no landmarks defined for this tool the method returns an empty point set.
mitk::Surface::Pointer mitk::NavigationTool::GetToolSurface ( )
Returns
Returns the surface of this navigation tool. Returns NULL if there is no surface (for example because the data node has not been set yet).

Note: There is no setter for the surface, because the surface is the data of the corresponding data node. So if you want to set a new surface only get the data node and modify its data.

Definition at line 124 of file mitkNavigationTool.cpp.

virtual mitk::Quaternion mitk::NavigationTool::GetToolTipOrientation ( ) const
virtual
virtual mitk::Point3D mitk::NavigationTool::GetToolTipPosition ( ) const
virtual
mitk::AffineTransform3D::Pointer mitk::NavigationTool::GetToolTipTransform ( )
Returns
Returns the tooltip as transform object.

Definition at line 42 of file mitkNavigationTool.cpp.

References mitk::NavigationData::New().

virtual mitk::TrackingDeviceType mitk::NavigationTool::GetTrackingDeviceType ( ) const
virtual
virtual mitk::TrackingTool::Pointer mitk::NavigationTool::GetTrackingTool ( ) const
virtual
virtual NavigationToolType mitk::NavigationTool::GetType ( ) const
virtual
void mitk::NavigationTool::Graft ( const DataObject *  data)
overridevirtual

Graft the data and information from one NavigationTool to another.

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

Definition at line 50 of file mitkNavigationTool.cpp.

References mitkThrowException.

bool mitk::NavigationTool::IsToolTipSet ( )
Returns
Returns true if a tooltip is set, false if not.

Definition at line 88 of file mitkNavigationTool.cpp.

mitk::NavigationTool::mitkClassMacroItkParent ( NavigationTool  ,
itk::DataObject   
)
void mitk::NavigationTool::SetCalibrationFile ( const std::string  filename)

Definition at line 101 of file mitkNavigationTool.cpp.

References File.

virtual void mitk::NavigationTool::SetDataNode ( mitk::DataNode::Pointer  _arg)
virtual
virtual void mitk::NavigationTool::SetIdentifier ( std::string  _arg)
virtual
virtual void mitk::NavigationTool::SetSerialNumber ( std::string  _arg)
virtual
virtual void mitk::NavigationTool::SetSpatialObject ( itk::SpatialObject< 3 >::Pointer  _arg)
virtual
virtual void mitk::NavigationTool::SetToolCalibrationLandmarks ( mitk::PointSet::Pointer  _arg)
virtual

Sets the tool calibration landmarks for calibration of defined points in the tool coordinate system, e.g. 2 landmarks for a 5DoF tool and 3 landmarks for a 6DoF tool.

virtual void mitk::NavigationTool::SetToolRegistrationLandmarks ( mitk::PointSet::Pointer  _arg)
virtual

Sets the tool registration landmarks which represent markers / special points on a tool that can be used for registration. The landmarks should be given in tool coordinates.

virtual void mitk::NavigationTool::SetToolTipOrientation ( mitk::Quaternion  _arg)
virtual
virtual void mitk::NavigationTool::SetToolTipPosition ( mitk::Point3D  _arg)
virtual
virtual void mitk::NavigationTool::SetTrackingDeviceType ( mitk::TrackingDeviceType  _arg)
virtual
virtual void mitk::NavigationTool::SetTrackingTool ( mitk::TrackingTool::Pointer  _arg)
virtual
virtual void mitk::NavigationTool::SetType ( NavigationToolType  _arg)
virtual

Member Data Documentation

std::string mitk::NavigationTool::m_CalibrationFile
protected

The path to the calibration file of the tool.

Definition at line 177 of file mitkNavigationTool.h.

mitk::DataNode::Pointer mitk::NavigationTool::m_DataNode
protected

This DataNode holds a toolname and a tool surface.

Definition at line 171 of file mitkNavigationTool.h.

std::string mitk::NavigationTool::m_Identifier
protected

Definition at line 168 of file mitkNavigationTool.h.

std::string mitk::NavigationTool::m_SerialNumber
protected

A unique serial number of the tool which is needed to identify the tool correctly. This is very important in case of the NDI Aurora System.

Definition at line 180 of file mitkNavigationTool.h.

itk::SpatialObject<3>::Pointer mitk::NavigationTool::m_SpatialObject
protected

This member variable holds a mathamatical description of the tool.

Definition at line 173 of file mitkNavigationTool.h.

mitk::PointSet::Pointer mitk::NavigationTool::m_ToolCalibrationLandmarks
protected

Holds landmarks for calibration of the defined points in the tool coordinate system, e.g. 2 landmarks for a 5DoF tool and 3 landmarks for a 6DoF tool.

Definition at line 188 of file mitkNavigationTool.h.

mitk::PointSet::Pointer mitk::NavigationTool::m_ToolRegistrationLandmarks
protected

Holds landmarks for tool registration.

Definition at line 184 of file mitkNavigationTool.h.

mitk::Quaternion mitk::NavigationTool::m_ToolTipOrientation
protected

Holds the orientation of the tool tip.

Definition at line 192 of file mitkNavigationTool.h.

mitk::Point3D mitk::NavigationTool::m_ToolTipPosition
protected

Holds the position of the tool tip.

Definition at line 190 of file mitkNavigationTool.h.

Referenced by NavigationTool().

mitk::TrackingDeviceType mitk::NavigationTool::m_TrackingDeviceType
protected

This member holds the tracking device type of the tool.

Definition at line 182 of file mitkNavigationTool.h.

mitk::TrackingTool::Pointer mitk::NavigationTool::m_TrackingTool
protected

This member variable holds a pointer to the corresponding tracking tool in the hardware.

Definition at line 175 of file mitkNavigationTool.h.

NavigationToolType mitk::NavigationTool::m_Type
protected

Definition at line 169 of file mitkNavigationTool.h.


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