-
Notifications
You must be signed in to change notification settings - Fork 1
/
ConfigFileExample_IGTApplications.xml
119 lines (111 loc) · 5.5 KB
/
ConfigFileExample_IGTApplications.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0"?>
<PlusConfiguration version="2.1">
<DataCollection StartupDelaySec="1.0">
<!--DeviceSet paramaters should be customized to your specific application. "Name" will appear in the PlusServer menu. -->
<DeviceSet Name="PlusServer: SonixTouch L14-5 (6cm) and NDI Aurora tracking with sensors (Needle, Probe)"
Description="Broadcasting tool tracking data through OpenIGTLink for SonixTouch L14-5 (6cm) + NDI Aurora sensors: Needle (1), Probe (0)"/>
<!-- List all the devices used in your application following this format. -->
<!-- Note: (i) "SerialPort" indicates the COM port to which the tracking system is connected, (ii) all "Id" feilds are custom to your application, insure that the naming stays consistent throughout the file. -->
<Device Id="TrackerDevice"
Type="NDITracker"
SerialPort="4"
BaudRate="115200"
ToolReferenceFrame="Reference">
<DataSources>
<DataSource Type="Tool" Id="Needle" PortName="1"/>
<DataSource Type="Tool" Id="Probe" PortName="0"/>
</DataSources>
<OutputChannels>
<OutputChannel Id="TrackerChannel">
<DataSource Id="Needle"/>
<DataSource Id="Probe"/>
</OutputChannel>
</OutputChannels>
</Device>
<!-- Note: (i) "IP" refers to the IP address of the ultrasound scanner.
(ii) "PortUsImageOrientationImage" dictates the orentation of the image in Slicer. Refer to the Plus documentation for other orentations.
(iii) "Depthmm" setting will override the ultrasound image depth setting set on the scanner. It is important to specify the depth you will be using for you application. -->
<Device
Id="VideoDevice"
Type="SonixVideo"
AcquisitionRate="30"
LocalTimeOffsetSec="0.0"
IP="129.100.44.57"
CompressionStatus="1"
AutoClipEnabled="TRUE"
ImagingMode="BMode"
ImageGeometryOutputEnabled="FALSE">
<DataSources>
<DataSource Type="Video" Id="Video" PortName="B" PortUsImageOrientation="MN" />
</DataSources>
<OutputChannels>
<OutputChannel Id="VideoChannel" VideoDataSourceId="Video" />
</OutputChannels>
<UsImagingParameters>
<UsParameter name="DepthMm" value="60" />
</UsImagingParameters>
</Device>
<!-- Note: a "VirtualMixer" is required for broadcasting tracked video/ ultrasound images to slicer. -->
<Device Id="TrackedVideoDevice" Type="VirtualMixer">
<InputChannels>
<InputChannel Id="TrackerChannel" />
<InputChannel Id="VideoChannel" />
</InputChannels>
<OutputChannels>
<OutputChannel Id="TrackedVideoChannel" />
</OutputChannels>
</Device>
<!-- Note: "CaptureDevice" enables recording the broadcasted information (US stream and tracking data) through "PlusRemote" module in Slicer. -->
<Device Id="CaptureDevice"
Type="VirtualCapture"
BaseFilename="RecordingTest.nrrd"
EnableFileCompression="TRUE"
EnableCapturingOnStart="FALSE">
<InputChannels>
<InputChannel Id="TrackedVideoChannel"/>
</InputChannels>
</Device>
</DataCollection>
<CoordinateDefinitions>
<!-- For ultrasound probe calibration: leave this matrix as identity. Through your calibration process you will obtain the proper transform matrix.
For IGT applications: replace this matrix with your acquired calibration transformation matrix. -->
<!-- Note: The system automatically converts this naming structure to "ImageToProbe". This is true for all transformaitons in this file. -->
<Transform From="Image" To="Probe"
Matrix="
1 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1"
Error="0.0" Date="112317_141120" />
<!-- Identity transform as needle is precalibrated. Note: if the needle is precalibrated (eg. NDI tracked needles), use an identity matrix. Otherwise replace this with your needle/surgical tool calibration matrix. -->
<Transform From="NeedleTip" To="Needle"
Matrix="
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1"
Error="0.0" Date="112317_141120" />
</CoordinateDefinitions>
<!-- Note: (i) "ListeningPort" indicates the specific openIGTLinkConnection used by Slicer. This number is 18944 for all applications.
(ii) "TransformNames" allow for concatenation of transformation matricies. For example, "NeedleTipToReference" concatenates needleTipToNeedle and NeedleToReference transformation matricies. In order for this to work names must be consistent with what is set in the previous fields. -->
<PlusOpenIGTLinkServer MaxNumberOfIgtlMessagesToSend="1"
MaxTimeSpentWithProcessingMs="50"
ListeningPort="18944"
DefaultClientSendTimeoutSec="0"
SendValidTransformsOnly="false"
OutputChannelId="TrackedVideoChannel">
<DefaultClientInfo>
<MessageTypes>
<Message Type="IMAGE"/>
<Message Type="TRANSFORM"/>
</MessageTypes>
<TransformNames>
<Transform Name="NeedleTipToReference"/>
<Transform Name="ProbeToReference"/>
</TransformNames>
<ImageNames>
<Image Name="Image" EmbeddedTransformToFrame="Probe" />
</ImageNames>
</DefaultClientInfo>
</PlusOpenIGTLinkServer>
</PlusConfiguration>