Skip to content

Commit a991566

Browse files
committed
ENH: Add PlusConfiguration_Sonix_Ascension_LegoPhantom.xml
Add config file referenced in Lego fCal phantom pdf.
1 parent 222c8c6 commit a991566

1 file changed

Lines changed: 224 additions & 0 deletions

File tree

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
<PlusConfiguration version="2.1">
2+
3+
<DataCollection StartupDelaySec="1.0">
4+
<DeviceSet
5+
Name="SonixTouch and Ascension3DG with Lego Phantom"
6+
Description="Ascension3DG sensors should be plugged in to the Ascension3DG DriveBay mounted on SonixTouch in the following order from to leftmost slot (Transducer 1) to the right: 1 Probe, 2 Reference, 3 Stylus."
7+
/>
8+
<Device
9+
Id="TrackerDevice"
10+
Type="Ascension3DG"
11+
AcquisitionRate="50"
12+
LocalTimeOffsetSec="0.0"
13+
FilterAcWideNotch="1" >
14+
<DataSources>
15+
<DataSource Type="Tool" Id="Probe" BufferSize="500" PortName="0" AveragedItemsForFiltering="20" />
16+
<DataSource Type="Tool" Id="Reference" BufferSize="500" PortName="1" AveragedItemsForFiltering="20" />
17+
<DataSource Type="Tool" Id="Stylus" BufferSize="500" PortName="2" AveragedItemsForFiltering="20" />
18+
</DataSources>
19+
20+
<OutputChannels>
21+
<OutputChannel Id="TrackerStream" >
22+
<DataSource Id="Probe"/>
23+
<DataSource Id="Reference"/>
24+
<DataSource Id="Stylus"/>
25+
</OutputChannel>
26+
</OutputChannels>
27+
</Device>
28+
29+
<Device
30+
Id="VideoDevice"
31+
Type="SonixVideo"
32+
AcquisitionRate="30"
33+
LocalTimeOffsetSec="0"
34+
IP="127.0.0.1"
35+
Depth="-1"
36+
Sector="-1"
37+
Gain="-1"
38+
DynRange="-1"
39+
Zoom="-1"
40+
Frequency="-1"
41+
Timeout="-1"
42+
CompressionStatus="0" >
43+
<DataSources>
44+
<DataSource Type="Video" Id="Video" PortName="B" PortUsImageOrientation="UF" BufferSize="100" AveragedItemsForFiltering="20" />
45+
</DataSources>
46+
47+
<OutputChannels>
48+
<OutputChannel Id="VideoStream" VideoDataSourceId="Video" />
49+
</OutputChannels>
50+
</Device>
51+
52+
<Device
53+
Id="TrackedVideoDevice"
54+
Type="VirtualMixer" >
55+
<InputChannels>
56+
<InputChannel Id="TrackerStream" />
57+
<InputChannel Id="VideoStream" />
58+
</InputChannels>
59+
60+
<OutputChannels>
61+
<OutputChannel Id="TrackedVideoStream"/>
62+
</OutputChannels>
63+
</Device>
64+
</DataCollection>
65+
66+
<CoordinateDefinitions>
67+
<Transform From="Image" To="TransducerOriginPixel"
68+
Matrix="
69+
1 0 0 -410
70+
0 1 0 5
71+
0 0 1 0
72+
0 0 0 1"
73+
Date="2011.12.06 17:57:00"/>
74+
<Transform From="TransducerOriginPixel" To="TransducerOrigin"
75+
Matrix="
76+
0.0796446 0 0 0
77+
0 0.0744856 0 0
78+
0 0 0.0770651 0
79+
0 0 0 1"
80+
Date="091112_160011"/>
81+
</CoordinateDefinitions>
82+
83+
84+
<Rendering WorldCoordinateFrame="Reference" DisplayedImageOrientation="MF">
85+
<DisplayableObject Type="Model" ObjectCoordinateFrame="TransducerOrigin" Id="ProbeModel"
86+
File="L14-5_38_ProbeModel.stl"
87+
ModelToObjectTransform="
88+
-1 0 0 29.7
89+
0 -1 0 1.5
90+
0 0 1 -14
91+
0 0 0 1"
92+
/>
93+
<DisplayableObject Type="Model" ObjectCoordinateFrame="Reference" Id="Volume"/>
94+
<DisplayableObject Type="Model" ObjectCoordinateFrame="StylusTip" Id="StylusModel"
95+
File="Stylus_Example.stl"
96+
ModelToObjectTransform="
97+
1 0 0 -210.0
98+
0 1 0 0
99+
0 0 1 0
100+
0 0 0 1"
101+
/>
102+
103+
<DisplayableObject Id="PhantomModel" Type="Model" ObjectCoordinateFrame="Phantom"
104+
Opacity="0.6"
105+
File="LegoPhantom.stl"
106+
ModelToObjectTransform="
107+
1 0 0 0
108+
0 1 0 0
109+
0 0 1 0
110+
0 0 0 1"
111+
/>
112+
<DisplayableObject Type="Image" ObjectCoordinateFrame="Image" Id="LiveImage"/>
113+
</Rendering>
114+
115+
116+
<Segmentation
117+
ApproximateSpacingMmPerPixel="0.078"
118+
MorphologicalOpeningCircleRadiusMm="0.27"
119+
MorphologicalOpeningBarSizeMm="1.0"
120+
ClipRectangleOrigin="27 27"
121+
ClipRectangleSize="766 562"
122+
MaxLinePairDistanceErrorPercent="10"
123+
AngleToleranceDegrees="10"
124+
MaxAngleDifferenceDegrees="10"
125+
MinThetaDegrees="-70"
126+
MaxThetaDegrees="70"
127+
MaxLineShiftMm="10.0"
128+
ThresholdImagePercent="10"
129+
CollinearPointsMaxDistanceFromLineMm="0.6"
130+
UseOriginalImageIntensityForDotIntensityScore="0"
131+
/>
132+
133+
134+
<PhantomDefinition>
135+
<!-- Supported types are: Double-N, U-Shaped-N -->
136+
<Description
137+
Name="Lego"
138+
Type="Triple-N"
139+
Version="1.4"
140+
WiringVersion="1.0"
141+
Institution="Queen's University PerkLab"
142+
/>
143+
144+
<Geometry>
145+
<Pattern Type="NWire"> <!-- top row from left to right -->
146+
<Wire Name="7:E1_e1" EndPointFront="17.3 0 19.54" EndPointBack="17.30 40.10 19.54" />
147+
<Wire Name="8:K1_f1" EndPointFront="39.7 0 19.54" EndPointBack="24.8 40.10 19.54" />
148+
<Wire Name="9:L1_l1" EndPointFront="46.54 0 19.54" EndPointBack="46.54 40.10 19.54" />
149+
</Pattern>
150+
<Pattern Type="NWire"> <!-- middle row from left to right -->
151+
<Wire Name="4:E2_e2" EndPointFront="17.3 0 9.81" EndPointBack="17.3 40.10 9.81" />
152+
<Wire Name="5:F2_m2" EndPointFront="24.8 0 9.81" EndPointBack="39.9 40.10 9.81" />
153+
<Wire Name="6:L2_l2" EndPointFront="46.54 0 9.81" EndPointBack="46.54 40.10 9.81" />
154+
</Pattern>
155+
<Pattern Type="NWire"> <!-- bottom row from left to right -->
156+
<Wire Name="1:G3_g3" EndPointFront="26.0 0 0.08" EndPointBack="26.0 40.10 0.08" />
157+
<Wire Name="2:K3_h3" EndPointFront="40.6 0 0.08" EndPointBack="32.0 40.10 0.08" />
158+
<Wire Name="3:L3_l3" EndPointFront="46.54 0 0.08" EndPointBack="46.54 40.10 0.08" />
159+
</Pattern>
160+
161+
<Landmarks>
162+
<Landmark Name="#1" Position="77.9 -6.0 23.2" />
163+
<Landmark Name="#2" Position="77.9 46.2 22.3" />
164+
<Landmark Name="#3" Position="78.3 53.6 2.9" />
165+
<Landmark Name="#4" Position="69.9 -13.8 3.9" />
166+
167+
<Landmark Name="#5" Position="-14.0 45.3 20.6" />
168+
<Landmark Name="#6" Position="-13.6 -5.5 21.6" />
169+
<Landmark Name="#7" Position="-37.5 10.7 1.6" />
170+
<Landmark Name="#8" Position="-38.1 37.2 1.2" />
171+
</Landmarks>
172+
173+
</Geometry>
174+
</PhantomDefinition>
175+
176+
<VolumeReconstruction OutputSpacing="0.5 0.5 0.5"
177+
ClipRectangleOrigin="0 0" ClipRectangleSize="820 616"
178+
Interpolation="LINEAR" Optimization="FULL" Compounding="On" FillHoles="Off"
179+
/>
180+
181+
182+
<fCal
183+
PhantomModelId="PhantomModel"
184+
ReconstructedVolumeId="Volume"
185+
TransducerModelId="ProbeModel"
186+
StylusModelId="StylusModel"
187+
ImageDisplayableObjectId="LiveImage"
188+
NumberOfCalibrationImagesToAcquire="140"
189+
NumberOfValidationImagesToAcquire="70"
190+
NumberOfStylusCalibrationPointsToAcquire="200"
191+
RecordingIntervalMs="100"
192+
MaxTimeSpentWithProcessingMs="70"
193+
ImageCoordinateFrame="Image"
194+
ProbeCoordinateFrame="Probe"
195+
ReferenceCoordinateFrame="Reference"
196+
TransducerOriginCoordinateFrame="TransducerOrigin"
197+
TransducerOriginPixelCoordinateFrame="TransducerOriginPixel"
198+
TemporalCalibrationDurationSec="10"
199+
DefaultSelectedChannelId="TrackedVideoStream"
200+
/>
201+
202+
203+
<vtkPivotCalibrationAlgo
204+
ObjectMarkerCoordinateFrame="Stylus"
205+
ReferenceCoordinateFrame="Reference"
206+
ObjectPivotPointCoordinateFrame="StylusTip"
207+
/>
208+
209+
210+
<vtkPhantomRegistrationAlgo
211+
PhantomCoordinateFrame="Phantom"
212+
ReferenceCoordinateFrame="Reference"
213+
StylusTipCoordinateFrame="StylusTip"
214+
/>
215+
216+
217+
<vtkProbeCalibrationAlgo
218+
ImageCoordinateFrame="Image"
219+
ProbeCoordinateFrame="Probe"
220+
PhantomCoordinateFrame="Phantom"
221+
ReferenceCoordinateFrame="Reference"
222+
/>
223+
224+
</PlusConfiguration>

0 commit comments

Comments
 (0)