Change US/Tracking Probe Models

Hello ImFusion team,

I’m using your suite to do some exploratory ultrasound/tracking work. I would like to swap out the default ultrasound/tracking probes to models of the actual probes I am using.

For example, I want to remove this white abdomen ultrasound probe, and display a 3D model of my probe instead.

Am I able to upload an STL or object file somewhere so that I can display the probe I want in the suite? If so, how?

Thanks!

You can load a custom mesh when using a workspace.

In your workspace file, in the LiveUS.SweepRecorder, add a probeModelPath parameter with the path to your file.
Eg:

<property name="LiveUS.SweepRecorder">
    ...
    <param name="probeModelPath">C:/path/to/mesh.obj</param>
    ...
</property>

Supported file types are ply, stl, obj, etc. If you can load the mesh in the Suite with drag&drop, you can use it as a probe mesh.

This is the expected orientation of the mesh:

Hello Martin!

Thank you very much! This was incredibly helpful. I now have my personal probes in the suite.

A further question, I’m using an NDI Aurora Tracker to locate my probes in space. In one of my probes, the angle of the NDI sensor is embedded at a 40 degree angle, rather than being parallel to any of the axes. Is there a way to accommodate for this in the Suite? As in, can I adjust the probe model orientation isolated from the sensor? I’ve tried updating the calibration in the “Tracking Stream Properties” table, but it seems to be adjusting both the sensor and probe model, rather than adjusting the probe model against the sensor.

Here’s a very rudimentary illustration of my probe. The yellow shows the sensor and its angle, the gray is the ultrasound window, and the black is the body of the probe itself.:

Ah, given the structure of your probe, you should make sure the model represents it correctly.
The most critical part is having the orientation of the US frame where it should be.

This is the orientation for the US linear probe:

In your case, you would have a probe like this:


The red dot indicates the origin of the probe mesh, as well as the source of the US frame, centered in the XY plane, Z=0.

The probe mesh will follow the US frame. This is because the US frame is “originating” from your US window (gray).

As for the tracking + calibration, that would be the matrix relating the tracking space and the US frame space. It’s the white transformation C shown in:


Your tracker coordinate system will be arbitrarily defined by your sensor and its pose. The task of calibrating would be to find this C matrix.

Thank you for the response!

One final question (…for now): can I change the color of the probes in the suite?

There’s currently no way to change the probe color in the Suite.

From the SDK you could access the probe mesh via the SweepRecorderController:

  • SweepRecorderController::probeRenderer()
  • ProbeRenderer::probeGlMesh()
  • GlMesh::setColor()
1 Like