MITK-IGT
IGT Extension of MITK
|
Interface for all Tracking Tools. More...
#include <mitkTrackingTool.h>
Public Member Functions | |
mitkClassMacroItkParent (TrackingTool, itk::Object) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
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. | |
virtual void | SetToolName (const std::string _arg) |
Sets the name of the tool. | |
virtual void | SetToolName (const char *_arg) |
Sets the name of the tool. | |
Point3D | GetToolTipPosition () const |
returns the tool tip in tool coordinates, which where set by SetToolTip | |
Quaternion | GetToolAxisOrientation () const |
returns the transformation of the tool axis with respect to the MITK-IGT main tool axis (0,0,-1) | |
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. | |
virtual bool | IsToolTipSet () const |
returns true if a tool tip is set, false if not | |
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) | |
virtual void | SetPosition (Point3D position) |
sets the position | |
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) | |
virtual void | SetOrientation (Quaternion orientation) |
sets the orientation as a quaternion | |
virtual bool | Enable () |
enables the tool, so that it will be tracked | |
virtual bool | Disable () |
disables the tool, so that it will not be tracked anymore | |
virtual bool | IsEnabled () const |
returns whether the tool is enabled or disabled | |
virtual void | SetDataValid (bool isDataValid) |
sets if the tracking data (position & orientation) is valid | |
virtual bool | IsDataValid () const |
returns true if the current position data is valid (no error during tracking, tracking error below threshold, ...) | |
virtual float | GetTrackingError () const |
returns one value that corresponds to the overall tracking error. | |
virtual void | SetTrackingError (float error) |
sets the tracking error | |
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) | |
virtual void | SetErrorMessage (const char *_arg) |
sets the error message | |
itkSetMacro (IGTTimeStamp, double) itkGetConstMacro(IGTTimeStamp | |
Protected Member Functions | |
TrackingTool () | |
< Gets the IGT timestamp of the tracking tool object (time in milliseconds). Returns 0 if the timestamp was not set. | |
~TrackingTool () override | |
Protected Attributes | |
std::string | m_ToolName |
every tool has a name that can be used to identify it. | |
std::string | m_ErrorMessage |
if a tool is invalid, this member should contain a human readable explanation of why it is invalid | |
double | m_IGTTimeStamp |
contains the time at which the tracking data was recorded | |
std::mutex | m_MyMutex |
mutex to control concurrent access to the tool | |
Point3D | m_Position |
holds the position of the tool in global tracking coordinates | |
Quaternion | m_Orientation |
holds the orientation of the tool´in global tracking coordinates | |
float | m_TrackingError |
holds the tracking error of the tool | |
bool | m_Enabled |
if true, tool is enabled and should receive tracking updates from the tracking device | |
bool | m_DataValid |
if true, data in m_Position and m_Orientation is valid, e.g. true tracking data | |
Point3D | m_ToolTipPosition |
holds the position of the tool tip in the coordinate system of the tracking sensor | |
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 | |
bool | m_ToolTipSet |
Interface for all Tracking Tools.
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)
The TrackingTool class holds all coordinate transforms associated with tracking of a tool. The sensor attached to the tool is localized in the global tracking coordinate system (m_Position, m_Orientation). A tool tip (m_ToolTipPosition) can be defined in sensor coordinates. The tool axis defines the main axis of the tool and is defined as the negative z-axis of the tool tip coordinate system The main axis of the representation object of the tool (e.g. a surface) has to be defined along the negative z-axis
Definition at line 42 of file mitkTrackingTool.h.
|
protected |
< Gets the IGT timestamp of the tracking tool object (time in milliseconds). Returns 0 if the timestamp was not set.
Definition at line 15 of file mitkTrackingTool.cpp.
|
overrideprotected |
Definition at line 42 of file mitkTrackingTool.cpp.
|
virtual |
disables the tool, so that it will not be tracked anymore
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 214 of file mitkTrackingTool.cpp.
|
virtual |
enables the tool, so that it will be tracked
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 203 of file mitkTrackingTool.cpp.
|
virtual |
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)
Definition at line 265 of file mitkTrackingTool.cpp.
|
virtual |
returns the current orientation of the tool as a quaternion in a mitk::Point4D (in the tracking device coordinate system)
Definition at line 173 of file mitkTrackingTool.cpp.
|
virtual |
returns the current position of the tool as an array of three floats (in the tracking device coordinate system)
Definition at line 137 of file mitkTrackingTool.cpp.
mitk::Quaternion mitk::TrackingTool::GetToolAxisOrientation | ( | ) | const |
returns the transformation of the tool axis with respect to the MITK-IGT main tool axis (0,0,-1)
Definition at line 98 of file mitkTrackingTool.cpp.
|
virtual |
every tool has a name thatgit can be used to identify it.
Definition at line 61 of file mitkTrackingTool.cpp.
mitk::Point3D mitk::TrackingTool::GetToolTipPosition | ( | ) | const |
returns the tool tip in tool coordinates, which where set by SetToolTip
Definition at line 92 of file mitkTrackingTool.cpp.
|
virtual |
returns one value that corresponds to the overall tracking error.
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 248 of file mitkTrackingTool.cpp.
|
virtual |
returns true if the current position data is valid (no error during tracking, tracking error below threshold, ...)
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 242 of file mitkTrackingTool.cpp.
|
virtual |
returns whether the tool is enabled or disabled
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 225 of file mitkTrackingTool.cpp.
|
virtual |
returns true if a tool tip is set, false if not
Definition at line 131 of file mitkTrackingTool.cpp.
mitk::TrackingTool::itkCloneMacro | ( | Self | ) |
mitk::TrackingTool::itkFactorylessNewMacro | ( | Self | ) |
mitk::TrackingTool::itkSetMacro | ( | IGTTimeStamp | , |
double | ) |
mitk::TrackingTool::mitkClassMacroItkParent | ( | TrackingTool | , |
itk::Object | ) |
|
override |
Definition at line 46 of file mitkTrackingTool.cpp.
|
virtual |
sets if the tracking data (position & orientation) is valid
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 231 of file mitkTrackingTool.cpp.
|
virtual |
sets the error message
Definition at line 271 of file mitkTrackingTool.cpp.
|
virtual |
sets the orientation as a quaternion
Definition at line 191 of file mitkTrackingTool.cpp.
|
virtual |
sets the position
Definition at line 161 of file mitkTrackingTool.cpp.
|
virtual |
Sets the name of the tool.
Definition at line 67 of file mitkTrackingTool.cpp.
|
virtual |
Sets the name of the tool.
Definition at line 87 of file mitkTrackingTool.cpp.
|
virtual |
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.
Definition at line 104 of file mitkTrackingTool.cpp.
|
virtual |
sets the tracking error
Reimplemented in mitk::OptitrackTrackingTool.
Definition at line 254 of file mitkTrackingTool.cpp.
|
protected |
if true, data in m_Position and m_Orientation is valid, e.g. true tracking data
Definition at line 95 of file mitkTrackingTool.h.
|
protected |
if true, tool is enabled and should receive tracking updates from the tracking device
Definition at line 94 of file mitkTrackingTool.h.
|
protected |
if a tool is invalid, this member should contain a human readable explanation of why it is invalid
Definition at line 87 of file mitkTrackingTool.h.
|
protected |
contains the time at which the tracking data was recorded
Definition at line 88 of file mitkTrackingTool.h.
|
mutableprotected |
mutex to control concurrent access to the tool
Definition at line 89 of file mitkTrackingTool.h.
|
protected |
holds the orientation of the tool´in global tracking coordinates
Definition at line 92 of file mitkTrackingTool.h.
|
protected |
holds the position of the tool in global tracking coordinates
Definition at line 91 of file mitkTrackingTool.h.
|
protected |
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
Definition at line 97 of file mitkTrackingTool.h.
|
protected |
every tool has a name that can be used to identify it.
Definition at line 86 of file mitkTrackingTool.h.
|
protected |
holds the position of the tool tip in the coordinate system of the tracking sensor
Definition at line 96 of file mitkTrackingTool.h.
|
protected |
Definition at line 98 of file mitkTrackingTool.h.
|
protected |
holds the tracking error of the tool
Definition at line 93 of file mitkTrackingTool.h.