How Does Slicer Handle Image Scaling in Image-to-probe Calibration?

Hi everyone,

We are working with 3D Slicer (version 5.8.1), an OptiTrack V120:Trio, and an Telemed ArtUs for 3D freehand ultrasound acquisition.

We have repeatedly attempted probe calibration using a stylus-based approach as described in this repository:
https://github.com/AurelieSar/3Dultrasound

However, we have not been able to obtain a stable calibration file that supports multiple (rotated) sweeps. As an alternative, we are considering a CAD-based calibration approach and generating the probe rotation/translation matrix manually.

From our understanding, the probe-to-image transform matrix contains a scaling component (mm/pixel), which can be estimated by computing the norm of each column of the 3×3 submatrix. When we inspect scaling factors derived from calibration matrices generated directly in Slicer, we observe values in the range of approximately 0.11–0.15 mm/pixel.

However, when calculating the mm/pixel ratio directly in EchoWave (with our current acquisition settings), we obtain a value of 0.093 mm/pixel.

Our questions are:

  1. How can we determine with certainty what the correct scaling factor should be?

  2. How does Slicer internally handle pixel spacing and scaling during ultrasound calibration?

  3. Is the scaling factor expected to come purely from the ultrasound image spacing metadata, or can it be modified implicitly during the calibration optimization process?

Any clarification on how Slicer manages image spacing and scaling in the probe-to-image transform would be greatly appreciated.

Thank you in advance for your help.