Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI tracking device. More...
#include <mitkNDIProtocol.h>
Public Types | |
typedef mitk::SerialCommunication::PortNumber | PortNumber |
Port number of the serial connection. More... | |
typedef mitk::SerialCommunication::BaudRate | BaudRate |
Baud rate of the serial connection. More... | |
typedef mitk::SerialCommunication::DataBits | DataBits |
Number of data bits used in the serial connection. More... | |
typedef mitk::SerialCommunication::Parity | Parity |
Parity mode used in the serial connection. More... | |
typedef mitk::SerialCommunication::StopBits | StopBits |
Number of stop bits used in the serial connection. More... | |
typedef mitk::SerialCommunication::HardwareHandshake | HardwareHandshake |
Hardware handshake mode of the serial connection. More... | |
typedef mitk::NDIPassiveTool::TrackingPriority | TrackingPriority |
Tracking priority used for tracking a tool. More... | |
Public Member Functions | |
mitkClassMacroItkParent (NDIProtocol, itk::Object) | |
Pointer | Clone () const |
virtual void | SetTrackingDevice (NDITrackingDevice *_arg) |
NDIErrorCode | APIREV (std::string *revision) |
Gives information about the tool which is assosiated with the port handle. Writes portInfo to the string. More... | |
NDIErrorCode | PHINF (std::string portHandle, std::string *portInfo) |
NDIErrorCode | PSOUT (std::string portHandle, std::string state) |
Set GPIO Output (Aurora) More... | |
NDIErrorCode | COMM (mitk::SerialCommunication::BaudRate baudRate, mitk::SerialCommunication::DataBits dataBits, mitk::SerialCommunication::Parity parity, mitk::SerialCommunication::StopBits stopBits, mitk::SerialCommunication::HardwareHandshake hardwareHandshake) |
Change Serial Communication Parameters. More... | |
NDIErrorCode | INIT () |
Initialize the Measurement System. More... | |
NDIErrorCode | DSTART () |
Start the Diagnostic Mode. More... | |
NDIErrorCode | DSTOP () |
Stop the Diagnostic Mode. More... | |
NDIErrorCode | IRINIT () |
Initialize the System to Check for Infrared. More... | |
NDIErrorCode | IRCHK (bool *IRdetected) |
This version of IRCHK uses only the simple "presence of infrared light" call, that returns a binary "IR detected/no IR detected" answer. More... | |
NDIErrorCode | PHSR (PHSRQueryType queryType, std::string *portHandles) |
Port Handle Search. Will write returned port handles to the string portHandles. More... | |
NDIErrorCode | PHF (std::string *portHandle) |
Port Handle Free. Frees the port handle. More... | |
NDIErrorCode | PHRQ (std::string *portHandle) |
Port Handle Request. Will request a Port Handle for a wireless tool and return it in the string portHandle. More... | |
NDIErrorCode | PVWR (std::string *portHandle, const unsigned char *sromData, unsigned int sromDataLength) |
Port Virtual Write. Writes an SROM Image data to a tool. More... | |
NDIErrorCode | PINIT (std::string *portHandle) |
Port Initialize. Will initialize a Port that has been acquired with PHRQ and has been assigned a SROM File with PVWR. More... | |
NDIErrorCode | PENA (std::string *portHandle, TrackingPriority prio) |
Port Enable. Will enable a port that has been initialized with PINIT. More... | |
NDIErrorCode | PDIS (std::string *portHandle) |
Port Disable. Will disable a port that has been enabled with PENA. More... | |
NDIErrorCode | IRATE (IlluminationActivationRate rate) |
Setting the illuminator rate. Will set the refresh rate for the illuminator for wireless tools. More... | |
NDIErrorCode | BEEP (unsigned char count) |
Sounding the measurement system beeper. The tracking system will beep one to nine times. More... | |
NDIErrorCode | SFLIST (std::string *info) |
Returns information about the supported feature of the tracking system. More... | |
NDIErrorCode | TSTART (bool resetFrameCounter=false) |
Start Tracking Mode. The tracking system must be in setup mode and must be initialized. More... | |
NDIErrorCode | TSTOP () |
Stop Tracking Mode. The tracking system must be in Tracking mode. More... | |
NDIErrorCode | TX (bool trackIndividualMarkers=false, MarkerPointContainerType *markerPositions=nullptr) |
Report transformations in text mode. Optionally, individual markers can be tracked. More... | |
NDIErrorCode | BX () |
Report transformations in binary mode. More... | |
NDIErrorCode | POS3D (MarkerPointContainerType *markerPositions) |
Report 3D Positions of single markers. can only be used in diagnostics mode. More... | |
NDIErrorCode | VER (mitk::TrackingDeviceType &t) |
returns if the tracking device is a Polaris or an Aurora system More... | |
NDIErrorCode | VSEL (mitk::TrackingDeviceData deviceData) |
Sets the tracking volume to the given type. Check available tracking volumes with SFLIST first. More... | |
NDIErrorCode | TX1000 (MarkerPointContainerType *markerPositions) |
Report transformations in text mode. More... | |
unsigned int | ByteToNbBitsOn (char &c) const |
virtual bool | GetUseCRC () const |
virtual void | SetUseCRC (bool _arg) |
Get whether to append a CRC16 checksum to each message. More... | |
virtual void | UseCRCOn () |
Set whether to append a CRC16 checksum to each message. More... | |
virtual void | UseCRCOff () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
NDIProtocol () | |
Set whether to append a CRC16 checksum to each message. More... | |
virtual | ~NDIProtocol () |
NDIErrorCode | ParseOkayError () |
NDIErrorCode | GenericCommand (const std::string command, const std::string *parameter=nullptr) |
NDIErrorCode | GetErrorCode (const std::string *input) |
returns the error code for an Error String returned from the NDI tracking device More... | |
Protected Attributes | |
NDITrackingDevice * | m_TrackingDevice |
tracking device to which the commands will be send More... | |
bool | m_UseCRC |
whether to append a CRC16 checksum to each message More... | |
The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI tracking device.
Documentation
Definition at line 90 of file mitkNDIProtocol.h.
Baud rate of the serial connection.
Definition at line 100 of file mitkNDIProtocol.h.
Number of data bits used in the serial connection.
Definition at line 101 of file mitkNDIProtocol.h.
Hardware handshake mode of the serial connection.
Definition at line 104 of file mitkNDIProtocol.h.
Parity mode used in the serial connection.
Definition at line 102 of file mitkNDIProtocol.h.
Port number of the serial connection.
Definition at line 97 of file mitkNDIProtocol.h.
Number of stop bits used in the serial connection.
Definition at line 103 of file mitkNDIProtocol.h.
Tracking priority used for tracking a tool.
Definition at line 105 of file mitkNDIProtocol.h.
|
protected |
Set whether to append a CRC16 checksum to each message.
Definition at line 28 of file mitkNDIProtocol.cpp.
|
protectedvirtual |
Definition at line 34 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::APIREV | ( | std::string * | revision | ) |
Gives information about the tool which is assosiated with the port handle. Writes portInfo to the string.
Definition at line 1589 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::BEEP | ( | unsigned char | count | ) |
Sounding the measurement system beeper. The tracking system will beep one to nine times.
Definition at line 556 of file mitkNDIProtocol.cpp.
References mitk::NDICOMMANDPARAMETEROUTOFRANGE, mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNEXPECTEDREPLY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::BX | ( | ) |
Report transformations in binary mode.
Definition at line 1173 of file mitkNDIProtocol.cpp.
References mitk::TX.
unsigned int mitk::NDIProtocol::ByteToNbBitsOn | ( | char & | c | ) | const |
Definition at line 1451 of file mitkNDIProtocol.cpp.
Pointer mitk::NDIProtocol::Clone | ( | ) | const |
mitk::NDIErrorCode mitk::NDIProtocol::COMM | ( | mitk::SerialCommunication::BaudRate | baudRate, |
mitk::SerialCommunication::DataBits | dataBits, | ||
mitk::SerialCommunication::Parity | parity, | ||
mitk::SerialCommunication::StopBits | stopBits, | ||
mitk::SerialCommunication::HardwareHandshake | hardwareHandshake | ||
) |
Change Serial Communication Parameters.
Definition at line 39 of file mitkNDIProtocol.cpp.
References mitk::SerialCommunication::BaudRate115200, mitk::SerialCommunication::BaudRate14400, mitk::SerialCommunication::BaudRate19200, mitk::SerialCommunication::BaudRate38400, mitk::SerialCommunication::BaudRate57600, mitk::SerialCommunication::BaudRate9600, mitk::SerialCommunication::DataBits7, mitk::SerialCommunication::DataBits8, mitk::SerialCommunication::Even, mitk::SerialCommunication::HardwareHandshakeOff, mitk::SerialCommunication::HardwareHandshakeOn, mitk::SerialCommunication::None, mitk::SerialCommunication::Odd, mitk::SerialCommunication::StopBits1, and mitk::SerialCommunication::StopBits2.
mitk::NDIErrorCode mitk::NDIProtocol::DSTART | ( | ) |
Start the Diagnostic Mode.
Definition at line 118 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::DSTOP | ( | ) |
Stop the Diagnostic Mode.
Definition at line 124 of file mitkNDIProtocol.cpp.
|
protected |
Documentation Sends the command command to the tracking system and checks for OKAY and ERROR as replies This is used by commands like INIT, DSTART, DSTOP,... that do not need parameters or special parsing of replies
Definition at line 1408 of file mitkNDIProtocol.cpp.
References mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
|
protected |
returns the error code for an Error String returned from the NDI tracking device
Documentation
Definition at line 1518 of file mitkNDIProtocol.cpp.
References mitk::NDICANTINITIRDIAGNOSTICS, mitk::NDICANTSTARTDIAGNOSTICMODE, mitk::NDICOMMANDINVALIDINCURRENTMODE, mitk::NDICOMMANDPARAMETEROUTOFRANGE, mitk::NDICOMMANDTOOLONG, mitk::NDICOMMANDTOOSHORT, mitk::NDICRCDOESNOTMATCH, mitk::NDIENABLEDTOOLSNOTSUPPORTED, mitk::NDIFAILURETOWRITESROM, mitk::NDIINCOMPATIBLEFIRMWAREVERSIONS, mitk::NDIINCORRECTNUMBEROFPARAMETERS, mitk::NDIINITIALIZATIONFAILED, mitk::NDIINVALIDCOMMAND, mitk::NDIINVALIDLED, mitk::NDIINVALIDLEDSTATE, mitk::NDIINVALIDOPERATIONFORDEVICE, mitk::NDIINVALIDPORTDESCRIPTION, mitk::NDIINVALIDPORTHANDLE, mitk::NDIINVALIDTRACKINGPRIORITY, mitk::NDIINVALIDVOLUMEPARAMETERS, mitk::NDINOMEMORYAVAILABLE, mitk::NDINOTOOLFORPORT, mitk::NDIOUTOFHANDLES, mitk::NDIPORTHANDLENOTALLOCATED, mitk::NDIPORTHASBECOMEUNOCCUPIED, mitk::NDIPORTNOTINITIALIZED, mitk::NDISYSTEMNOTINITIALIZED, mitk::NDITIMEOUT, mitk::NDIUNABLETOSETNEWCOMMPARAMETERS, mitk::NDIUNABLETOSTARTTRACKING, mitk::NDIUNABLETOSTOPTRACKING, and mitk::NDIUNKNOWNERROR.
|
virtual |
mitk::NDIErrorCode mitk::NDIProtocol::INIT | ( | ) |
Initialize the Measurement System.
Definition at line 112 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::IRATE | ( | IlluminationActivationRate | rate | ) |
Setting the illuminator rate. Will set the refresh rate for the illuminator for wireless tools.
Definition at line 536 of file mitkNDIProtocol.cpp.
References mitk::Hz20, mitk::Hz30, and mitk::Hz60.
mitk::NDIErrorCode mitk::NDIProtocol::IRCHK | ( | bool * | IRdetected | ) |
This version of IRCHK uses only the simple "presence of infrared light" call, that returns a binary "IR detected/no IR detected" answer.
Definition at line 136 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNEXPECTEDREPLY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::IRINIT | ( | ) |
Initialize the System to Check for Infrared.
Definition at line 130 of file mitkNDIProtocol.cpp.
mitk::NDIProtocol::mitkClassMacroItkParent | ( | NDIProtocol | , |
itk::Object | |||
) |
|
static |
Referenced by mitk::NDITrackingDevice::NDITrackingDevice().
|
protected |
Documentation Reads the reply from the tracking device and checks if it is either "OKAY" or "ERROR##". if it reads an error, it returns the equivalent NDIErrorCode Replies other than OKAY or ERROR result in an NDIUNEXPECTEDREPLY
Definition at line 1468 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNEXPECTEDREPLY, and mitk::NDIUNKNOWNERROR.
mitk::NDIErrorCode mitk::NDIProtocol::PDIS | ( | std::string * | portHandle | ) |
Port Disable. Will disable a port that has been enabled with PENA.
Definition at line 524 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::PENA | ( | std::string * | portHandle, |
TrackingPriority | prio | ||
) |
Port Enable. Will enable a port that has been initialized with PINIT.
Definition at line 496 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::PHF | ( | std::string * | portHandle | ) |
Port Handle Free. Frees the port handle.
Definition at line 530 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::PHINF | ( | std::string | portHandle, |
std::string * | portInfo | ||
) |
Definition at line 507 of file mitkNDIProtocol.cpp.
References mitk::NDIOKAY.
mitk::NDIErrorCode mitk::NDIProtocol::PHRQ | ( | std::string * | portHandle | ) |
Port Handle Request. Will request a Port Handle for a wireless tool and return it in the string portHandle.
Definition at line 301 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::PHSR | ( | PHSRQueryType | queryType, |
std::string * | portHandles | ||
) |
Port Handle Search. Will write returned port handles to the string portHandles.
Definition at line 217 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::PINIT | ( | std::string * | portHandle | ) |
Port Initialize. Will initialize a Port that has been acquired with PHRQ and has been assigned a SROM File with PVWR.
Definition at line 416 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNEXPECTEDREPLY, mitk::NDIUNKNOWNERROR, mitk::NDIWARNING, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::POS3D | ( | MarkerPointContainerType * | markerPositions | ) |
Report 3D Positions of single markers. can only be used in diagnostics mode.
Definition at line 1242 of file mitkNDIProtocol.cpp.
References mitk::NDIPassiveTool::GetPortHandle(), mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::PSOUT | ( | std::string | portHandle, |
std::string | state | ||
) |
Set GPIO Output (Aurora)
Definition at line 647 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::PVWR | ( | std::string * | portHandle, |
const unsigned char * | sromData, | ||
unsigned int | sromDataLength | ||
) |
Port Virtual Write. Writes an SROM Image data to a tool.
Definition at line 363 of file mitkNDIProtocol.cpp.
References mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, mitk::SROMFILETOOLARGE, mitk::SROMFILETOOSMALL, and mitk::TRACKINGDEVICENOTSET.
|
virtual |
|
virtual |
Get whether to append a CRC16 checksum to each message.
mitk::NDIErrorCode mitk::NDIProtocol::SFLIST | ( | std::string * | info | ) |
Returns information about the supported feature of the tracking system.
Definition at line 1660 of file mitkNDIProtocol.cpp.
References mitk::NDIAuroraTypeInformation::GetDeviceDataAuroraPlanarCube(), mitk::NDIAuroraTypeInformation::GetDeviceDataAuroraPlanarDome(), mitk::NDIPolarisTypeInformation::GetDeviceDataPolarisOldModel(), mitk::NDIPolarisTypeInformation::GetDeviceDataPolarisSpectra(), mitk::NDIPolarisTypeInformation::GetDeviceDataPolarisVicra(), mitk::NDIPolarisTypeInformation::GetDeviceDataSpectraExtendedPyramid(), mitk::TrackingDeviceData::HardwareCode, MITK_INFO, MITK_WARN, mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::TSTART | ( | bool | resetFrameCounter = false | ) |
Start Tracking Mode. The tracking system must be in setup mode and must be initialized.
Definition at line 631 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::TSTOP | ( | ) |
Stop Tracking Mode. The tracking system must be in Tracking mode.
Definition at line 641 of file mitkNDIProtocol.cpp.
mitk::NDIErrorCode mitk::NDIProtocol::TX | ( | bool | trackIndividualMarkers = false , |
MarkerPointContainerType * | markerPositions = nullptr |
||
) |
Report transformations in text mode. Optionally, individual markers can be tracked.
Definition at line 654 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, mitk::TrackingDevice::RotationTransposed, mitk::TRACKINGDEVICENOTSET, and mitk::UNKNOWNHANDLERETURNED.
mitk::NDIErrorCode mitk::NDIProtocol::TX1000 | ( | MarkerPointContainerType * | markerPositions | ) |
Report transformations in text mode.
Definition at line 927 of file mitkNDIProtocol.cpp.
References mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, mitk::TRACKINGDEVICENOTSET, and mitk::UNKNOWNHANDLERETURNED.
|
virtual |
|
virtual |
Set whether to append a CRC16 checksum to each message.
mitk::NDIErrorCode mitk::NDIProtocol::VER | ( | mitk::TrackingDeviceType & | t | ) |
returns if the tracking device is a Polaris or an Aurora system
Definition at line 1180 of file mitkNDIProtocol.cpp.
References mitk::NDIPolarisTypeInformation::GetTrackingDeviceName(), mitk::NDIAuroraTypeInformation::GetTrackingDeviceName(), mitk::UnspecifiedTrackingTypeInformation::GetTrackingDeviceName(), mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
mitk::NDIErrorCode mitk::NDIProtocol::VSEL | ( | mitk::TrackingDeviceData | deviceData | ) |
Sets the tracking volume to the given type. Check available tracking volumes with SFLIST first.
Definition at line 1799 of file mitkNDIProtocol.cpp.
References MITK_INFO, mitk::TrackingDeviceData::Model, mitk::NDICRCERROR, mitk::NDIINVALIDOPERATIONFORDEVICE, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, and mitk::TRACKINGDEVICENOTSET.
|
protected |
tracking device to which the commands will be send
Definition at line 163 of file mitkNDIProtocol.h.
|
protected |
whether to append a CRC16 checksum to each message
Definition at line 164 of file mitkNDIProtocol.h.