Skip to content
Andras Lasso edited this page Jan 7, 2023 · 13 revisions

3D Slicer roadmap

This is a work in progress. Somewhat inspired by how vscode teams manages its roadmap.

  • Improve usability
    • Make simple things simple and complex things possible.
    • 🏃 Implement internationalization infrastructure, provide localization in English, French, and Spanish - see https://github.com/Slicer/Slicer/labels/domain%3Ai18n
    • Add global undo/redo
    • Clean up scene view (make it only store display properties; use sequence nodes for storing old states of nodes)
    • 🏃 Move documentation from wiki to readthedocs
  • Improve visual appearance
    • Utilize VTK's new rendering features (PBR)
    • Improve markups appearance (anti-aliasing, movable labels, ...)
    • 🏃 Improve dark mode (#5135, #5185, #5114)
    • 🏃 Improve icons (make their style more consistent, higher resolution)
  • Improve extensions infrastructure
    • Upgrade extensions server with more modern and faster backend - completed October 2021
  • Reduce and simplify Slicer core source code.
    • Remove rarely used or obsolete features. This reduces maintenance and support workload, giving more time to focus on other features.
      • Retire Annotations module (replaced by Markups, Screen Capture, Scene views)
        • Deprecate Annotations module - April 2021
        • 🏃 Update all Slicer core modules to work with markups module - https://1drv.ms/x/s!Arm_AFxB9yqHydRUBei9oHHGcSpSVA?e=9U03cR
        • Update all Slicer core modules to create markups node by default - May 2022
        • Remove Annotations module, convert annotations node to markups node when loading data from file - January 2023
      • Retire MultiVolume module (replaced by Sequences)
        • Implement intensity-time curve plots for multiple volume sequences
        • Implement intensity-time curve plots for regions defined by segmentation (https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#plot-segments-average-intensity-over-time)
        • Add utility functions to get 4D volume as a single numpy array and create volume sequence from 4D numpy array
        • Create volume sequences by default when importing DICOM data
        • Update MultiVolume importer to create volume sequences by default instead of multivolume - July 2021
        • Remove MultiVolume explorer module, convert multivolume node to sequence node automatically when loading legacy scene - July 2022
      • Remove Editor module (replaced by Segment Editor module) - 2021-11-05
      • Remove Charts module (replaced by Plots module) - 2021-11-05
      • Remove lightbox view mode (very limited compared to multiple views; replaced by lightbox mode in Screen Capture module) - July 2021
    • Move non-essential features to extensions.
    • Use VTK oriented image data everywhere
  • Code refactoring (for better robustness and maintainability)
    • Rework DataProbe (it should use displayable manager, allow other modules to add corner annotations, and probably at least partially ported to C++)
  • Be more friendly to Python users
    • Make it possible to use Slicer features from any Python environment
    • Make auto-complete, documentation, type information available for Python IDEs
  • Improve surface modeling
    • Create "Model Editor" module: Similar to Segment Editor, but for models. It will use Dynamic Modeler tool as backend.
    • Boolean surface operations: Add vtkbool-based Boolean mesh operations to Dynamic Modeler module. Combine Models module is now available in Sandbox extension as a preview.

Slicer5 roadmap has many items common with this roadmap. Content of that roadmap and relevant Slicer Labs pages will be moved to this wiki.