ImFusion C++ SDK 4.4.0
Atracsys Tracking Plugin

The Atracsys Tracking Plugin enables connectivity with an Atracsys tracking device, allowing users to control the device and stream tracking data as a TrackingStream into the ImFusion framework. More...

Collaboration diagram for Atracsys Tracking Plugin:

Detailed Description

The Atracsys Tracking Plugin enables connectivity with an Atracsys tracking device, allowing users to control the device and stream tracking data as a TrackingStream into the ImFusion framework.

Introduction

The Atracsys Tracking Plugin provides an integration with specialized features for Atracsys systems, extending the general functionality of tracking streams in the ImFusion framework:

  • Acquisition Control: Connect to an Atracsys tracking device via USB or network.
  • INI File Handling: Load predefined INI files into the tracking system or create INI files from unknown geometries.
  • Tracking Streaming: Stream tracking poses and tracking quality metrics into the ImFusion framework for further processing.
  • Single Fiducial Readout: Retrieve positions of individual reflective markers or IR-laser reflections.

Usage

The Atracsys tracking functionality is available in both the ImFusion Suite and the C++ SDK.

ImFusion Suite

The Atracsys Tracking Plugin is integrated into the ImFusion Suite, allowing users to configure the tracking system, visualize tracking instruments, and record tracking data. See the User Documentation for further details.

C++ SDK

With the C++ SDK, the Atracsys Tracking Plugin can be used to integrate optical tracking into custom applications for navigation, recording, and visualization. Additionally, the hardware can be integrated and used in a custom plugin via the ImFusion plugin system. For an example, refer to the Stream Example Plugin: Stream Example Plugin

Attention
Different Atracsys camera systems require different incompatible libraries, since they share the very same function signatures. Therefore, each camera type is compiled into a separate plugin to prevent this ambiguity. When integrating a Atracsys camera via the SDK, one can only directly link against one of the camera plugins on Ubuntu, e.g. ImFusionAtracsysSpryTrackPlugin or ImFusionAtracsysFusionTrackPlugin. Furthermore, only the camera-specific header can be included, e.g. 'AtracsysSprytrackStream.h', and not the generic 'AtracsysTrackingStream.h'.

Example

Example usage of the tracking stream:

// configure the input stream
// using an alias to select the system type: AtracsysSprytrackStream
AtracsysSprytrackStream atracsysTrackingStream;
atracsysTrackingStream.setBinaryQueryMode(true);
atracsysTrackingStream.addGeometry("My Tool", "<path to ini file>");
atracsysTrackingStream.start();
// add the stream to a view
ImageView3D* view3D = ... // e.g., m_disp->view3D() in a controller
view3D->setVisibleData({&atracsysTrackingStream});
// record the stream
StreamRecorderAlgorithm recorder({&atracsysTrackingStream});
recorder.start();
recorder.stop();
atracsysTrackingStream.stop();
// access the recorded data
auto recordedTrackings = recorder.takeOutput().extractAll<TrackingSequence>();
// ...
T sleep_for(T... args)

Classes

class  ImFusion::AtracsysTrackingStreamBase
 TrackingStream base class for all Atracsys tracking systems. More...

Typedefs

using ImFusion::AtracsysSprytrackStream = SpryTrack::AtracsysTrackingStream
 Tracking stream for a Atracsys tracking system SpryTrack 180 and SpryTrack 300 connected via USB.

Typedef Documentation

◆ AtracsysSprytrackStream

using ImFusion::AtracsysSprytrackStream = SpryTrack::AtracsysTrackingStream

#include <ImFusion/Atracsys/AtracsysSprytrackStream.h>

Tracking stream for a Atracsys tracking system SpryTrack 180 and SpryTrack 300 connected via USB.

The firmware version must be v1.0.0 or higher (compatible with SDK version 4.8 or higher).

See AtracsysSpryTrackLegacyRC13Stream and AtracsysSpryTrackLegacyRC10Stream for older camera types.

AtracsysSprytrackStream atracsysStream;
atracsysStream.addGeometry("Pointer", "C:/Resources/pointer.ini");
atracsysStream.addGeometry("Reference", "C:/Resources/reference.ini");
atracsysStream.open();
atracsysStream.start();
SpryTrack::AtracsysTrackingStream AtracsysSprytrackStream
Tracking stream for a Atracsys tracking system SpryTrack 180 and SpryTrack 300 connected via USB.
Definition AtracsysSprytrackStream.h:36
Search Tab / S to search, Esc to close