A ROS2-based software tool for intraoperative visualization of the prostate gland and clinician-guided biopsy target selection. The software renders a three-dimensional prostate model reconstructed from robotic ultrasound sweep data, displays corresponding ultrasound slices, and allows the clinician to pick and confirm biopsy target locations. It is part of the PRONOBIS autonomous robotic prostate biopsy platform.
- 3D Visualization: Renders a three-dimensional model of the prostate reconstructed from ultrasound sweep contours and robot positional data.
- Slice viewer: Displays individual 2D ultrasound frames from the sweep alongside the 3D model for anatomical reference.
- Target picking: Enables the clinician to select and confirm biopsy target locations on the reconstructed model.
- ROS2 integration: Subscribes to robot pose and ultrasound image topics for real-time data ingestion.
This software is tested on Ubuntu 22.04 with ROS2 humble with Python 3.10.12. Programs are placed in the src folder.
Clone the repository into your ROS2 workspace and move to the workspace root:
git clone git@github.com:CRTA-Lab/vtk.git
cd vtkIt is recommended to install needed dependacies in a virtual enviorenment. Create it with:
python3 -m venv .venv/and then activate the enviorenment:
source .venv/bin/activateInstall Python dependencies listed in requirements.txt.
pip install -r requirements.txtSource ros2 and local setup in your terminal. Build project.
source /opt/ros/humble/setup.bash
colcon build --symlink-install
source install/local_setup.bashNote
You need to source your ros2 packages each time you activate your virtual enviorenment. To skip this step you can add all of the source comands to the end of venv activate script.
Tip
We ran into problem with PyQT not being able to find all of its plugins, to solve that we added following line to the end of venv activate script
export PYTHONNOUSERSITE=1
Run the script.
ros2 run targeting lesion_targeting- Complete a robotic ultrasound sweep using the PRONOBIS platform.
- Launch the visualization node - the 3D prostate model is reconstructed automatically from the sweep data.
- Use the graphical interface to inspect ultrasound slices and navigate the 3D model.
- Click on the model to select biopsy target locations.
- Confirm targets — the robot will align the probe and targeting mechanism accordingly.
- Currently validated on anatomically realistic medical phantoms only; clinical validation is ongoing.
- 3D reconstruction assumes a standardized rotational sweep; freehand sweep data is not yet supported.
This module is part of the PRONOBIS project, one of CRTA's (Regional Center of Excellence for Robotic Technology) projects. Please check out the project website as well as CRTA website in order to learn more. Reach out to us if you would like to collaborate.

