13 #ifndef OptitrackTrackingDevice_H_HEADER_INCLUDED 14 #define OptitrackTrackingDevice_H_HEADER_INCLUDED 16 #include <MitkIGTExports.h> 18 #include <itkMultiThreader.h> 21 #include <itkFastMutexLock.h> 22 #include <itksys/SystemTools.hxx> 23 #include <itkMutexLockHolder.h> 32 #include "mitkIGTIOException.h" 34 #include "mitkIGTException.h" 74 bool IsDeviceInstalled()
override;
85 bool OpenConnection()
override;
93 bool CloseConnection()
override;
101 bool StartTracking()
override;
108 bool StopTracking()
override;
116 TrackingTool* GetTool(
unsigned int toolNumber)
const override;
131 unsigned int GetToolCount()
const override;
134 itkSetMacro(Exp,
int);
137 itkGetMacro(Exp,
int);
140 itkSetMacro(Led,
int);
143 itkGetMacro(Led,
int);
146 itkSetMacro(Thr,
int);
149 itkGetMacro(Thr,
int);
152 void SetCalibrationPath(std::string calibrationPath);
155 itkGetMacro(calibrationPath,std::string);
161 static ITK_THREAD_RETURN_TYPE ThreadStartTracking(
void* data);
174 bool LoadCalibration();
187 bool SetCameraParams(
int exposure,
int threshold,
int intensity,
int videoType = 4);
194 bool InitializeCameras();
209 bool AddToolByDefinitionFile(std::string fileName);
231 std::string m_calibrationPath;
257 std::vector<mitk::OptitrackTrackingTool::Pointer> m_AllTools;
262 itk::FastMutexLock::Pointer m_ToolsMutex;
267 itk::MultiThreader::Pointer m_MultiThreader;
mitk::TrackingDeviceType OptiTrackTrackingDeviceType
An object of this class represents the Optitrack device. You can add tools to this device...
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Interface for all Tracking Devices.
itk::MutexLockHolder< itk::FastMutexLock > MutexLockHolder
IGT Exceptions.
std::string TrackingDeviceType