Empty instrument name in TrackingSequence

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 TrackingSequences, 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

1 Like