Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
|
Interface for all Tracking Devices. More...
#include <mitkTrackingDevice.h>
Public Types | |
enum | RotationMode { RotationStandard, RotationTransposed } |
enum | TrackingDeviceState { Setup, Ready, Tracking } |
Public Member Functions | |
mitkClassMacroItkParent (TrackingDevice, itk::Object) | |
virtual bool | OpenConnection ()=0 |
Opens a connection to the device. More... | |
virtual bool | CloseConnection ()=0 |
Closes the connection to the device. More... | |
virtual bool | StartTracking ()=0 |
start retrieving tracking data from the device. More... | |
virtual bool | StopTracking () |
stop retrieving tracking data from the device. stop retrieving tracking data from the device. This may only be called after StartTracking was called (e.g. the object is in Tracking mode). This will change the object state from Tracking to Ready. More... | |
virtual TrackingTool * | GetTool (unsigned int toolNumber) const =0 |
Return tool with index toolNumber. More... | |
virtual mitk::TrackingTool * | GetToolByName (std::string name) const |
Returns the tool with the given tool name. More... | |
virtual unsigned int | GetToolCount () const =0 |
Returns number of tracking tools. More... | |
virtual void | SetRotationMode (RotationMode r) |
virtual RotationMode | GetRotationMode () const |
TrackingDeviceState | GetState () const |
return current object state (Setup, Ready or Tracking) More... | |
TrackingDeviceType | GetType () const |
Deprecated! Use the more specific getData or GetTrackingDeviceName instead. return device type identifier. More... | |
void | SetType (TrackingDeviceType type) |
Deprecated! Use the more specific setDeviceData instead. set device type. More... | |
std::string | GetTrackingDeviceName () |
Convenient Method to get the Name of the Tracking Device. This is identical with GetData().Line and can be used to compare with TrackingDeviceTypeInformation::GetTrackingDeviceName() to check if you have a specific device. More... | |
TrackingDeviceData | GetData () const |
return device data More... | |
void | SetData (TrackingDeviceData data) |
set device type More... | |
virtual bool | IsDeviceInstalled () |
virtual bool | AutoDetectToolsAvailable () |
virtual bool | AddSingleToolIsAvailable () |
virtual mitk::NavigationToolStorage::Pointer | AutoDetectTools () |
Protected Member Functions | |
void | SetState (TrackingDeviceState state) |
change object state More... | |
TrackingDevice () | |
~TrackingDevice () override | |
Protected Attributes | |
TrackingDeviceData | m_Data |
current device Data More... | |
bool | m_StopTracking |
signal stop to tracking thread More... | |
std::mutex | m_StopTrackingMutex |
mutex to control access to m_StopTracking More... | |
std::mutex | m_TrackingFinishedMutex |
mutex to manage control flow of StopTracking() More... | |
std::mutex | m_StateMutex |
mutex to control access to m_State More... | |
RotationMode | m_RotationMode |
defines the rotation mode Standard or Transposed, Standard is default More... | |
Interface for all Tracking Devices.
Documentation Defines the methods that are common for all tracking devices.
Definition at line 34 of file mitkTrackingDevice.h.
Defines the rotation modes of this tracking device which results in different representations of quaternions.
CAUTION: The rotation mode can only be changed for backward compatibility of old WRONG code. PLEASE DO NOT CHANGE THE ROTATION MODE UNLESS YOU ARE KNOWING EXACTLY WHAT YOU ARE DOING!
use SetRotationMode to change the mode.
Enumerator | |
---|---|
RotationStandard | |
RotationTransposed |
Definition at line 52 of file mitkTrackingDevice.h.
Enumerator | |
---|---|
Setup | |
Ready | |
Tracking |
Definition at line 54 of file mitkTrackingDevice.h.
|
protected |
|
overrideprotected |
|
virtual |
Reimplemented in mitk::NDITrackingDevice.
|
virtual |
Autodetects tools from this device and returns them as a navigation tool storage.
Reimplemented in mitk::NDITrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::PolhemusTrackingDevice.
|
virtual |
Reimplemented in mitk::NDITrackingDevice, mitk::OpenIGTLinkTrackingDevice, and mitk::PolhemusTrackingDevice.
|
pure virtual |
Closes the connection to the device.
This may only be called if there is currently a connection to the device, but tracking is not running (e.g. object is in Ready state) Closes the connection with the device
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, mitk::PolhemusTrackingDevice, and mitk::MicroBirdTrackingDevice.
TrackingDeviceData mitk::TrackingDevice::GetData | ( | ) | const |
return device data
|
virtual |
TrackingDeviceState mitk::TrackingDevice::GetState | ( | ) | const |
return current object state (Setup, Ready or Tracking)
|
pure virtual |
Return tool with index toolNumber.
tools are numbered from 0 to GetToolCount() - 1.
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, and mitk::PolhemusTrackingDevice.
|
virtual |
Returns the tool with the given tool name.
Note: subclasses can and should implement optimized versions of this method
Reimplemented in mitk::NDITrackingDevice.
|
pure virtual |
Returns number of tracking tools.
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, mitk::PolhemusTrackingDevice, and mitk::MicroBirdTrackingDevice.
std::string mitk::TrackingDevice::GetTrackingDeviceName | ( | ) |
Convenient Method to get the Name of the Tracking Device. This is identical with GetData().Line and can be used to compare with TrackingDeviceTypeInformation::GetTrackingDeviceName() to check if you have a specific device.
TrackingDeviceType mitk::TrackingDevice::GetType | ( | ) | const |
Deprecated! Use the more specific getData or GetTrackingDeviceName instead. return device type identifier.
|
virtual |
Note that some tracking systems communicate via a standard interface (e.g., serial port) and don't need any library or installation. These devices are always "installed".
Reimplemented in mitk::OpenIGTLinkTrackingDevice, mitk::OptitrackTrackingDevice, mitk::ClaronTrackingDevice, and mitk::PolhemusTrackingDevice.
mitk::TrackingDevice::mitkClassMacroItkParent | ( | TrackingDevice | , |
itk::Object | |||
) |
|
pure virtual |
Opens a connection to the device.
This may only be called if there is currently no connection to the device. If OpenConnection() is successful, the object will change from Setup state to Ready state
Implemented in mitk::NDITrackingDevice, mitk::VirtualTrackingDevice, mitk::OptitrackTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, mitk::PolhemusTrackingDevice, and mitk::MicroBirdTrackingDevice.
void mitk::TrackingDevice::SetData | ( | TrackingDeviceData | data | ) |
set device type
|
virtual |
Sets the rotation mode of this class. See documentation of enum RotationMode for details on the different modes. This method has to be implemented in a deriving class to become functional / if different rotation modes should be supported. CAUTION: The rotation mode can only be changed for backward compatibility of old WRONG code. PLEASE DO NOT CHANGE THE ROTATION MODE UNLESS YOU ARE KNOWING EXACTLY WHAT YOU ARE DOING!
Reimplemented in mitk::NDITrackingDevice.
|
protected |
change object state
void mitk::TrackingDevice::SetType | ( | TrackingDeviceType | type | ) |
Deprecated! Use the more specific setDeviceData instead. set device type.
|
pure virtual |
start retrieving tracking data from the device.
This may only be called after the connection to the device has been established with a call to OpenConnection() (E.g. object is in Ready mode). This will change the object state from Ready to Tracking
Implemented in mitk::NDITrackingDevice, mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, mitk::PolhemusTrackingDevice, and mitk::MicroBirdTrackingDevice.
|
virtual |
stop retrieving tracking data from the device. stop retrieving tracking data from the device. This may only be called after StartTracking was called (e.g. the object is in Tracking mode). This will change the object state from Tracking to Ready.
Reimplemented in mitk::OptitrackTrackingDevice, mitk::VirtualTrackingDevice, mitk::OpenIGTLinkTrackingDevice, mitk::ClaronTrackingDevice, mitk::PolhemusTrackingDevice, and mitk::MicroBirdTrackingDevice.
|
protected |
current device Data
Definition at line 194 of file mitkTrackingDevice.h.
|
protected |
defines the rotation mode Standard or Transposed, Standard is default
Definition at line 200 of file mitkTrackingDevice.h.
|
mutableprotected |
mutex to control access to m_State
Definition at line 199 of file mitkTrackingDevice.h.
|
protected |
signal stop to tracking thread
Definition at line 196 of file mitkTrackingDevice.h.
|
protected |
mutex to control access to m_StopTracking
Definition at line 197 of file mitkTrackingDevice.h.
|
protected |
mutex to manage control flow of StopTracking()
Definition at line 198 of file mitkTrackingDevice.h.