Question about Real-time Ultrasound Volume Reconstruction using SteamVR Tracker

Question:

Overview:

I am planning to perform ultrasound volume reconstruction using a SteamVR-compatible tracker.
Currently, I have successfully used pyigtl to send tracking data to Slicer, and Slicer receives it as a Transform node.


Problems I want to solve:

(1) Issue with Volume Reslice Driver Settings

  • I set the Red slice driver of the Volume Reslice Driver to the transform node from the tracker (Tracker_reference) and set the mode to "Transverse". However, only a single line appears on the screen.
  • On the other hand, if I apply the Tracker_reference directly to the Image, the image is displayed (see the attached screenshot).
  • In various real-time ultrasound reconstruction tutorials, I did not find any mention of needing to apply the transform to the Image itself.
  • Is this procedure correct?
    If it is incorrect, could you please advise on the correct way to configure it?

(2) Changing the Reference Point of the Transform

  • As shown in the attached image, when I apply the tracker-derived Transform node (Tracker_reference), the origin (0,0,0) of the transform node is aligned with Slicer’s global origin.
  • However, I would like the center of the transform to be the center of the ultrasound probe (the second tracker center position in the image).
  • Is it possible to shift the reference point of the transform?
    If so, how can I achieve this?

Things I have tried:

I attempted to nest the transform nodes in the following structure:

pgsql

コピーする編集する

Tracker_reference
|
|_ Transform_0 (A transform to move Tracker_reference to the upper center of the Image, which is intended to represent the center of the probe)
   |
   |_ Image (The volume I want to manipulate)

However, even with this setup, when I activate the Volume Reslice Driver, Tracker_reference still behaves as if its reference point is at the lower left center of the screen, which is not the intended behavior.


Environment Information:

  • Slicer Version: 5.8.0
  • Extensions Used: OpenIGTLink, SlicerIGT, etc.
  • OpenIGTLink / pyigtl Version: (if applicable, please specify)
  • Tutorials or References Used: (if applicable, please provide links)
  • Other Settings or Attempts: As described above

I truly appreciate your time in reading my post and any insights or advice you can provide.
Your expertise and support mean a lot, and I am grateful for this amazing community that makes learning and problem-solving so much easier.

Thank you in advance!