Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::VirtualTrackingTool Class Reference

implements TrackingTool interface More...

#include <mitkVirtualTrackingTool.h>

Inheritance diagram for mitk::VirtualTrackingTool:
Collaboration diagram for mitk::VirtualTrackingTool:

Public Types

typedef itk::NonUniformBSpline< 3 > SplineType
 spline type used for tool path interpolation More...
 

Public Member Functions

 mitkClassMacro (VirtualTrackingTool, TrackingTool)
 
virtual mitk::ScalarType GetSplineLength ()
 
virtual void SetSplineLength (mitk::ScalarType _arg)
 
virtual mitk::ScalarType GetVelocity ()
 
virtual void SetVelocity (mitk::ScalarType _arg)
 
virtual SplineTypeGetSpline ()
 
- Public Member Functions inherited from mitk::TrackingTool
 mitkClassMacroItkParent (TrackingTool, itk::Object)
 
Pointer Clone () const
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual const char * GetToolName () const
 every tool has a name thatgit can be used to identify it. More...
 
virtual void SetToolName (const std::string _arg)
 Sets the name of the tool. More...
 
virtual void SetToolName (const char *_arg)
 Sets the name of the tool. More...
 
Point3D GetToolTipPosition () const
 returns the tool tip in tool coordinates, which where set by SetToolTip More...
 
Quaternion GetToolAxisOrientation () const
 returns the transformation of the tool axis with respect to the MITK-IGT main tool axis (0,0,-1) More...
 
virtual void SetToolTipPosition (Point3D toolTipPosition, Quaternion orientation, ScalarType eps=0.0)
 defines a tool tip for this tool in tool coordinates. GetPosition() and GetOrientation() return the data of the tool tip if it is defined. By default no tooltip is defined. More...
 
virtual bool IsToolTipSet () const
 returns true if a tool tip is set, false if not More...
 
virtual void GetPosition (Point3D &position) const
 returns the current position of the tool as an array of three floats (in the tracking device coordinate system) More...
 
virtual void SetPosition (Point3D position)
 sets the position More...
 
virtual void GetOrientation (Quaternion &orientation) const
 returns the current orientation of the tool as a quaternion in a mitk::Point4D (in the tracking device coordinate system) More...
 
virtual void SetOrientation (Quaternion orientation)
 sets the orientation as a quaternion More...
 
virtual bool Enable ()
 enables the tool, so that it will be tracked More...
 
virtual bool Disable ()
 disables the tool, so that it will not be tracked anymore More...
 
virtual bool IsEnabled () const
 returns whether the tool is enabled or disabled More...
 
virtual void SetDataValid (bool isDataValid)
 sets if the tracking data (position & orientation) is valid More...
 
virtual bool IsDataValid () const
 returns true if the current position data is valid (no error during tracking, tracking error below threshold, ...) More...
 
virtual float GetTrackingError () const
 returns one value that corresponds to the overall tracking error. More...
 
virtual void SetTrackingError (float error)
 sets the tracking error More...
 
virtual const char * GetErrorMessage () const
 if the data is not valid, ErrorMessage should contain a string explaining why it is invalid (the Set-method should be implemented in subclasses, it should not be accessible by the user) More...
 
virtual void SetErrorMessage (const char *_arg)
 sets the error message More...
 
virtual void SetIGTTimeStamp (double _arg)
 Sets the IGT timestamp of the tracking tool object (time in milliseconds) More...
 
virtual double GetIGTTimeStamp () const
 Gets the IGT timestamp of the tracking tool object (time in milliseconds). Returns 0 if the timestamp was not set. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::TrackingTool
static Pointer New ()
 

Protected Member Functions

Pointer Clone () const
 
 VirtualTrackingTool ()
 
 ~VirtualTrackingTool () override
 
- Protected Member Functions inherited from mitk::TrackingTool
 TrackingTool ()
 
 ~TrackingTool () override
 

Protected Attributes

SplineType::Pointer m_Spline
 
mitk::ScalarType m_SplineLength
 
mitk::ScalarType m_Velocity
 
- Protected Attributes inherited from mitk::TrackingTool
std::string m_ToolName
 every tool has a name that can be used to identify it. More...
 
std::string m_ErrorMessage
 if a tool is invalid, this member should contain a human readable explanation of why it is invalid More...
 
double m_IGTTimeStamp
 contains the time at which the tracking data was recorded More...
 
std::mutex m_MyMutex
 mutex to control concurrent access to the tool More...
 
Point3D m_Position
 holds the position of the tool in global tracking coordinates More...
 
Quaternion m_Orientation
 holds the orientation of the tool´in global tracking coordinates More...
 
float m_TrackingError
 holds the tracking error of the tool More...
 
bool m_Enabled
 if true, tool is enabled and should receive tracking updates from the tracking device More...
 
bool m_DataValid
 if true, data in m_Position and m_Orientation is valid, e.g. true tracking data More...
 
Point3D m_ToolTipPosition
 holds the position of the tool tip in the coordinate system of the tracking sensor More...
 
Quaternion m_ToolAxisOrientation
 holds the rotation of the sensor coordinate system such that the z-axis coincides with the main tool axis e.g. obtained by a tool calibration More...
 
bool m_ToolTipSet
 

Detailed Description

implements TrackingTool interface

Documentation This class is a complete TrackingTool implementation. It can either be used directly by TrackingDevices, or be subclassed for more specific implementations. mitk::MicroBirdTrackingDevice uses this class to manage its tools. Other tracking devices uses specialized versions of this class (e.g. mitk::NDITrackingTool)

Definition at line 35 of file mitkVirtualTrackingTool.h.

Member Typedef Documentation

◆ SplineType

spline type used for tool path interpolation

Definition at line 41 of file mitkVirtualTrackingTool.h.

Constructor & Destructor Documentation

◆ VirtualTrackingTool()

mitk::VirtualTrackingTool::VirtualTrackingTool ( )
protected

◆ ~VirtualTrackingTool()

mitk::VirtualTrackingTool::~VirtualTrackingTool ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::VirtualTrackingTool::Clone ( ) const
protected

◆ GetSpline()

virtual SplineType* mitk::VirtualTrackingTool::GetSpline ( )
virtual

◆ GetSplineLength()

virtual mitk::ScalarType mitk::VirtualTrackingTool::GetSplineLength ( )
virtual

◆ GetVelocity()

virtual mitk::ScalarType mitk::VirtualTrackingTool::GetVelocity ( )
virtual

◆ mitkClassMacro()

mitk::VirtualTrackingTool::mitkClassMacro ( VirtualTrackingTool  ,
TrackingTool   
)

◆ New()

static Pointer mitk::VirtualTrackingTool::New ( )
static

◆ SetSplineLength()

virtual void mitk::VirtualTrackingTool::SetSplineLength ( mitk::ScalarType  _arg)
virtual

◆ SetVelocity()

virtual void mitk::VirtualTrackingTool::SetVelocity ( mitk::ScalarType  _arg)
virtual

Member Data Documentation

◆ m_Spline

SplineType::Pointer mitk::VirtualTrackingTool::m_Spline
protected

Definition at line 57 of file mitkVirtualTrackingTool.h.

◆ m_SplineLength

mitk::ScalarType mitk::VirtualTrackingTool::m_SplineLength
protected

Definition at line 58 of file mitkVirtualTrackingTool.h.

◆ m_Velocity

mitk::ScalarType mitk::VirtualTrackingTool::m_Velocity
protected

Definition at line 59 of file mitkVirtualTrackingTool.h.


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