Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
An object of this class represents the MicronTracker device. You can add tools to this device, then open the connection and start tracking. The tracking device will then continuously update the tool coordinates. More...
#include <mitkOpenIGTLinkTrackingDevice.h>
Public Member Functions | |
mitkClassMacro (OpenIGTLinkTrackingDevice, TrackingDevice) | |
Pointer | Clone () const |
void | SetPortNumber (int portNumber) |
void | SetHostname (std::string hostname) |
int | GetPortNumber () |
std::string | GetHostname () |
virtual bool | StartTracking () |
Starts the tracking. More... | |
virtual bool | StopTracking () |
Stops the tracking. More... | |
virtual bool | OpenConnection () |
Opens the connection to the device. This have to be done before the tracking is started. More... | |
virtual bool | CloseConnection () |
Closes the connection and clears all resources. More... | |
virtual unsigned int | GetToolCount () const |
TrackingTool * | GetTool (unsigned int toolNumber) const |
bool | DiscoverTools (int WaitingTime=10000) |
Discover the tools available from the connected OpenIGTLink device and adds these tools to this tracking device. Therefore, a connection is opened, the tools are discovered and added. More... | |
mitk::TrackingTool * | AddTool (const char *toolName, const char *fileName) |
Create a new OpenIGTLink tool with toolName and fileName and add it to the list of tools. More... | |
bool | IsDeviceInstalled () |
virtual void | SetUpdateRate (int _arg) |
virtual int | GetUpdateRate () const |
Sets the update rate of the device in fps. Default value is 60 fps. More... | |
Public Member Functions inherited from mitk::TrackingDevice | |
mitkClassMacroItkParent (TrackingDevice, itk::Object) | |
virtual mitk::TrackingTool * | GetToolByName (std::string name) const |
Returns the tool with the given tool name. 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 getDeviceData instead. return device type identifier. More... | |
void | SetType (TrackingDeviceType type) |
Deprecated! Use the more specific setDeviceData instead. set device type. More... | |
TrackingDeviceData | GetData () const |
return device data More... | |
void | SetData (TrackingDeviceData data) |
set device type More... | |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
OpenIGTLinkTrackingDevice () | |
Returns the update rate of the device in fps. More... | |
~OpenIGTLinkTrackingDevice () | |
bool | InternalAddTool (OpenIGTLinkTrackingTool::Pointer tool) |
Adds a tool to the tracking device. More... | |
void | UpdateTools () |
std::vector< OpenIGTLinkTrackingTool::Pointer > | GetAllTools () |
Protected Member Functions inherited from mitk::TrackingDevice | |
void | SetState (TrackingDeviceState state) |
change object state More... | |
TrackingDevice () | |
virtual | ~TrackingDevice () |
Protected Attributes | |
unsigned long | m_MessageReceivedObserverTag |
mitk::IGTLClient::Pointer | m_OpenIGTLinkClient |
mitk::IGTLTransformDeviceSource::Pointer | m_IGTLDeviceSource |
mitk::IGTLMessageToNavigationDataFilter::Pointer | m_IGTLMsgToNavDataFilter |
std::vector< OpenIGTLinkTrackingTool::Pointer > | m_AllTools |
vector holding all tools More... | |
int | m_UpdateRate |
holds the update rate in FPS (will be set automatically when the OpenIGTLink connection is established) More... | |
Protected Attributes inherited from mitk::TrackingDevice | |
TrackingDeviceData | m_Data |
current device Data More... | |
bool | m_StopTracking |
signal stop to tracking thread More... | |
itk::FastMutexLock::Pointer | m_StopTrackingMutex |
mutex to control access to m_StopTracking More... | |
itk::FastMutexLock::Pointer | m_TrackingFinishedMutex |
mutex to manage control flow of StopTracking() More... | |
itk::FastMutexLock::Pointer | m_StateMutex |
mutex to control access to m_State More... | |
RotationMode | m_RotationMode |
defines the rotation mode Standard or Transposed, Standard is default More... | |
Additional Inherited Members | |
Public Types inherited from mitk::TrackingDevice | |
enum | RotationMode { RotationStandard, RotationTransposed } |
enum | TrackingDeviceState { Setup, Ready, Tracking } |
An object of this class represents the MicronTracker device. You can add tools to this device, then open the connection and start tracking. The tracking device will then continuously update the tool coordinates.
Documentation:
Definition at line 40 of file mitkOpenIGTLinkTrackingDevice.h.
|
protected |
Returns the update rate of the device in fps.
Definition at line 35 of file mitkOpenIGTLinkTrackingDevice.cpp.
References mitk::OpenIGTLinkTypeInformation::GetDeviceDataOpenIGTLinkTrackingDeviceConnection(), mitk::TrackingDevice::m_Data, m_IGTLDeviceSource, m_OpenIGTLinkClient, mitk::IGTLTransformDeviceSource::New(), and mitk::New().
|
protected |
Definition at line 47 of file mitkOpenIGTLinkTrackingDevice.cpp.
mitk::TrackingTool * mitk::OpenIGTLinkTrackingDevice::AddTool | ( | const char * | toolName, |
const char * | fileName | ||
) |
Create a new OpenIGTLink tool with toolName and fileName and add it to the list of tools.
Note that tools are usually provided by the OpenIGTLink connection. In most cases, the method DiscoverTools() should be used instead which automatically finds the provided tools. If you use this method to manually add tools be sure that you add the same number and type of tools that are provided by the connected device. Otherwise problems might occur when you try to start tracking.
Definition at line 76 of file mitkOpenIGTLinkTrackingDevice.cpp.
Pointer mitk::OpenIGTLinkTrackingDevice::Clone | ( | ) | const |
|
virtual |
Closes the connection and clears all resources.
Implements mitk::TrackingDevice.
Definition at line 399 of file mitkOpenIGTLinkTrackingDevice.cpp.
bool mitk::OpenIGTLinkTrackingDevice::DiscoverTools | ( | int | WaitingTime = 10000 | ) |
Discover the tools available from the connected OpenIGTLink device and adds these tools to this tracking device. Therefore, a connection is opened, the tools are discovered and added.
WaitingTime | Defines how long the method waits for an answer from the server (in milliseconds). Default value is 10000 (10 seconds). |
Definition at line 91 of file mitkOpenIGTLinkTrackingDevice.cpp.
References MITK_INFO, and MITK_WARN.
Referenced by mitk::OpenIGTLinkTypeInformation::CreateTrackingDeviceSource().
|
protected |
Definition at line 423 of file mitkOpenIGTLinkTrackingDevice.cpp.
std::string mitk::OpenIGTLinkTrackingDevice::GetHostname | ( | ) |
Definition at line 56 of file mitkOpenIGTLinkTrackingDevice.cpp.
int mitk::OpenIGTLinkTrackingDevice::GetPortNumber | ( | ) |
Definition at line 51 of file mitkOpenIGTLinkTrackingDevice.cpp.
|
virtual |
toolNumber | The number of the tool which should be given back. |
Implements mitk::TrackingDevice.
Definition at line 369 of file mitkOpenIGTLinkTrackingDevice.cpp.
|
virtual |
Implements mitk::TrackingDevice.
Definition at line 364 of file mitkOpenIGTLinkTrackingDevice.cpp.
|
virtual |
Sets the update rate of the device in fps. Default value is 60 fps.
|
protected |
Adds a tool to the tracking device.
tool | The tool which will be added. |
Definition at line 85 of file mitkOpenIGTLinkTrackingDevice.cpp.
|
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 from mitk::TrackingDevice.
Definition at line 71 of file mitkOpenIGTLinkTrackingDevice.cpp.
mitk::OpenIGTLinkTrackingDevice::mitkClassMacro | ( | OpenIGTLinkTrackingDevice | , |
TrackingDevice | |||
) |
|
static |
Referenced by QmitkOpenIGTLinkWidget::ConstructTrackingDevice().
|
virtual |
Opens the connection to the device. This have to be done before the tracking is started.
mitk::IGTHardwareException | Throws an exception if there is an error during open connection. |
Implements mitk::TrackingDevice.
Definition at line 377 of file mitkOpenIGTLinkTrackingDevice.cpp.
void mitk::OpenIGTLinkTrackingDevice::SetHostname | ( | std::string | hostname | ) |
Sets the hostname for the Open IGT Link connection. Default value is 127.0.0.1 (localhost).
Definition at line 66 of file mitkOpenIGTLinkTrackingDevice.cpp.
void mitk::OpenIGTLinkTrackingDevice::SetPortNumber | ( | int | portNumber | ) |
Sets the port number for the Open IGT Link connection. Default value is -1 (invalid).
Definition at line 61 of file mitkOpenIGTLinkTrackingDevice.cpp.
|
virtual |
|
virtual |
Starts the tracking.
mitk::IGTHardwareException | Throws an exception if there is an error during start tracking. |
Implements mitk::TrackingDevice.
Definition at line 301 of file mitkOpenIGTLinkTrackingDevice.cpp.
References MITK_WARN, mitk::IGTLMessageToNavigationDataFilter::New(), mitk::New(), and UpdateTools().
|
virtual |
Stops the tracking.
Reimplemented from mitk::TrackingDevice.
Definition at line 340 of file mitkOpenIGTLinkTrackingDevice.cpp.
References MITK_WARN.
|
protected |
Updates the tools from the open IGT link connection. Is called every time a message received event is invoked.
Definition at line 275 of file mitkOpenIGTLinkTrackingDevice.cpp.
References MITK_ERROR, and MITK_WARN.
Referenced by StartTracking().
|
protected |
vector holding all tools
Definition at line 145 of file mitkOpenIGTLinkTrackingDevice.h.
|
protected |
Definition at line 142 of file mitkOpenIGTLinkTrackingDevice.h.
Referenced by OpenIGTLinkTrackingDevice().
|
protected |
Definition at line 143 of file mitkOpenIGTLinkTrackingDevice.h.
|
protected |
Definition at line 131 of file mitkOpenIGTLinkTrackingDevice.h.
|
protected |
Definition at line 139 of file mitkOpenIGTLinkTrackingDevice.h.
Referenced by OpenIGTLinkTrackingDevice().
|
protected |
holds the update rate in FPS (will be set automatically when the OpenIGTLink connection is established)
Definition at line 147 of file mitkOpenIGTLinkTrackingDevice.h.