Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::MicroBirdTrackingDevice Class Reference

superclass for specific MIRCOBIRD tracking Devices More...

#include <mitkMicroBirdTrackingDevice.h>

Inheritance diagram for mitk::MicroBirdTrackingDevice:
Collaboration diagram for mitk::MicroBirdTrackingDevice:

Public Member Functions

 mitkClassMacro (MicroBirdTrackingDevice, TrackingDevice)
 
Pointer Clone () const
 
virtual void SetType (TrackingDeviceType _arg)
 Set the type of the microBird Tracking Device because it can not yet handle this itself. More...
 
virtual bool OpenConnection ()
 Builds up the connection (loads tools, initializes and enables them) More...
 
virtual bool CloseConnection ()
 Closes the connection. More...
 
virtual bool StartTracking ()
 Start the tracking. More...
 
virtual bool StopTracking ()
 here we use the superclass method. More...
 
virtual TrackingToolGetTool (unsigned int toolNumber)
 returns a tracking tool that contains positional information about one of the sensors More...
 
virtual unsigned int GetToolCount () const
 returns a the number of attached sensors More...
 
virtual const char * GetErrorMessage () const
 returns description of most recent error. More...
 
- Public Member Functions inherited from mitk::TrackingDevice
 mitkClassMacroItkParent (TrackingDevice, itk::Object)
 
virtual TrackingToolGetTool (unsigned int toolNumber) const =0
 Return tool with index toolNumber. More...
 
virtual mitk::TrackingToolGetToolByName (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 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 ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

typedef TrackingTool ToolType
 
typedef std::vector< ToolType::Pointer > ToolContainerType
 

Protected Member Functions

void HandleError (int errorCode)
 
bool CompareError (int errorCode, int errorConstant)
 
 MicroBirdTrackingDevice ()
 
virtual ~MicroBirdTrackingDevice ()
 
ToolTypeGetMicroBirdTool (unsigned int toolNumber)
 returns a tracking tool that contains positional information about one of the sensors More...
 
virtual void InvalidateAll ()
 invalidates all tools (on stoptracking, closeconnection) More...
 
bool SwitchTransmitter (bool switchOn)
 Switches the transmitter on resp. off. More...
 
virtual void TrackTools ()
 tracks the position and orientation of all tools until StopTracking() is called. More...
 
virtual void SetErrorMessage (const char *_arg)
 
- Protected Member Functions inherited from mitk::TrackingDevice
void SetState (TrackingDeviceState state)
 change object state More...
 
 TrackingDevice ()
 
 ~TrackingDevice () override
 

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE ThreadStartTracking (void *data)
 Helper function, because the itk::MultiThreader can only start a new thread with a static member function. More...
 

Protected Attributes

itk::FastMutexLock::Pointer m_ToolsMutex
 
ToolContainerType m_Tools
 
std::string m_ErrorMessage
 
itk::MultiThreader::Pointer m_MultiThreader
 
int m_ThreadID
 
DOUBLE_POSITION_QUATERNION_TIME_Q_RECORD record
 
DOUBLE_POSITION_QUATERNION_TIME_Q_RECORD * pRecord
 One tracking data record (quaternion orientation format) More...
 
SYSTEM_CONFIGURATION m_SystemConfig
 The system configuration - used to specify its use. More...
 
SENSOR_CONFIGURATION * m_SensorConfig
 The sensor configuration - used to get and set the sensor properties. More...
 
TRANSMITTER_CONFIGURATION * m_TransmitterConfig
 The transmitter configuration - used to get and set the transmitter properties. More...
 
BOOL m_metric
 Specifies whether metric measurement is used. More...
 
double m_measurementRate
 Specifies the measurement rate - default set to maximum. More...
 
double m_pl
 Specifies the power line frequency (Europe 50Hz, USA 60Hz) More...
 
bool m_agcModeBoth
 AGC (automatic gain control) mode flag. More...
 
AGC_MODE_TYPE m_agc
 
- Protected Attributes inherited from mitk::TrackingDevice
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...
 

Additional Inherited Members

- Public Types inherited from mitk::TrackingDevice
enum  RotationMode { RotationStandard, RotationTransposed }
 
enum  TrackingDeviceState { Setup, Ready, Tracking }
 

Detailed Description

superclass for specific MIRCOBIRD tracking Devices

Documentation This class connects to a Ascension Microbird tracking device. You can not add tools manually. All connected tools are discovered during OpenConnection() and added automatically. Retrieve them with GetTool(unsigned int toolNumber) and GetToolCount() after a call to OpenConnection().

Definition at line 40 of file mitkMicroBirdTrackingDevice.h.

Member Typedef Documentation

◆ ToolContainerType

typedef std::vector<ToolType::Pointer> mitk::MicroBirdTrackingDevice::ToolContainerType
protected

Definition at line 94 of file mitkMicroBirdTrackingDevice.h.

◆ ToolType

Constructor & Destructor Documentation

◆ MicroBirdTrackingDevice()

mitk::MicroBirdTrackingDevice::MicroBirdTrackingDevice ( )
protected

◆ ~MicroBirdTrackingDevice()

virtual mitk::MicroBirdTrackingDevice::~MicroBirdTrackingDevice ( )
protectedvirtual

Member Function Documentation

◆ Clone()

Pointer mitk::MicroBirdTrackingDevice::Clone ( ) const

◆ CloseConnection()

virtual bool mitk::MicroBirdTrackingDevice::CloseConnection ( )
virtual

Closes the connection.

Documentation

Implements mitk::TrackingDevice.

◆ CompareError()

bool mitk::MicroBirdTrackingDevice::CompareError ( int  errorCode,
int  errorConstant 
)
protected

◆ GetErrorMessage()

virtual const char* mitk::MicroBirdTrackingDevice::GetErrorMessage ( ) const
virtual

returns description of most recent error.

Documentation

◆ GetMicroBirdTool()

ToolType* mitk::MicroBirdTrackingDevice::GetMicroBirdTool ( unsigned int  toolNumber)
protected

returns a tracking tool that contains positional information about one of the sensors

Documentation

◆ GetTool()

virtual TrackingTool* mitk::MicroBirdTrackingDevice::GetTool ( unsigned int  toolNumber)
virtual

returns a tracking tool that contains positional information about one of the sensors

Documentation

◆ GetToolCount()

virtual unsigned int mitk::MicroBirdTrackingDevice::GetToolCount ( ) const
virtual

returns a the number of attached sensors

Documentation

Implements mitk::TrackingDevice.

◆ HandleError()

void mitk::MicroBirdTrackingDevice::HandleError ( int  errorCode)
protected

◆ InvalidateAll()

virtual void mitk::MicroBirdTrackingDevice::InvalidateAll ( )
protectedvirtual

invalidates all tools (on stoptracking, closeconnection)

◆ mitkClassMacro()

mitk::MicroBirdTrackingDevice::mitkClassMacro ( MicroBirdTrackingDevice  ,
TrackingDevice   
)

◆ New()

static Pointer mitk::MicroBirdTrackingDevice::New ( )
static

◆ OpenConnection()

virtual bool mitk::MicroBirdTrackingDevice::OpenConnection ( )
virtual

Builds up the connection (loads tools, initializes and enables them)

Documentation

Implements mitk::TrackingDevice.

◆ SetErrorMessage()

virtual void mitk::MicroBirdTrackingDevice::SetErrorMessage ( const char *  _arg)
protectedvirtual

◆ SetType()

virtual void mitk::MicroBirdTrackingDevice::SetType ( TrackingDeviceType  _arg)
virtual

Set the type of the microBird Tracking Device because it can not yet handle this itself.

Documentation

◆ StartTracking()

virtual bool mitk::MicroBirdTrackingDevice::StartTracking ( )
virtual

Start the tracking.

Documentation A new thread is created, which reads the position and orientation information of each tool and stores them inside the tools.

Implements mitk::TrackingDevice.

◆ StopTracking()

virtual bool mitk::MicroBirdTrackingDevice::StopTracking ( )
virtual

here we use the superclass method.

Documentation

Reimplemented from mitk::TrackingDevice.

◆ SwitchTransmitter()

bool mitk::MicroBirdTrackingDevice::SwitchTransmitter ( bool  switchOn)
protected

Switches the transmitter on resp. off.

◆ ThreadStartTracking()

static ITK_THREAD_RETURN_TYPE mitk::MicroBirdTrackingDevice::ThreadStartTracking ( void *  data)
staticprotected

Helper function, because the itk::MultiThreader can only start a new thread with a static member function.

◆ TrackTools()

virtual void mitk::MicroBirdTrackingDevice::TrackTools ( )
protectedvirtual

tracks the position and orientation of all tools until StopTracking() is called.

Documentation This function should only be executed by a new thread (through StartTracking() and ThreadStartTracking())

Member Data Documentation

◆ m_agc

AGC_MODE_TYPE mitk::MicroBirdTrackingDevice::m_agc
protected

Definition at line 134 of file mitkMicroBirdTrackingDevice.h.

◆ m_agcModeBoth

bool mitk::MicroBirdTrackingDevice::m_agcModeBoth
protected

AGC (automatic gain control) mode flag.

Definition at line 133 of file mitkMicroBirdTrackingDevice.h.

◆ m_ErrorMessage

std::string mitk::MicroBirdTrackingDevice::m_ErrorMessage
protected

Definition at line 120 of file mitkMicroBirdTrackingDevice.h.

◆ m_measurementRate

double mitk::MicroBirdTrackingDevice::m_measurementRate
protected

Specifies the measurement rate - default set to maximum.

Definition at line 131 of file mitkMicroBirdTrackingDevice.h.

◆ m_metric

BOOL mitk::MicroBirdTrackingDevice::m_metric
protected

Specifies whether metric measurement is used.

Definition at line 130 of file mitkMicroBirdTrackingDevice.h.

◆ m_MultiThreader

itk::MultiThreader::Pointer mitk::MicroBirdTrackingDevice::m_MultiThreader
protected

Definition at line 122 of file mitkMicroBirdTrackingDevice.h.

◆ m_pl

double mitk::MicroBirdTrackingDevice::m_pl
protected

Specifies the power line frequency (Europe 50Hz, USA 60Hz)

Definition at line 132 of file mitkMicroBirdTrackingDevice.h.

◆ m_SensorConfig

SENSOR_CONFIGURATION* mitk::MicroBirdTrackingDevice::m_SensorConfig
protected

The sensor configuration - used to get and set the sensor properties.

Definition at line 128 of file mitkMicroBirdTrackingDevice.h.

◆ m_SystemConfig

SYSTEM_CONFIGURATION mitk::MicroBirdTrackingDevice::m_SystemConfig
protected

The system configuration - used to specify its use.

Definition at line 127 of file mitkMicroBirdTrackingDevice.h.

◆ m_ThreadID

int mitk::MicroBirdTrackingDevice::m_ThreadID
protected

Definition at line 123 of file mitkMicroBirdTrackingDevice.h.

◆ m_Tools

ToolContainerType mitk::MicroBirdTrackingDevice::m_Tools
protected

Definition at line 118 of file mitkMicroBirdTrackingDevice.h.

◆ m_ToolsMutex

itk::FastMutexLock::Pointer mitk::MicroBirdTrackingDevice::m_ToolsMutex
protected

Definition at line 115 of file mitkMicroBirdTrackingDevice.h.

◆ m_TransmitterConfig

TRANSMITTER_CONFIGURATION* mitk::MicroBirdTrackingDevice::m_TransmitterConfig
protected

The transmitter configuration - used to get and set the transmitter properties.

Definition at line 129 of file mitkMicroBirdTrackingDevice.h.

◆ pRecord

DOUBLE_POSITION_QUATERNION_TIME_Q_RECORD * mitk::MicroBirdTrackingDevice::pRecord
protected

One tracking data record (quaternion orientation format)

Definition at line 126 of file mitkMicroBirdTrackingDevice.h.

◆ record

DOUBLE_POSITION_QUATERNION_TIME_Q_RECORD mitk::MicroBirdTrackingDevice::record
protected

Definition at line 126 of file mitkMicroBirdTrackingDevice.h.


The documentation for this class was generated from the following file: