Hello,
I’m generating ultrasound sweeps recordings with ImFusion Suite 3.11.21 and an NDI Vega.
When I post-process these files using the Python SDK I get an empty instrument_name
for the TrackingSequence
s, even though the instruments have a name in the NDI Tracking controller.
I also have imf files for sweeps generated in 2022 using ImFusion Suite 2.37.18, and these have an instrument_name
set as expected when reading them with the Python SDK.
Here is the workspace file I’m using, expecting to have instruments named “DeskiTopFace” and “DeskiReferencePatientA”.
<?xml version="1.0" encoding="utf-8"?>
<propertyfile version="1.1" name="" comment="Written by imfusion-configuration">
<param name="workspaceVersion">26</param>
<property name="Datasets">
</property>
<property name="Interface">
<param name="outputUids">"tracking_stream" "ultrasound_stream"</param>
<param name="inputUids"></param>
</property>
<property name="Algorithms">
<property name="VideoForLinux.VideoForLinux.Stream">
<param name="name"/>
<param name="path">/dev/video4</param>
<param name="format">842093913</param>
<param name="grayscale">0</param>
<param name="resolution">1600 2560 </param>
<param name="execute">1</param>
<param name="keepControllerOpen">1</param>
<param name="inputUids"/>
<param name="outputUids">"scrcpy_stream" </param>
</property>
<property name="LiveUS.ProcessUltrasoundStream">
<param name="execute">1</param>
<param name="keepControllerOpen">1</param>
<param name="inputUids">"scrcpy_stream" </param>
<param name="outputUids">"ultrasound_stream" </param>
<property name="processing">
<property name="parameters">
<param name="applyCrop">1</param>
<param name="applyMask">1</param>
<param name="applyDepth">1</param>
<param name="depth">150</param>
<param name="removeColorThreshold">0</param>
<param name="inpaint">0</param>
<param name="extraCrop">50 50 0 0 </param>
<param name="extraCropAbsolute">1</param>
<property name="frameGeometry">
<property name="FrameGeometrySector">
<param name="offset">799.5 152.006134969325 </param>
<param name="isTopDown">1</param>
<param name="indicatorPosition">0</param>
<param name="coordinateSystem">0</param>
<param name="shortRadius">13.2407656571757</param>
<param name="longRadius">1552.37797036251</param>
<param name="openingAngle">39.3945104659087</param>
<param name="bottomCurvature">0.898944057728181</param>
<property name="imgDesc">
<param name="type">5121</param>
<param name="width">1600</param>
<param name="height">2560</param>
<param name="slices">1</param>
<param name="channels">3</param>
<param name="shift">0</param>
<param name="scale">1</param>
<param name="spacing">1 1 1 </param>
<param name="metric">0</param>
</property>
</property>
</property>
</property>
</property>
</property>
<property name="NDITracking.PolarisAuroraTrackingStream">
<param name="systemType">1</param>
<param name="measurementRate">5</param>
<param name="maxRange">0</param>
<param name="selectedDevice">0</param>
<param name="startAfterInit">0</param>
<param name="blockingInit">0</param>
<param name="connectionType">0</param>
<param name="hardwareDevice">169.254.6.51</param>
<param name="hardwarePort">8765</param>
<param name="binaryQueryMode">1</param>
<param name="connect">1</param>
<param name="execute">1</param>
<param name="start">1</param>
<param name="keepControllerOpen">1</param>
<param name="inputUids"></param>
<param name="outputUids">"tracking_stream" </param>
<property name="TrackingTargets">
<property name="DeskiTopFace">
<param name="Path">/home/hugo/Downloads/ImFusion/imfusion-configuration/definition_files/deski_polaris_rigid_body_3.rom</param>
<param name="Port">0</param>
</property>
<property name="DeskiReferencePatientA">
<param name="Path">/home/hugo/Downloads/ImFusion/imfusion-configuration/definition_files/radix_parasternal_or_apical_patient.rom</param>
<param name="Port">0</param>
</property>
</property>
</property>
<property name="LiveUS.SweepRecorder">
<param name="useDeviceTracking">0</param>
<param name="useDeviceImages">0</param>
<param name="savePath">/home/hugo/Downloads/ImFusionSave/20241112-110314</param>
<param name="saveToFile">1</param>
<param name="saveAsDicom">0</param>
<param name="numberOfDataToKeep">1</param>
<param name="compress">0</param>
<param name="autoSave">1</param>
<param name="timeLimit">0</param>
<param name="systemMemLimit">0</param>
<param name="imageSamplesLimit">0</param>
<param name="trackingSamplesLimit">0</param>
<param name="recordedBytesLimit">0</param>
<param name="dataCombinationMode">1</param>
<param name="trackingQualityThreshold">0.2</param>
<param name="stopOnImageSizeChanged">1</param>
<param name="stopOnDeviceListChanged">1</param>
<param name="recordBothTimestamps">1</param>
<param name="relativeTracking">0</param>
<param name="relativeTrackingID"></param>
<param name="liveStreamRecording">0</param>
<param name="inputUids">"ultrasound_stream" "tracking_stream" </param>
<param name="outputUids"></param>
<property name="CalibrationData">
<param name="forceEmptyProbe">0</param>
<property name="Calibration">
<param name="depth">150</param>
<param name="mat">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</param>
<property name="ProbeTracker">
<param name="probe"/>
<param name="trackerID">DeskiTopFace</param>
</property>
</property>
</property>
</property>
</property>
</propertyfile>
Is there something I should change to make it work, or an alternative way to identify the tracking sequences in my python code ?
Thanks