MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitk::MicroBirdTrackingDevice Class Reference

superclass for specific MIRCOBIRD tracking Devices More...

#include <mitkMicroBirdTrackingDevice.h>

Inheritance diagram for mitk::MicroBirdTrackingDevice:
mitk::TrackingDevice

Public Member Functions

 mitkClassMacro (MicroBirdTrackingDevice, TrackingDevice)
 
 itkFactorylessNewMacro (Self)
 
 itkCloneMacro (Self)
 
 itkSetMacro (Type, TrackingDeviceType)
 Set the type of the microBird Tracking Device because it can not yet handle this itself.
 
virtual bool OpenConnection ()
 Builds up the connection (loads tools, initializes and enables them)
 
virtual bool CloseConnection ()
 Closes the connection.
 
virtual bool StartTracking ()
 Start the tracking.
 
virtual bool StopTracking ()
 here we use the superclass method.
 
virtual TrackingToolGetTool (unsigned int toolNumber)
 returns a tracking tool that contains positional information about one of the sensors
 
virtual unsigned int GetToolCount () const
 returns a the number of attached sensors
 
 itkGetStringMacro (ErrorMessage)
 returns description of most recent error.
 
- Public Member Functions inherited from mitk::TrackingDevice
 mitkClassMacroItkParent (TrackingDevice, itk::Object)
 
virtual TrackingToolGetTool (unsigned int toolNumber) const =0
 Return tool with index toolNumber.
 
virtual mitk::TrackingToolGetToolByName (std::string name) const
 Returns the tool with the given tool name.
 
virtual void SetRotationMode (RotationMode r)
 
 itkGetConstMacro (RotationMode, RotationMode)
 
TrackingDeviceState GetState () const
 return current object state (Setup, Ready or Tracking)
 
TrackingDeviceType GetType () const
 Deprecated! Use the more specific getData or GetTrackingDeviceName instead. return device type identifier.
 
void SetType (TrackingDeviceType type)
 Deprecated! Use the more specific setDeviceData instead. set device type.
 
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.
 
TrackingDeviceData GetData () const
 return device data
 
void SetData (TrackingDeviceData data)
 set device type
 
virtual bool IsDeviceInstalled ()
 
virtual bool AutoDetectToolsAvailable ()
 
virtual bool AddSingleToolIsAvailable ()
 
virtual mitk::NavigationToolStorage::Pointer AutoDetectTools ()
 

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
 
virtual void InvalidateAll ()
 invalidates all tools (on stoptracking, closeconnection)
 
bool SwitchTransmitter (bool switchOn)
 Switches the transmitter on resp. off.
 
virtual void TrackTools ()
 tracks the position and orientation of all tools until StopTracking() is called.
 
 itkSetStringMacro (ErrorMessage)
 
- Protected Member Functions inherited from mitk::TrackingDevice
void SetState (TrackingDeviceState state)
 change object state
 
 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.
 

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)
 
SYSTEM_CONFIGURATION m_SystemConfig
 The system configuration - used to specify its use.
 
SENSOR_CONFIGURATION * m_SensorConfig
 The sensor configuration - used to get and set the sensor properties.
 
TRANSMITTER_CONFIGURATION * m_TransmitterConfig
 The transmitter configuration - used to get and set the transmitter properties.
 
BOOL m_metric
 Specifies whether metric measurement is used.
 
double m_measurementRate
 Specifies the measurement rate - default set to maximum.
 
double m_pl
 Specifies the power line frequency (Europe 50Hz, USA 60Hz)
 
bool m_agcModeBoth
 AGC (automatic gain control) mode flag.
 
AGC_MODE_TYPE m_agc
 
- Protected Attributes inherited from mitk::TrackingDevice
TrackingDeviceData m_Data
 current device Data
 
bool m_StopTracking
 signal stop to tracking thread
 
std::mutex m_StopTrackingMutex
 mutex to control access to m_StopTracking
 
std::mutex m_TrackingFinishedMutex
 mutex to manage control flow of StopTracking()
 
std::mutex m_StateMutex
 mutex to control access to m_State
 
RotationMode m_RotationMode
 defines the rotation mode Standard or Transposed, Standard is default
 

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

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

Definition at line 20 of file mitkMicroBirdTrackingDevice.cpp.

◆ ~MicroBirdTrackingDevice()

mitk::MicroBirdTrackingDevice::~MicroBirdTrackingDevice ( )
protectedvirtual

Definition at line 50 of file mitkMicroBirdTrackingDevice.cpp.

Member Function Documentation

◆ CloseConnection()

bool mitk::MicroBirdTrackingDevice::CloseConnection ( )
virtual

Closes the connection.

Documentation

Implements mitk::TrackingDevice.

Definition at line 252 of file mitkMicroBirdTrackingDevice.cpp.

◆ CompareError()

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

Definition at line 447 of file mitkMicroBirdTrackingDevice.cpp.

◆ GetMicroBirdTool()

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

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

Documentation

Definition at line 427 of file mitkMicroBirdTrackingDevice.cpp.

◆ GetTool()

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

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

Documentation

Definition at line 421 of file mitkMicroBirdTrackingDevice.cpp.

◆ GetToolCount()

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

returns a the number of attached sensors

Documentation

Implements mitk::TrackingDevice.

Definition at line 440 of file mitkMicroBirdTrackingDevice.cpp.

◆ HandleError()

void mitk::MicroBirdTrackingDevice::HandleError ( int errorCode)
protected
Todo
: set error message, does it work?

Definition at line 453 of file mitkMicroBirdTrackingDevice.cpp.

◆ InvalidateAll()

void mitk::MicroBirdTrackingDevice::InvalidateAll ( )
protectedvirtual

invalidates all tools (on stoptracking, closeconnection)

Definition at line 470 of file mitkMicroBirdTrackingDevice.cpp.

◆ itkCloneMacro()

mitk::MicroBirdTrackingDevice::itkCloneMacro ( Self )

◆ itkFactorylessNewMacro()

mitk::MicroBirdTrackingDevice::itkFactorylessNewMacro ( Self )

◆ itkGetStringMacro()

mitk::MicroBirdTrackingDevice::itkGetStringMacro ( ErrorMessage )

returns description of most recent error.

Documentation

◆ itkSetMacro()

mitk::MicroBirdTrackingDevice::itkSetMacro ( Type ,
TrackingDeviceType  )

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

Documentation

◆ itkSetStringMacro()

mitk::MicroBirdTrackingDevice::itkSetStringMacro ( ErrorMessage )
protected

◆ mitkClassMacro()

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

◆ OpenConnection()

bool mitk::MicroBirdTrackingDevice::OpenConnection ( )
virtual

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

Documentation

Todo
: check for transmitter serial numbers here?

Implements mitk::TrackingDevice.

Definition at line 71 of file mitkMicroBirdTrackingDevice.cpp.

◆ StartTracking()

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.

Definition at line 308 of file mitkMicroBirdTrackingDevice.cpp.

◆ StopTracking()

bool mitk::MicroBirdTrackingDevice::StopTracking ( )
virtual

here we use the superclass method.

Documentation

Reimplemented from mitk::TrackingDevice.

Definition at line 298 of file mitkMicroBirdTrackingDevice.cpp.

◆ SwitchTransmitter()

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

Switches the transmitter on resp. off.

Definition at line 211 of file mitkMicroBirdTrackingDevice.cpp.

◆ ThreadStartTracking()

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.

Definition at line 283 of file mitkMicroBirdTrackingDevice.cpp.

◆ TrackTools()

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())

Get tool (current sensor)

Todo
: is there any synchronisation?

Definition at line 330 of file mitkMicroBirdTrackingDevice.cpp.

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 117 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 files: