Configuration Files

For more information on the PlusServer, see IGT module development.

What is a configuration file?

  • In the context of the PlusServer a configuration file contains all of the specific details needed to connect to attached hardware and broadcast the data. These details are specified in XML format.
  • This file will provide the PlusServer with all the required information to connect tracking data and ultrasound streams with 3D Slicer.
  • The contents of this file will differ based on the application and equipment being used.
    • Note: PlusServer can connect to multiple tracking devices and a single image source such as an ultrasound scanner per OpenIGTLink connection.

Configuration file details

  • Note: each of these categories can have multiple entries. For more information.
  • Devices:
    1. Specify the devices being connected to (such as the image source or tracking device). This requires the names of data sources and the output channels to be specified.
    2. Optional: Specify the recording options, which allow you to save the data being streamed (streaming ultrasound or tracking data).
  • CoordinateDefinitions:
    1. Specify the known transformation matrices. For example: pre-calculated ultrasound probe calibration or stylus pivot calibration matrices.
    2. Include identity matrices for any transformation that will be replaced.
  • PlusOpenIGTLinkServer:
    1. Specify the client parameters and information, this includes the listening port for OpenIGTLinkIF (18944).
    2. Specify the names of transformations and the image that will be broadcasted over the network, i.e. received by 3D Slicer.

Configuration file for "US Calibration module" using an Ultrasonix ultrasound system and an NDI Aurora tracker

The following provides a description of the configuration file (i.e. in xml format) required for performing ultrasound probe calibration using the "US calibration module" in 3D Slicer.

  • To perform a probe calibration in 3D Slicer, the PlusServer is used to stream ultrasound and tracking data to 3D Slicer. This requires a specific xml file that follows the same format as above.
  • Be sure to pay attention to the following components:

  • Devices:
    1. The "SerialPort" that your tracking device is connected to.
    2. The "PortName" numbers must be the same as the ports that your tools are plugged into on the tracker system control unit.
    3. The "IP" address of the ultrasound system you are using.
    4. The "PortUsImageOrientation" which controls the ultrasound image orientation in 3D Slicer. All the possible orientations are listed.
    5. The "DepthMm" must be set to the ultrasound image depth that you are calibrating for, which will depend on your application.
  • CoordinateDefinitions:
    1. Because the ultrasound probe calibration matrix is not known before performing the calibration this matrix must be sent to identity. This may look like: < Transform From="Image" To="Probe"
      Matrix="1 0 0 0
      0 1 0 0
      0 0 1 0
      0 0 0 1"
      Date="2018.07.08 13:54:00"/>
    2. If the tool being used doesn't require calibration (such as a tracked NDI needle), this transformation matrix will also be the identity matrix. If the tool being used requires calibration, this matrix must be replaced with the needle tip-to-sensor calibration matrix (such as the transformation matrix produced by a pivot calibration).

How to write your own configuration file