Plus applications user manual  2.9.0.e3e8b4a
Software library for tracked ultrasound image acquisition, calibration, and processing.
Medtronic Stealth Station

This class talks with StealthLink Server and acquires the transformation matrix data for both the current frame and the instrument. Only one instrument and one frame can be acitive at a time.

Nomenclature:

Supported hardware devices

Supported platforms

This device is not included in any of the standard packages, as it requires StealthLink library from Medtronic. If the StealthLink library is obtained from Medtronic then Plus have to be built with the StealthLink option enabled as described at https://github.com/PlusToolkit/PlusBuild/blob/master/Docs/BuildInstructionsWindows.md. The device is tested on Windows, but should also work on other platforms.

Installation

No need to install any extra software. The StealthStation needs to be connected through LAN and the connection is set via IP address and port number.

Device configuration settings

Use cases

Both optical and Em tracker can be used.

Usage from PlusServerRemoteControl

Start plus server with the configuration file as the input.

PlusServer.exe --config-file=PlusDeviceSet_Server_StealthLinkTracker.xml

With this you can track the tools that are inside the view of the tracker.

Stealth can receive DICOM image files from the stealth server and send them as volume through OpenIGTLink:

PlusServerRemoteControl.exe --command=GET_EXAM_DATA --device=SLD --dicom-directory="C:\StealthLinkDicomOutput\" --volumeEmbeddedTransformToFrame="Ras" --keepReceivedDicomFiles

It will get the current exam information and the registration information and send volume and its pose in Ras coordinate system. Ras is calculated after having read the information from the received dicom files ((0020,0032) ImagePositionPatient and (0020,0037) ImageOrientationPatient).

Usage in 3D Slicer

Start plus server with the configuration file as the input.

PlusServer.exe --config-file=PlusDeviceSet_Server_StealthLinkTracker.xml

Using OpenIGTLink messages GET_IMGMETA and GET_IMAGE(from a slicer client for example)

Example configuration file PlusDeviceSet_Server_StealthLinkTracker.xml

<PlusConfiguration version="2.3">
<DataCollection StartupDelaySec="1.0" >
<DeviceSet
Name="PlusServer: Medtronic StealthLink tracker"
Description="Broadcasting tool tracking data through OpenIGTLink
Tools: Stylus (Passive Planar, Blunt) , Reference (Small Passive Cranial Frame)"
/>
<Device
Id="SLD"
Type="StealthLinkTracker"
ServerAddress="130.15.7.88"
ServerPort="6996"
RegistrationUpdatePeriod="0.0"
ToolReferenceFrame="Tracker" >
<DataSources>
<!-- Remove tools that are not defined by the StealthStation -->
<!-- Corresponding tools also need to be removed from the OutputChannels section -->
<DataSource Type="Tool" Id="Stylus" PortName="Passive Planar, Blunt" />
<DataSource Type="Tool" Id="NProbe" PortName="Navigus Probe" />
<DataSource Type="Tool" Id="TProbe" PortName="Touch-n-Go Probe" />
<DataSource Type="Tool" Id="Reference" PortName="Small Passive Cranial Frame" />
<!-- The Ras virtual tool will only give a valid value when an image is acquired from the server (GetImage or GetExamData). -->
<DataSource Type="Tool" Id="Ras" PortName="RasRegistration" />
</DataSources>
<OutputChannels>
<OutputChannel Id="TrackerStream">
<!-- Remove tools that are not defined by the StealthStation -->
<DataSource Id="NProbe" />
<DataSource Id="TProbe" />
<DataSource Id="Stylus" />
<DataSource Id="Reference" />
<DataSource Id="Ras" />
</OutputChannel>
</OutputChannels>
</Device>
<Device
Id="CaptureDevice"
Type="VirtualCapture"
BaseFilename="RecordingTest.igs.mha"
EnableCapturingOnStart="FALSE" >
<InputChannels>
<InputChannel Id="TrackerStream" />
</InputChannels>
</Device>
</DataCollection>
<CoordinateDefinitions>
<Transform From="Ras" To="Lps"
Matrix="
-1 0 0 0
0 -1 0 0
0 0 1 0
0 0 0 1" />
</CoordinateDefinitions>
<PlusOpenIGTLinkServer
MaxNumberOfIgtlMessagesToSend="1"
MaxTimeSpentWithProcessingMs="50"
ListeningPort="18944"
OutputChannelId="TrackerStream" >
<DefaultClientInfo>
<MessageTypes>
<Message Type="TRANSFORM" />
</MessageTypes>
<TransformNames>
<!-- To avoid "Transform path not found" warnings, remove transforms for tools that are not defined by the StealthStation -->
<Transform Name="StylusToTracker" />
<Transform Name="ReferenceToTracker" />
<!-- RasToReference will not be available until an image is acquired from the server (GetImage or GetExamData). -->
<Transform Name="RasToReference" />
<Transform Name="StylusToReference" />
<Transform Name="NProbeToReference" />
<Transform Name="TProbeToReference" />
</TransformNames>
</DefaultClientInfo>
</PlusOpenIGTLinkServer>
</PlusConfiguration>