The BiiGOptitrack library is a hardware interface which communicates with the multi-camera optical tracking system OptiTrack provided by the company NaturalPoint Inc. OptiTrack already provides an application programming interface (API) in order to control the multi-camera optical tracking system. However, controlling the tracker hardware directly using the API is not suitable for clinical applications where error handling is mandatory for proper system error recovery. Hence, we have developed the BiiGOptitrack library to interface with the tracker. BiiGOptitrack follows the tracking interface standard defined by the OpenIGTLink protocol, allowing for connection to the tracker, tracked tools management and safe recovery from errors during tracking acquisition. The most interesting advantage of BiiGOptitrack is the threading-based tracking that allows for real-time data acquisition whilst ensuring tracked tools are inside the field of view of the cameras, all markers forming the rigid-bodies are visible and time-stamps correspond to the delivered data through the library interface. Such information plays a critical role during further time and spatial calibrations.
API documentation, generated through Doxygen, can be found here (currently work in progress).
Details on how to build BiiGOptitrack will be published here shortly.
The OptiTrack tracking system is currently not supported by the Plus Toolkit, but we are working on adding this support through the BiiGOptitrack library (see the corresponding Plus Assembla ticket). Until then, we will provide our own Plus build (PlusLIM) where BiiGOptitrack is fully integrated, and therefore supports the OptiTrack. The source code for this Plus version can be downloaded from here. The build procedure is equal to the one described in the ConoProbeConnector section (under Plus Integration) and OptiTrack support is enabled by checking PLUS_USE_OPTITRACK in CMake.