Slicer 5.6: Summary, Highlights, and Changelog

Table of content

Summary

The community of 3D Slicer developers is proud to announce that version 5.6 is now available for download. This release includes support for 3D Segmentation rendering speedup, interactive thick slab reconstruction (TSR), enhanced Endoscopy flythrough and improved support for DICOM regularization transform hardening. It also includes enhancements across core modules and introduces over 5 new extensions, each bringing additional features and improvements.

3D Slicer 5.6 builds on the success of earlier versions that have had over 1.4 million downloads of the core application and 6.8 million downloads of extensions during the last decade.

The development of 3D Slicer—including its numerous modules, extensions, datasets, pull requests, patches, issues reports, suggestions—is made possible by users, developers, contributors and commercial partners around the world. 3D Slicer is based on a stack of open-source software and we are working constantly on updating the underlying packages. This development is funded by various grants and agencies. For more details, please see the 3D Slicer Acknowledgments page.

Feel free to share your insights on Discourse and explore our contributing guidelines. If you need help using Slicer, want to report a problem, request a feature, or share how Slicer has contributed to your work, visit our Get Help section.

slicer.org serves as the central hub for the application, training materials, and the development community, offering a series of tutorials and data sets through the Slicer Tutorials page.

Please note that Slicer continues to be a research package and is not intended for clinical use (clinical users must obtain the necessary ethics or regulatory approvals).

Highlights

This version was released on November 27th, 2023, and the associated git tag is v5.6.0. Information about previous releases can be found on the Release Details page.

image image
Volume rendered RGBA volume created using the Colorize Volume module and a fully segmented rattlesnake are copied from this post. SlicerLiver is an extension for the medical research software 3D Slicer providing tools for analysis, quantification and therapy planning for hepatic interventions. The SlicerExtraMarkups extension adds the Label and Shape markups nodes for respectively drawing an arrow with a text label, or a pre-defined primitive shapes (circle, cone…).
4 Likes

Changelog

Core

Rendering & Display

  • Update Intersection Widget to Display Slab Thickness (PR-7093, PR-7252)
  • Allow display RGBA volume values in DataProbe (PR-7265)

Performance

  • Support 3D rendering of segmentation using Surface Nets (PR-7224)
  • Enable TBB as the default VTK SMP implementation on all platforms (PR-7295)

UI/UX

  • Remove fixed-size buttons in the view controller for better restyling (PR-7219)
  • Improve the readability of error lists in Help -> Report bugs and request enhancements by using a table (PR-7225, PR-7237)
  • Support restoring SliceViewAnnotations enabled state (PR-7176)
  • Fix difficult-to-see slice offset text in Slicer dark mode (PR-7234)

Events

  • Improve Event Delegation in qMRMLThreeDView and qMRMLSliceView (PR-7311)
    • This effort led to the creation and integration of +10 pull requests implementing subsequent refactoring.
    • This enhancement allows for the association of specialized interactor styles, such as vtkOpenXRInteractorStyle or vtkOpenVRInteractorStyle, with the render window while still maintaining MRML-specific event delegation.
  • Ensure remaining application events are processed before exiting (PR-7300)

IO

  • Remove FreeSurfer file extensions from qSlicerModelsReader (PR-7336)

Scripting

  • Add support for qMRMLSliderWidget in parameterNodeWrapper GUI connector (PR-7263)
  • Improve scripted class readability by renaming setPythonSource parameter and associated internal variable (PR-7352)
  • Fix VTK-based object creation in PythonSlicer regardless of import order (PR-7402)
  • Fix incorrect enter/exit called after scripted module reload (PR-7351)
  • Fix parameter node wrapper observers not being removed (PR-7306)

Internationalization/Localization

  • Make the translation update script more robust (PR-7273)
  • Make text in the MRML library translatable (PR-7210)
  • Make Segment Editor effect names translatable (PR-7254)
  • Make +10 more modules translatable (PR-7243)

Developer Documentation

  • Simplify the bug report template (PR-7329)
  • Improve the documentation of obsolete filtering API in SH proxy model (PR-7314)
  • Clarify steps for installing Qt in windows build instructions (PR-7389)
  • Add instructions for setting up the development environment on Ubuntu 23.04 (PR-7371)
  • Eliminate obsolete Doxygen grouping (PR-7421)

Improved Modules

DICOM

  • Support regularization transform hardening in DICOM Scalar plugin (PR-7362)
  • Make DICOM variable spacing warning more informative (PR-7339)
  • Update DICOMUtils.loadPatient() API to handle messages and progressCallback (PR-7330)
  • Expose authentication parameters for DICOMweb networking (PR-7260)
  • Ensure DICOMCommand.start() returns process output (PR-7299)
  • Update CTK to adjust the size of the delete DICOM object dialog (PR-7317)
  • Fix crashes in subject hierarchy and DICOM reading (PR-72)
  • Fix DICOMUtils getSortedImageFiles return value if the input file list is empty (PR-7384)
  • Fix DICOM loading error reporting issue (PR-7263)

CompareVolumes

  • Add docs for CompareVolumes module (PR-7152)
  • Fix developer mode issue with tooltip button (PR-7183)

Endoscopy

  • Endoscopy fly through with user’s camera transforms (PR-7165)
  • Endoscopy Module simplification (PR-7428)

ExtensionWizard

  • Fix ExtensionWizard error message reporting when drag-and-dropping script (PR-7353)

Fiducial Registration module

  • Fix Fiducial Registration module rigid transform changing scale (PR-7255)

Markups

  • Clarify markup renaming behavior (PR-7259)
  • Remove the use of deprecated GetNumberOfMarkups in vtkMRMLMarkupsPlaneNode (PR-7395)

ScreenCapture

  • Simplify single-image capture in ScreenCapture module (PR-7272)

Sequences

  • Make the sequence item creating strategy configurable (PR-7404)
  • AddSynchronizedSequenceNodeID caused the browser to stop operating correctly (PR-7331)
  • Fix nodes not getting removed in vtkMRMLSequenceNode::SetDataNodeAtValue (PR-7335)

Segmentation

  • Show segment ID in the tooltip for segments in subject hierarchy (PR-7229)
  • Make Grow from seeds effect input requirements more clear (PR-7326)
  • Add a setting for the overwrite mode masking option of the segment editor-set (PR-7131) and PR-7265
  • Improve performance when removing segmentation from SH tree (PR-7253)
  • Fix closed surface disappearing when the segment is removed (PR-7226)
  • Fix “Show 3D” button not updating during undo/redo (PR-7248)
  • Fix Segment Editor screen reader compatibility (PR-7263)
  • Resolve del method override issue in AutoComplete segment editor effect (PR-7393)

Subject Hierarchy

  • Empty folder SH visibility (PR-7214)

WebServer

  • Formalize WebServer request handler interface (PR-7350)

Infrastructure

Security

  • Add security policy document (PR-7199)
  • Update Security document to clarify “bug bounty” scope (PR-7223)
  • Add build CI badge to README (PR-7221)
  • Add OSSF scorecard action to quantify open-source health (PR-7197)
  • Update OSSF scorecard workflow to support running Branch-Protection check (PR-7207)
  • Restrict workflow permissions to “read” for the content scope (PR-7200)

Continuous Integration (CI)

  • Transition Python linting from flake8 to ruff (PR-7338)
  • Disambiguate CI workflow names adding “(Build)” and “(Lint)” suffix (PR-7202)
  • Fix “ci” GitHub workflow ensuring Slicer package is uploaded (PR-7249)
  • Update GitHub workflow to remove deprecated use of “::set-output” (PR-7359)

Packaging

  • Use main project version for macOS short version string in the bundle (PR-7271)

Build-System

  • Ensure revision of type CommitCount is always recomputed based on offset (PR-7180)
  • Fix extension packaging on macOS accounting for synthetic firmlink (PR-7181)
  • Expand <CMAKE_CFG_INTDIR> in extension additional launcher settings (PR-7191)
  • Fix extensions build ensuring build-type is set (PR-7247)
  • Remove the use of deprecated ${CMAKE_CFG_INTDIR} variable (PR-7240)

Dependencies

  • Update SimpleITK from 2.2.0rc2 to 2.2.1 to support TotalSegmentator v2 (PR-7427)
  • Update VTK and vtkAddon for ColorizeVolume module in the Sandbox extension (PR-7305)
  • Update VTK to fix RGBA volume rendering (PR-7274)
  • Update VTK to remove unnecessary messages in vtkTransformPolyDataFilter (PR-7227)
  • Update VTK to fix the segfault when enabling volume rendering (PR-7286)
  • Update Python packages to the latest (PR-7285)
  • Update vtkAddon to fix vtkImageLabelDilate3D build on a recent compiler (PR-7307)

OpenXR support

  • Update VTK to support the distribution of OpenXRRemoting in the extension (PR-7190)
  • Update VTK to backport OpenXR error handling improvements (PR-7193)
  • Update VTK backporting RenderingVR and RenderingOpenXR fixes (PR-7195)

Extensions

Listed below are extensions added, removed or updated since the 5.4 release.

The Slicer extensions manager enables Slicer users to install more than 175 extensions written and contributed by their peers from around the world.

New

Colorize Volume Create RGBA volume for volume rendering based of an input volume and a segmentation. Screenshots below representing a fully segmented rattlesnake are copied from this post.
IDCBrowser Explore and access imaging data available from the National Cancer Institute Imaging Data Commons
mpReview Facilitate review and annotation (segmentation) of multi-parametric imaging datasets.
ExtraMarkups Add the Label and Shape markups nodes for respectively drawing an arrow with a text label, or a pre-defined primitive shapes (circle, cone…).
MHubRunner Integrates Deep Learning models from the Medical Hub repository (MHub) into 3D Slicer.
SlicerLiver Provide tools for analysis, quantification and therapy planning for hepatic interventions.

Updated

All the existing extensions have been maintained and updated to account for API and build environment changes.

Removed

Between Slicer 5.4 and Slicer 5.6, no extensions were removed.

List of archived extensions is documented at Slicer/ExtensionsIndex/ARCHIVE/README.md

5 Likes