Edit this page

NA-MIC Project Weeks

Back to Projects List

Updating SlicerSOFA

Key Investigators

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

  1. Update SlicerSOFA to use SOFA v25.12 (latest available).
  2. Update SlicerSOFA to run on the latest 3D Slicer stable and development versions.
  3. Fix SlicerSOFA MacOS integration.
  4. Enable to load a regular SOFA Scene in Slicer-SOFA
  5. Integrate RPyC external execution
  6. Update project documentation

Approach and Plan

The core SOFA library will be updated first to it’s latest version (v25.12) and test on the latest Slicer (stable+dev). After an updated working version for Windows and GNU/Linux, a fix for MacOSX will be provided. Finally, a new executor using RPyC will be provided (tests will be performed in external processes (local + remote machine)). Finally, the updates and the new additions will be documented.

Progress and Next Steps

4. Enable to load a regular SOFA Scene in Slicer-SOFA

A new example in Slicer-SOFA has been added called SOFASceneLoader where you can open any python-based sofa scene as long as it has a method called createScene (this is the standard way to open a python scene using runSofa). The PR can be found here : https://github.com/Slicer/SlicerSOFA/pull/58

Illustrations

SlicerSOFA.webm

Background and References

No response