scikit-surgerynditracker is a python interface for Northern Digital (NDI) trackers. It should work with Polaris Vicra, Spectra, and Vega optical trackers and Aurora electromagnetic trackers. Tracking data is output as NumPy arrays.
Author: Stephen Thompson
scikit-surgerynditracker is part of the SciKit-Surgery software project, developed at the Wellcome EPSRC Centre for Interventional and Surgical Sciences, part of University College London (UCL).
pip install scikit-surgerynditracker
Configuration is done using Python libraries at instantiation. Invalid configuration should raise exceptions. Tracking data is returned in a set of lists, containing the port handles, timestamps, framenumbers, the tracking data and a tracking quality metric. By default tracking data is returned as a 4x4 NumPy array, though can be returned as a quaternion by changing the configuration.
from sksurgerynditracker.nditracker import NDITracker SETTINGS = { "tracker type": "polaris", "romfiles" : ["../data/8700339.rom"] } TRACKER = NDITracker(SETTINGS) TRACKER.start_tracking() port_handles, timestamps, framenumbers, tracking, quality = TRACKER.get_frame() for t in tracking: print (t) TRACKER.stop_tracking() TRACKER.close()
See demo.py for a full example
You can clone the repository using the following command:
git clone https://github.com/SciKit-Surgery/scikit-surgerynditracker
You can run the unit tests by installing and running tox:
pip install tox tox
Please see the contributing guidelines.
Copyright 2018 University College London. scikit-surgerynditracker is released under the BSD-3 license. Please see the license file for details.