# Slicer 5.6: Summary, Highlights, and Changelog

**URL:** <https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140>\
**Category:** Release Notes\
**Created:** [November 30, 2023, 8:50am UTC](https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140 "2023-11-30T08:50:54Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [November 30, 2023, 8:51am UTC](https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140/2 "2023-11-30T08:51:17Z")

</div>

# Changelog

- [Core](#heading--core)
  - [Rendering & Display](#heading--rendering-display)
  - [Performance](#heading--performance)
  - [UI/UX](#heading--ui-ux)
  - [Events](#heading--events)
  - [IO](#heading--io)
  - [Scripting](#heading--scripting)
  - [Internationalization/Localization](#heading--internationalization-localization)
  - [Developer Documentation](#heading--developer-documentation)

- [Improved Modules](#heading--improved-modules)
  - [DICOM](#heading--dicom)
  - [CompareVolumes](#heading--comparevolumes)
  - [Endoscopy](#heading--endoscopy)
  - [ExtensionWizard](#heading--extensionwizard)
  - [Fiducial Registration module](#heading--fiducial-registration-module)
  - [Markups](#heading--markups)
  - [ScreenCapture](#heading--screencapture)
  - [Sequences](#heading--sequences)
  - [Segmentation](#heading--segmentation)
  - [Subject Hierarchy](#heading--subject-hierarchy)
  - [WebServer](#heading--webserver)

- [Infrastructure](#heading--infrastructure)
  - [Security](#heading--security)
  - [Continuous Integration (CI)](#heading--continuous-integration-ci)
  - [Packaging](#heading--packaging)
  - [Build-System](#heading--build-system)
  - [Dependencies](#heading--dependencies)
  - [OpenXR support](#heading--openxr-support)

- [Extensions](#heading--extensions)
  - [New](#heading--new)
  - [Updated](#heading--updated)
  - [Removed](#heading--removed)

## Core

### Rendering & Display

- Update Intersection Widget to Display Slab Thickness ([PR-7093](https://github.com/Slicer/Slicer/pull/7093), [PR-7252](https://github.com/Slicer/Slicer/pull/7252))
- Allow display RGBA volume values in DataProbe ([PR-7265](https://github.com/Slicer/Slicer/pull/7265))

### Performance

- Support 3D rendering of segmentation using Surface Nets ([PR-7224](https://github.com/Slicer/Slicer/pull/7224))
- Enable TBB as the default VTK SMP implementation on all platforms ([PR-7295](https://github.com/Slicer/Slicer/pull/7295))

### UI/UX

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

### Events

- Improve Event Delegation in `qMRMLThreeDView` and `qMRMLSliceView` ([PR-7311](https://github.com/Slicer/Slicer/pull/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](https://github.com/Slicer/Slicer/pull/7300))

### IO

- Remove FreeSurfer file extensions from qSlicerModelsReader ([PR-7336](https://github.com/Slicer/Slicer/pull/7336))

### Scripting

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

### Internationalization/Localization

- Make the translation update script more robust ([PR-7273](https://github.com/Slicer/Slicer/pull/7273))
- Make text in the MRML library translatable ([PR-7210](https://github.com/Slicer/Slicer/pull/7210))
- Make Segment Editor effect names translatable ([PR-7254](https://github.com/Slicer/Slicer/pull/7254))
- Make +10 more modules translatable ([PR-7243](https://github.com/Slicer/Slicer/pull/7243))

### Developer Documentation

- Simplify the bug report template ([PR-7329](https://github.com/Slicer/Slicer/pull/7329))
- Improve the documentation of obsolete filtering API in SH proxy model ([PR-7314](https://github.com/Slicer/Slicer/pull/7314))
- Clarify steps for installing Qt in windows build instructions ([PR-7389](https://github.com/Slicer/Slicer/pull/7389))
- Add instructions for setting up the development environment on Ubuntu 23.04 ([PR-7371](https://github.com/Slicer/Slicer/pull/7371))
- Eliminate obsolete Doxygen grouping ([PR-7421](https://github.com/Slicer/Slicer/pull/7421))

## Improved Modules

### DICOM

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

### CompareVolumes

- Add docs for CompareVolumes module ([PR-7152](https://github.com/Slicer/Slicer/pull/7152))
- Fix developer mode issue with tooltip button ([PR-7183](https://github.com/Slicer/Slicer/pull/7183))

### Endoscopy

- Endoscopy fly through with user’s camera transforms ([PR-7165](https://github.com/Slicer/Slicer/pull/7165))
- Endoscopy Module simplification ([PR-7428](https://github.com/Slicer/Slicer/pull/7428))

### ExtensionWizard

- Fix ExtensionWizard error message reporting when drag-and-dropping script ([PR-7353](https://github.com/Slicer/Slicer/pull/7353))

### Fiducial Registration module

- Fix Fiducial Registration module rigid transform changing scale ([PR-7255](https://github.com/Slicer/Slicer/pull/7255))

### Markups

- Clarify markup renaming behavior ([PR-7259](https://github.com/Slicer/Slicer/pull/7259))
- Remove the use of deprecated GetNumberOfMarkups in vtkMRMLMarkupsPlaneNode ([PR-7395](https://github.com/Slicer/Slicer/pull/7395))

### ScreenCapture

- Simplify single-image capture in ScreenCapture module ([PR-7272](https://github.com/Slicer/Slicer/pull/7272))

### Sequences

- Make the sequence item creating strategy configurable ([PR-7404](https://github.com/Slicer/Slicer/pull/7404))
- `AddSynchronizedSequenceNodeID` caused the browser to stop operating correctly ([PR-7331](https://github.com/Slicer/Slicer/pull/7331))
- Fix nodes not getting removed in `vtkMRMLSequenceNode::SetDataNodeAtValue` ([PR-7335](https://github.com/Slicer/Slicer/pull/7335))

### Segmentation

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

### Subject Hierarchy

- Empty folder SH visibility ([PR-7214](https://github.com/Slicer/Slicer/pull/7214))

### WebServer

- Formalize `WebServer` request handler interface ([PR-7350](https://github.com/Slicer/Slicer/pull/7350))

## Infrastructure

### Security

- Add security policy document ([PR-7199](https://github.com/Slicer/Slicer/pull/7199))
- Update Security document to clarify “bug bounty” scope ([PR-7223](https://github.com/Slicer/Slicer/pull/7223))
- Add build CI badge to `README` ([PR-7221](https://github.com/Slicer/Slicer/pull/7221))
- Add OSSF scorecard action to quantify open-source health ([PR-7197](https://github.com/Slicer/Slicer/pull/7197))
- Update OSSF scorecard workflow to support running Branch-Protection check ([PR-7207](https://github.com/Slicer/Slicer/pull/7207))
- Restrict workflow permissions to “read” for the content scope ([PR-7200](https://github.com/Slicer/Slicer/pull/7200))

### Continuous Integration (CI)

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

### Packaging

- Use main project version for macOS short version string in the bundle ([PR-7271](https://github.com/Slicer/Slicer/pull/7271))

### Build-System

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

### Dependencies

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

### OpenXR support

- Update VTK to support the distribution of OpenXRRemoting in the extension ([PR-7190](https://github.com/Slicer/Slicer/pull/7190))
- Update VTK to backport OpenXR error handling improvements ([PR-7193](https://github.com/Slicer/Slicer/pull/7193))
- Update VTK backporting RenderingVR and RenderingOpenXR fixes ([PR-7195](https://github.com/Slicer/Slicer/pull/7195))

## Extensions

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

The Slicer [extensions manager](https://slicer.readthedocs.io/en/latest/user_guide/extensions_manager.html) enables Slicer users to install more than 175 extensions written and contributed by their peers from around the world.

### New

| | |
| --- | --- |
| [Colorize Volume](https://github.com/PerkLab/SlicerSandbox) | 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](https://discourse.slicer.org/t/new-colorize-volume-module/32254). |
| ![](https://github.com/PerkLab/SlicerSandbox/blob/master/Sandbox_Logo_128.png?raw=true) | ![](https://github.com/Slicer/Slicer/assets/219043/c98dd3e0-6f47-40dc-a0a9-99dcd1fbc95e) |

| | |
| --- | --- |
| [IDCBrowser](https://github.com/ImagingDataCommons/SlicerIDCBrowser.git) | Explore and access imaging data available from the [National Cancer Institute Imaging Data Commons](https://imaging.datacommons.cancer.gov) |
| ![](https://github.com/ImagingDataCommons/SlicerIDCBrowser/blob/c9519809522aaac59bb65fb558b1197cf05c3e72/IDCBrowser/Resources/Icons/IDCBrowser.png?raw=true) | ![](https://github.com/ImagingDataCommons/SlicerIDCBrowser/blob/main/IDCBrowser/Resources/Screenshot/screenshot.png?raw=true) |

| | |
| --- | --- |
| [mpReview](https://github.com/SlicerProstate/mpReview.git) | Facilitate review and annotation (segmentation) of multi-parametric imaging datasets. |
| ![](https://raw.githubusercontent.com/SlicerProstate/mpReview/master/Resources/Icons/mpReview.png) | ![](https://github.com/SlicerProstate/mpReview/raw/master/Resources/Icons/mpReview_screenshot.PNG?raw=true) |

| | |
| --- | --- |
| [ExtraMarkups](https://gitlab.com/chir-set/SlicerExtraMarkups.git) | Add the `Label` and `Shape` markups nodes for respectively drawing an arrow with a text label, or a pre-defined primitive shapes (circle, cone…). |
| ![](https://gitlab.com/chir-set/SlicerExtraMarkups/-/raw/main/ExtraMarkups.png?ref_type=heads) | ![](https://github.com/Slicer/Slicer/assets/219043/3aa60706-fe48-47b2-8019-f44d81de2af0) |

| | |
| --- | --- |
| [MHubRunner](https://github.com/MHubAI/SlicerMRunner) | Integrates Deep Learning models from the Medical Hub repository (MHub) into 3D Slicer. |
| ![](https://github.com/MHubAI/SlicerMRunner/blob/main/SlicerMHubRunner.png?raw=true) | ![](https://mhub.ai/slicer/image01.png) |

| | |
| --- | --- |
| [SlicerLiver](https://github.com/ALive-research/Slicer-Liver) | Provide tools for analysis, quantification and therapy planning for hepatic interventions. |
| ![](https://raw.githubusercontent.com/ALive-research/Slicer-Liver/master/SlicerLiver.png) | ![](https://github.com/Slicer/Slicer/assets/219043/3fe81f00-05e7-447e-811b-e0040cf4c5a4) |

### Updated

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

- **TotalSegmentator** : [Now compatible with TotalSegmentator v2](https://discourse.slicer.org/t/totalsegmentator-v2/32470).

- **Slicer Pipeline** : Now supports [passing any number of parameters and nodes through any number of stages and include these values in the result set](https://discourse.slicer.org/t/update-to-slicer-pipelines/31797).

### 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](https://github.com/Slicer/ExtensionsIndex/blob/main/ARCHIVE/README.md)

---

_[View the full topic](https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140)._
