PlusServerLauncher log displaying error concerning loading Echowave US settings

Hi everyone

We’re currently performing the 3D freehand ultrasound setup with 3D slicer (5.6.2), optitrack V120 trio (motive 3.1.0), echowowave 4.2.2 (Telemed Artus and LF11 probe) and PlusApp-2.9.0.20251014-Telemed-Win64 in our lab.

When launching the plus server, we’re able to succesfully connect all devices. However, when looking at the log we noticed an error when plus tries to read the ultrasound parameters:

|ERROR|341.926000|SERVER> Invalid key request sent to vtkPlusParameters::IsSet – FrequencyMhz| in D:\a\PlusLib\PlusLib\build\PlusLib\src\PlusDataCollection\vtkPlusParameters.cxx(150)

|ERROR|341.966000|SERVER> Invalid key request sent to vtkPlusParameters::IsSet – GainPercent| in D:\a\PlusLib\PlusLib\build\PlusLib\src\PlusDataCollection\vtkPlusParameters.cxx(150)

|ERROR|341.967000|SERVER> Invalid key request sent to vtkPlusParameters::IsSet – DynRangeDb| in D:\a\PlusLib\PlusLib\build\PlusLib\src\PlusDataCollection\vtkPlusParameters.cxx(150)

|ERROR|341.967000|SERVER> Invalid key request sent to vtkPlusParameters::IsSet – PowerDb| in D:\a\PlusLib\PlusLib\build\PlusLib\src\PlusDataCollection\vtkPlusParameters.cxx(150)

|ERROR|341.967000|SERVER> Invalid key request sent to vtkPlusParameters::IsSet – FocusDepthPercent| in D:\a\PlusLib\PlusLib\build\PlusLib\src\PlusDataCollection\vtkPlusParameters.cxx(150)

In the code lines afterwards, it looks like it’s finding the corrsponding parameters:

|INFO|329.222000|SERVER> Setting US parameter DepthMm=60

|INFO|341.967000|SERVER> Setting US parameter FrequencyMhz=9

|INFO|341.968000|SERVER> Setting US parameter DepthMm=60

|INFO|341.968000|SERVER> Setting US parameter GainPercent=60

|INFO|341.968000|SERVER> Setting US parameter DynRangeDb=78

|INFO|341.968000|SERVER> Setting US parameter PowerDb=0

|INFO|341.968000|SERVER> Setting US parameter FocusDepthPercent=60

All parameters do correspond with the ones set in echowave, except for the FocusDepthPercent. We set the focus at 20mm with a scanning depth of 60mm. I tried changing the parameter in echowave, running plus and echowave together and adding the FocusDepthPercent parameter in the xml file, but it never seems to be changing correctly in the log. For instance, when I disconnect en reconnect a couple of time without changing anything, this parameter does change (60, 40, 80, 66.667).

Can anyone explain me:

  • Why the errors display in the log and how I can resolve them or does it even matter?
  • If echowave needs to be running while launching plus or not
  • If it’s correct that plus just read the last saved parameters from echowave
  • what is the parameter FocusDepthPercent really doing and why does it seem to change unexpectedly?

Our xml file code:

<!-- Optitrack Configuration -->
<Device Id="TrackerDevice" Type="OptiTrack" ToolReferenceFrame="Tracker" Calibration="N/A" Profile="motiveprofilefile.xml" ProjectFile="motiveprofilefile.xml" AttachToRunningMotive="TRUE" MotiveDataDescriptionsUpdateTimeSec="1.0" LocalTimeOffsetSec="0.2566"> <!-- change LocalTimeOffsetSec="0.2566" to value obtained in temporal calib, add (gpt) Calibration="N/A" to line -->
  <DataSources>
    <DataSource Type="Tool" Id="Stylus" BufferSize="150" />
    <DataSource Type="Tool" Id="Probe" BufferSize="150" />
  </DataSources>
  <OutputChannels>
    <OutputChannel Id="TrackerStream">
      <DataSource Type="Tool" Id="Stylus" /> <!-- everyting with stylus can be deleted for accuistion file -->
      <DataSource Type="Tool" Id="Probe" />
    </OutputChannel>
  </OutputChannels>
</Device>

<!-- Telemed Configuration -->
<Device Id="VideoDevice" Type="TelemedVideo" DepthMm="60"> <!-- added depth setting to this line -->
  <DataSources>
    <DataSource Type="Video" Id="Video" PortUsImageOrientation="UN" />
  </DataSources>
  <OutputChannels>
    <OutputChannel Id="VideoStream" VideoDataSourceId="Video" />
  </OutputChannels>
</Device>

<!-- Caputre Decvice Configuration -->
<Device Id="CaptureDevice" Type="VirtualCapture" BaseFilename="RecordingTest.igs.mha" EnableCapturingOnStart="FALSE">
  <InputChannels>
    <InputChannel Id="VideoStream" />
  </InputChannels>
</Device>

<!-- Video and Optitrack Mixer -->
<Device Id="TrackedVideoDevice" Type="VirtualMixer">
  <InputChannels>
    <InputChannel Id="TrackerStream" />
    <InputChannel Id="VideoStream" />
  </InputChannels>
  <OutputChannels>
    <OutputChannel Id="TrackedVideoStream" />
  </OutputChannels>
</Device>

Thank you in advance!