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
andqMRMLSliceView
(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
orvtkOpenVRInteractorStyle
, 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
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.
-
TotalSegmentator: Now compatible with TotalSegmentator v2.
-
Slicer Pipeline: Now supports passing any number of parameters and nodes through any number of stages and include these values in the result set.
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