Is it possible to save a USSweep Recording as an .mha file?

Hi,

I was wondering if it is possible to save an ultrasound sweep as an .mha file, similar to a the file format used when importing a “freehand Ultrasound file” in ImFusion? I need to use the saved file with PLUS toolkit afterwards.

In case that is not possible, can you help me figure out how I can use imfusion to correctly calibrate and then compound a volume that was recorded using slicer with its plugins?
I have the config file that looks like this (and not that much experience with slicer):

<PlusConfiguration version="2.3" PlusRevision="Plus-2.1.2.3840 - Win64">
  <DataCollection StartupDelaySec="1">
    <DeviceSet Name="slicer1 calibration depth55" Description="slicer Hitachi Avius TRUS probe for prostate imaging; Startech framegrabber image acquisition via wmf + NDI Polaris for tracking - slicer with bed and server" />
    <Device
      Id="TrackerDevice"
      Type="PolarisTracker"
      SerialPort="4"
      BaudRate="115200"
      AcquisitionRate="20"
      LocalTimeOffsetSec="0"
      ToolReferenceFrame="Tracker">
      <DataSources>
        <DataSource
          Type="Tool"
          Id="Reference"
          PortName="4"
          RomFile="NdiToolDefinitions\8700339.rom"
          AveragedItemsForFiltering="20"
          BufferSize="500" />
        <DataSource
          Type="Tool"
          Id="Stylus"
          PortName="5"
          RomFile="NdiToolDefinitions\8700340.rom"
          AveragedItemsForFiltering="20"
          BufferSize="500" />
        <DataSource
          Type="Tool"
          Id="Probe"
          PortName="6"
          RomFile="NdiToolDefinitions\SELapProbeTarget.rom"
          AveragedItemsForFiltering="20"
          BufferSize="500" />
      </DataSources>
      <OutputChannels>
        <OutputChannel Id="TrackerStream">
          <DataSource Id="Probe" />
          <DataSource Id="Reference" />
          <DataSource Id="Stylus" />
        </OutputChannel>
      </OutputChannels>
    </Device>
    <Device
      Id="VideoDevice"
      Type="MmfVideo"
      AcquisitionRate="30"
      FrameSize="1280 1024"
      VideoFormat="YUY2"
      ClipRectangleOrigin="448 100"
      ClipRectangleSize="382 500"
      CaptureDeviceId="0"
      LocalTimeOffsetSec="-0.265809">
      <DataSources>
        <DataSource Type="Video" Id="Video" PortUsImageOrientation="MN" BufferSize="125" AveragedItemsForFiltering="20" />
      </DataSources>
      <OutputChannels>
        <OutputChannel Id="VideoStream" VideoDataSourceId="Video" />
      </OutputChannels>
    </Device>
    <Device Id="TrackedVideoDevice" Type="VirtualMixer">
      <InputChannels>
        <InputChannel Id="TrackerStream" />
        <InputChannel Id="VideoStream" />
      </InputChannels>
      <OutputChannels>
        <OutputChannel Id="TrackedVideoStream" />
      </OutputChannels>
    </Device>
  </DataCollection>
  <Rendering WorldCoordinateFrame="Tracker" DisplayedImageOrientation="MN">
    <DisplayableObject Type="Model" ObjectCoordinateFrame="StylusTip" Id="StylusModel" File="Stylus_Example.stl"
      ModelToObjectTransform="
        1	0	0	-210
        0	1	0	0
        0	0	1	0
        0	0	0	1" />
    <DisplayableObject
      Id="PhantomModel"
      Type="Model"
      ObjectCoordinateFrame="Phantom"
      Opacity="0.6"
      File="fCal_3.1.stl"
      ModelToObjectTransform="
        1	0	0	-35
        0	1	0	-10
        0	0	1	-5
        0	0	0	1" />
    <xDisplayableObject Type="Image" ObjectCoordinateFrame="Image" Id="LiveImage" />
  </Rendering>
  <CoordinateDefinitions>
    <Transform From="FanCenter" To="Image"
      Matrix="
        1	0	0	650
        0	1	0	375
        0	0	1	0
        0	0	0	1"
       Date="061614_134315" />
    <Transform From="Image" To="Probe"
      Matrix="
        0.01	-0.11	-0.01	-159.61
        0.01	0.01	-0.11	-12.13
        0.11	0.01	0.01	-128.94
        0	0	0	1"
       Date="102814_140005" />
    <Transform From="Needle1" To="Image"
      Matrix="
        1	0	0	518
        0	1	0	451
        0	0	1	0
        0	0	0	1"
       Date="061614_135401" />
    <Transform From="Needle2" To="Image"
      Matrix="
        1	0	0	525
        0	1	0	700
        0	0	1	0
        0	0	0	1"
       Date="061614_135401" />
    <Transform From="Phantom" To="Reference"
      Matrix="
        -0.0571189	0.0204642	0.998158	-99.8429
        0.998362	0.00459566	0.0570364	26.2209
        -0.00341999	0.99978	-0.0206932	24.4181
        0	0	0	1"
       Error="0.635785" Date="060214_154053" />
    <Transform From="Reference" To="Bed"
      Matrix="
        0	-1	0	0
        0	0	1	0
        -1	0	0	0
        0	0	0	1"
       Date="061014_135800" />
    <Transform From="StylusTip" To="Stylus"
      Matrix="
        -0.121916	0.000692834	0.99254	-19.576
        0.00568278	0.999984	0	0.912481
        -0.992524	0.00564039	-0.121918	-159.369
        0	0	0	1"
       Error="0.26685" Date="041714_155202" />
    <Transform From="TransducerOriginPixel" To="TransducerOrigin"
      Matrix="
        0.116703	0	0	0
        0	0.126069	0	0
        0	0	0.121431	0
        0	0	0	1"
       Date="071714_143405" />
  </CoordinateDefinitions>
  <Segmentation
    ApproximateSpacingMmPerPixel="0.114712"
    MorphologicalOpeningCircleRadiusMm="0.17"
    MorphologicalOpeningBarSizeMm="1"
    ClipRectangleOrigin="411 480"
    ClipRectangleSize="507 393"
    MaxLinePairDistanceErrorPercent="10"
    AngleToleranceDegrees="10"
    MaxAngleDifferenceDegrees="10"
    MinThetaDegrees="-70"
    MaxThetaDegrees="70"
    MaxLineShiftMm="10"
    ThresholdImagePercent="15"
    CollinearPointsMaxDistanceFromLineMm="0.6"
    UseOriginalImageIntensityForDotIntensityScore="0"
    NumberOfMaximumFiducialPointCandidates="9" />
  <PhantomDefinition>
    <Description Name="fCAL" Type="Triple-N" Version="3.0" WiringVersion="1.0" Institution="IFL TUM" />
    <Geometry>
      <Pattern Type="NWire">
        <Wire Name="7:G6_g6" EndPointFront="60.0 0.0 0.0" EndPointBack="60.0 40.0 0.0" />
        <Wire Name="8:J6_g6" EndPointFront="90.0 0.0 0.0" EndPointBack="60.0 40.0 0.0" />
        <Wire Name="9:J6_j6" EndPointFront="90.0 0.0 0.0" EndPointBack="90.0 40.0 0.0" />
      </Pattern>
      <Pattern Type="NWire">
        <Wire Name="4:G7_g7" EndPointFront="60.0 0.0 -10.0" EndPointBack="60.0 40.0 -10.0" />
        <Wire Name="5:G7_j7" EndPointFront="60.0 0.0 -10.0" EndPointBack="90.0 40.0 -10.0" />
        <Wire Name="6:J7_j7" EndPointFront="90.0 0.0 -10.0" EndPointBack="90.0 40.0 -10.0" />
      </Pattern>
      <Pattern Type="NWire">
        <Wire Name="1:H8_h8" EndPointFront="70.0 0.0 -20.0" EndPointBack="70.0 40.0 -20.0" />
        <Wire Name="2:J8_h8" EndPointFront="90.0 0.0 -20.0" EndPointBack="70.0 40.0 -20.0" />
        <Wire Name="3:J8_j8" EndPointFront="90.0 0.0 -20.0" EndPointBack="90.0 40.0 -20.0" />
      </Pattern>
      <Landmarks>
        <Landmark Name="#1" Position="186 -5.0 35.5" />
        <Landmark Name="#2" Position="186 -5.0 -19.5" />
        <Landmark Name="#3" Position="186 -5.0 -94.5" />
        <Landmark Name="#4" Position="186 45.0 40.5" />
        <Landmark Name="#5" Position="186 45.0 10.5" />
        <Landmark Name="#6" Position="186 45.0 -94.5" />
        <Landmark Name="#7" Position="-32.3 45.0 40.5" />
        <Landmark Name="#8" Position="-32.3 45.0 10.5" />
        <Landmark Name="#9" Position="-32.3 45.0 -94.5" />
        <Landmark Name="#10" Position="-32.5 -5.0 40.5" />
        <Landmark Name="#11" Position="-32.5 -5.0 -19.5" />
        <Landmark Name="#12" Position="-32.9 -5.0 -84.5" />
      </Landmarks>
    </Geometry>
  </PhantomDefinition>
  <VolumeReconstruction
    ImageCoordinateFrame="Image"
    ReferenceCoordinateFrame="Bed"
    OutputSpacing="0.5 0.5 0.5"
    ClipRectangleOrigin="255 380"
    ClipRectangleSize="780 534"
    FanAnglesDeg="-70 70"
    FanOriginPixel="640 380"
    FanRadiusStartPixel="105"
    FanRadiusEndPixel="700"
    Interpolation="LINEAR"
    Optimization="FULL"
    Compounding="ON"
    FillHoles="ON"
    NumberofThreads="1">
    <HoleFilling>
      <HoleFillingElement Type="GAUSSIAN_ACCUMULATION" Size="3" Stdev="0.5" MinimumKnownVoxelsRatio="0.5" />
    </HoleFilling>
  </VolumeReconstruction>
  <PlusOpenIGTLinkServer MaxNumberOfIgtlMessagesToSend="10" MaxTimeSpentWithProcessingMs="10" ListeningPort="18944" SendValidTransformsOnly="true" OutputChannelId="TrackedVideoStream">
    <DefaultClientInfo>
      <MessageTypes>
        <Message Type="TRANSFORM" />
      </MessageTypes>
      <TransformNames>
        <Transform Name="ProbeToBed" />
        <Transform Name="ImageToProbe" />
        <Transform Name="FanCenterToImage" />
        <Transform Name="Needle1ToImage" />
        <Transform Name="Needle2ToImage" />
      </TransformNames>
    </DefaultClientInfo>
  </PlusOpenIGTLinkServer>
  <fCal
    PhantomModelId="PhantomModel"
    ReconstructedVolumeId="Volume"
    TransducerModelId="ProbeModel"
    StylusModelId="StylusModel"
    ImageDisplayableObjectId="LiveImage"
    NumberOfCalibrationImagesToAcquire="100"
    NumberOfValidationImagesToAcquire="50"
    NumberOfStylusCalibrationPointsToAcquire="200"
    RecordingIntervalMs="100"
    MaxTimeSpentWithProcessingMs="30"
    ImageCoordinateFrame="Image"
    ProbeCoordinateFrame="Probe"
    ReferenceCoordinateFrame="Bed"
    TransducerOriginCoordinateFrame="TransducerOrigin"
    TransducerOriginPixelCoordinateFrame="TransducerOriginPixel"
    TemporalCalibrationDurationSec="10"
    DefaultSelectedChannelId="TrackedVideoStream" />
  <vtkPivotCalibrationAlgo ObjectMarkerCoordinateFrame="Stylus" ReferenceCoordinateFrame="Reference" ObjectPivotPointCoordinateFrame="StylusTip" />
  <vtkPhantomLandmarkRegistrationAlgo PhantomCoordinateFrame="Phantom" ReferenceCoordinateFrame="Reference" StylusTipCoordinateFrame="StylusTip" />
  <vtkProbeCalibrationAlgo ImageCoordinateFrame="Image" ProbeCoordinateFrame="Probe" PhantomCoordinateFrame="Phantom" ReferenceCoordinateFrame="Reference" />
</PlusConfiguration>

Please let me know if further information is needed. Unfortunately, I can not share the sweep bc of data privacy issues.
Many thanks,
Farid