Back to
Projects List
Updating SlicerSOFA
Key Investigators
- Rafael Palomar (NTNU / OUH, Norway)
- Paul Baksic (Inria, France)
- Steve Pieper (Isomics Inc., USA)
Project Description
SlicerSOFA is a 3D Slicer extension integrating the simulation framework SOFA in 3D Slicer. The extension packages the SOFA-framework, together with SofaPython3 and exposes SOFA to 3D Slicer through Python. In addition, SlicerSOFA provides functionality to connect and transfer data between 3D Slicer objects and SOFA objects. In this project, we plan to update SlicerSOFA to have better cross-platform coverage (currently a macOS version is not available) and work with the latest 3D Slicer and SOFA versions, as well as integrating external execution of simulations through RPyC.
Objective
- โฌ๏ธ Update SlicerSOFA to use SOFA v25.12 (latest available) โ delivered in ๐ PR #60
- ๐งช Update SlicerSOFA to run on the latest 3D Slicer stable and development versions โ in review (๐ PR #60)
- ๐ Fix SlicerSOFA macOS integration โ next
- โ
Enable loading a regular SOFA scene in SlicerSOFA โ delivered via SOFASceneLoader (๐ PR #60)
- ๐ Integrate RPyC external execution โ next
- ๐ Update project documentation โ delivered in ๐ PR #60
Approach and Plan
The core SOFA library will be updated first to its latest version (v25.12) and tested on the latest Slicer (stable+dev). After an updated working version for Windows and GNU/Linux, a fix for macOS will be provided. Finally, a new executor using RPyC will be provided (tests will be performed in external processes (local + remote machine)). The updates and the new additions will be documented.
Progress and Next Steps
โ
Results (PW44)
- โจ New SOFASceneLoader module to open any Python-based SOFA scene exposing
createScene()
- ๐ Added SOFAโ๏ธMRML mapping for polydata topologies
- โฌ๏ธ Updated SOFA core and related plugins to v25.12
- ๐ง Forced CMake minimum version policy on GLEW for reliable builds
- ๐ Documentation updates
๐ All the above are included in: ๐ PR #60
(Previous SOFASceneLoader work: PR #58)
๐ Next steps
- ๐ macOS packaging and integration fixes
- ๐ RPyC executor integration and local/remote testing
- ๐งช CI and validation on latest Slicer stable and nightly
- ๐ Expand documentation and examples
Illustrations
๐ฅ SlicerSOFA .py scene loading demo:
SlicerSOFA.webm
Background and References