Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
|
Go to the documentation of this file.
14 #ifndef mitkNDITrackingDevice_h
15 #define mitkNDITrackingDevice_h
19 #include <MitkIGTExports.h>
57 itkFactorylessNewMacro(Self);
78 bool OpenConnection()
override;
85 bool CloseConnection()
override;
88 bool InitializeWiredTools();
113 bool DiscoverWiredTools();
123 bool StartTracking()
override;
128 TrackingTool* GetTool(
unsigned int toolNumber)
const override;
134 unsigned int GetToolCount()
const override;
162 virtual void SetPortNumber(
const PortNumber _arg);
164 virtual void SetDeviceName(std::string _arg);
165 itkGetStringMacro(DeviceName);
166 virtual void SetBaudRate(
const BaudRate _arg);
168 virtual void SetDataBits(
const DataBits _arg);
170 virtual void SetParity(
const Parity _arg);
172 virtual void SetStopBits(
const StopBits _arg);
180 virtual bool Beep(
unsigned char count);
196 virtual int GetMajorFirmwareRevisionNumber();
202 virtual const char* GetFirmwareRevisionNumber();
205 bool AutoDetectToolsAvailable()
override;
208 bool AddSingleToolIsAvailable()
override;
214 mitk::NavigationToolStorage::Pointer AutoDetectTools()
override;
244 virtual void InvalidateAll();
259 NDIErrorCode Send(
const std::string* message,
bool addCRC =
true);
260 NDIErrorCode Receive(std::string* answer,
unsigned int numberOfBytes);
263 void ClearSendBuffer();
264 void ClearReceiveBuffer();
265 const std::string CalcCRC(
const std::string* input);
277 virtual void TrackTools();
286 virtual void TrackMarkerPositions();
295 virtual void TrackToolsAndMarkers();
300 void ThreadStartTracking();
std::vector< int > TrackingVolumeDimensionType
List of the supported tracking volume dimensions.
mitk::SerialCommunication::StopBits StopBits
Number of stop bits used in the serial connection.
std::string m_DeviceName
Device Name.
mitk::SerialCommunication::Pointer m_SerialCommunication
serial communication interface
BaudRate m_BaudRate
COM Port Baud Rate.
mitk::NDIPassiveTool::TrackingPriority TrackingPriority
Tracking priority used for tracking a tool.
NDIErrorCode
Error codes of NDI tracking devices.
OperationMode m_OperationMode
tracking mode (6D tool tracking, 3D marker tracking,...)
std::vector< NDIPassiveTool::Pointer > Tool6DContainerType
List of 6D tools of the correct type for this tracking device.
DataTransferMode
Data transfer mode for NDI tracking devices.
std::vector< MarkerPointType > MarkerPointContainerType
DataCollection - Class to facilitate loading/accessing structured data.
NDIProtocol::Pointer m_DeviceProtocol
create and parse NDI protocol strings
mitk::SerialCommunication::Parity Parity
Parity mode used in the serial connection.
The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI...
HardwareHandshake m_HardwareHandshake
which tracking volume is currently used (if device supports multiple volumes) (
std::vector< std::string > NDITrackingVolumeContainerType
vector of tracking volumes
DataBits m_DataBits
Number of Data Bits per token.
Interface for all Tracking Devices.
StopBits m_StopBits
number of stop bits per token
mitk::TrackingDeviceType NDITrackingDeviceType
This enumeration includes the two types of NDI tracking devices (Polaris, Aurora).
IlluminationActivationRate
activation rate of IR illuminator for NDI Polaris tracking device
mitk::SerialCommunication::HardwareHandshake HardwareHandshake
Hardware handshake mode of the serial connection.
mitk::SerialCommunication::PortNumber PortNumber
Port number of the serial connection.
std::mutex m_SerialCommunicationMutex
mutex for coordinated access of serial communication interface
DataTransferMode m_DataTransferMode
use TX (text) or BX (binary) (
mitk::SerialCommunication::DataBits DataBits
Number of data bits used in the serial connection.
MarkerPointContainerType m_MarkerPoints
container for markers (3D point tracking mode)
Tool6DContainerType m_6DTools
list of 6D tools
PortNumber m_PortNumber
COM Port Number.
superclass for specific NDI tracking Devices that use serial communication.
std::mutex m_MarkerPointsMutex
mutex for marker point data container
#define mitkClassMacro(className, SuperClassName)
std::mutex m_ToolsMutex
mutex for coordinated access of tool container
OperationMode
Error codes of NDI tracking devices.
std::string TrackingDeviceType
Parity m_Parity
Parity mode for communication.
std::thread m_Thread
ID of tracking thread.
mitk::SerialCommunication::BaudRate BaudRate
Baud rate of the serial connection.