ConoProbeConnector is a module for 3D Slicer which can aquire and visualize point-sets from a tracked conoscopic holography single-point measurement device called a ConoProbe, where the measurement and tracking data is sent using the 3D Slicer supported OpenIGTLink protocol. As part of the ConoProbeConnector project we also made the ConoProbe device fully supported by the Plus Toolkit. This support means that the ConoProbe can be used with any of the tracking systems supported by Plus -- a large number of systems. The major features of the ConoProbeConnector module are:

  • Real-time, intuitive 3D visualization: Points can be recorded and visualized in real time. By setting a principal direction and an interval, the points are coloured in order to make the acquired point-set easier to interpret.

  • Live filtering and post-processing: By setting a threshold for the signal-to-noise ratio and an interval for the distance (data from the ConoProbe), points can be filtered during acquisition. Once data has been acquired it can also be post-processed with respect to the same parameters.

  • First-person view: A reference 3D model of the ConoProbe, acquired using an Artec Eva surface scanner (Artec, CA, USA), can be loaded into the module enabling an intuitive first-person view during acquisition.

  • Recording and simulating: The recorded point-set can be saved both in CSV and VTK format (the CSV-file includes also measurement and tracking information). Additionally, the entire Plus data stream can be recorded and replayed.

Fig3a

Figure 3. The ConoProbeConnector module which interfaces with a ConoProbe and a tracking system (with a photo of an acquisition process superimposed).

Build Instructions

  1. 3D Slicer: Detailed instructions on how to build 3D Slicer can be found here.
  2. SlicerIGT: The ConoProbeConnector module uses some features available through the SlicerIGT extension. In particular the Viewpoint module, which is currently not avaialbe though the 3D Slicer Extension Manager version of SlicerIGT. Therefore, follow the instructions found here to add SlicerIGT, and make sure to check SLICERIGT_ENABLE_EXPERIMENTAL_MODULES in CMake.
  3. ConoProbeConnector: The ConoProbeConnector module is a scriptable module, meaning that no build is required. So, to add the module to 3D Slicer, just get the source code from here and point 3D Slicer to the folder which contains ConoProbeConnector.py (via Edit -> Application Settings -> Modules -> Additional module paths -> Add). The module should now be available through the module selector in 3D Slicer (under the IGT category).

Usage

As written at the top of this page, the ConoProbeConnector can be used with a large number of tracking systems if combined with Plus. Therefore, we recommend to build Plus (with ConoProbe support):

  1. The Plus Toolkit: Detailed instructions on how to build the Plus Toolkit can be found here.
  2. ConoProbe support: In order to have support for the ConoProbe device it is necessary to enable PLUS_USE_OPTIMET_CONOPROBE in the CMake configuration of Plus and then point CMake to the required ConoProbe Smart32 binaries obtained from here. For more information on Plus and the ConoProbe see the corresponding info in Plus' users manual (found here).

Once this is done, the PlusServer app will be available in the Plus binary folder. PlusServer can then be used to connect to the ConoProbe, and a tracking system of choice, given a Plus config-file. For a sample config file, combining the ConoProbe with an NDI Aurora optical tracker, see the Data folder of the ConoProbeConnector folder. Note that both a spatial and a temporal calibration is necessary in order to find the temporal and spatial offset between the tracker and the ConoProbe. These procedures are detailed in our paper "Open-source 3D scanning system based on a conoscopic holography device for acquiring surgical surfaces" which, hopefully, soon will be published and then referenced here.