Dear Slicer and Plus Toolkit Community,
I am currently working on a project for real-time 3D ultrasound reconstruction. My work is largely guided by the excellent tutorials provided by the developers of 3D Slicer and the Plus Toolkit.
Project Background:
The unique feature of my project is the use of an IMU (Inertial Measurement Unit) to track the ultrasound probe. I understand that IMU-only tracking comes with significant challenges, such as noise and drift, compared to optical tracking systems. However, I have chosen to adopt IMU tracking due to the following reasons:
- Cost and Size Advantages: Using an IMU reduces both the cost and the physical footprint of the tracking system.
- Upcoming High-Performance IMU: There is a new IMU, compatible with Sony’s Spresense microcontroller board, that is expected to offer high precision and low noise (details here). My goal is to explore whether this new IMU can enable standalone tracking for ultrasound applications.
Current Challenges:
The primary issue I am facing is that the current Plus Server does not natively support the Spresense board, and there is no existing configuration file for it. I have started developing custom code to address this. Currently:
- The Plus Server successfully recognizes the serial port (COM) from Spresense.
- 3D Slicer listens on port 18944.
- However, the expected Transform nodes are not automatically created in Slicer.
Seeking Advice:
At this stage, I am considering two potential approaches to move forward:
- Custom Serial Communication via Plus Server: Develop a sketch for Spresense to output IMU data in a format suitable for Plus Server to process and relay as Transform nodes to Slicer.
- Utilize ROS2 with Slicer-ROS2 Integration: Since Spresense supports microROS, I could implement ROS2-based communication to handle Transform data exchange directly with Slicer.
Environment:
I am using a Windows 10 64-bit machine for development. While I primarily work directly on Windows, I also have access to WSL2 and Docker if they could be advantageous for this project.
I would greatly appreciate your insights or recommendations on which approach might be more suitable, or if there are other paths I should consider.
Thank you in advance for your time and guidance.
Best regards,
Masatoshi Oba