# 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:** 2\
**Page:** 1

<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:50am UTC](https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140/1 "2023-11-30T08:50:54Z")

</div>

# Table of content

- [Summary](#heading--summary)
- [Highlights](#heading--highlights)
- [Detailed Changelog](https://discourse.slicer.org/t/slicer-5-6-summary-highlights-and-changelog/33140/2)

# Summary

The community of 3D Slicer developers is proud to announce that version 5.6 is[now available for download](http://download.slicer.org/). 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](https://slicer.readthedocs.io/en/latest/user_guide/about.html#acknowledgments) page.

Feel free to share your insights on [Discourse](https://discourse.slicer.org/) and explore our [contributing guidelines](https://slicer.readthedocs.io/en/latest/developer_guide/contributing.html). 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](https://slicer.readthedocs.io/en/latest/user_guide/get_help.html) section.

[slicer.org](https://www.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](https://slicer.readthedocs.io/en/5.6/user_guide/getting_started.html#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

- **New Extensions:** [10+ new and improved extensions](#New), including several AI segmentation tools, such as [fully automatic segmentation of 100+ structures in CT images](https://discourse.slicer.org/t/new-extension-fully-automatic-whole-body-ct-segmentation-in-2-minutes-using-totalsegmentator/26710) in less than 2-minutes [using TotalSegmentator v2](https://discourse.slicer.org/t/totalsegmentator-v2/32470), improved [volume rendering of RGBA image volume](https://discourse.slicer.org/t/new-colorize-volume-module/32254), tools for liver intervention planning, review and annotation of multi-parametric imaging datasets, and support for exploring and accessing imaging data available from the NCI Imaging Data Commons.

- **3D Segmentation Rendering speedup:** The [_Surface Nets_ algorithm provides a ~7x speedup to the generation of surface models](https://discourse.slicer.org/t/new-surface-model-generation-method-surfacenets/32430) from segmentations compared to the default _Flying Edges_ method.

- **Interactive Thick Slab Reconstruction (TSR):** It can now be [enabled and modified from the slice controllers and slice views](https://discourse.slicer.org/t/new-feature-thick-slab-reconstruction-from-slice-controllers-and-views/32432).

- **Enhanced Endoscopy Flythrough:** Support flying through a path along [with adjusting and saving camera at specific position](https://discourse.slicer.org/t/update-to-endoscopy-flythrough/33055).

- **Simplified Image Capture:** [Simplified single-image capture in ScreenCapture module](https://github.com/Slicer/Slicer/pull/7272).

- **Transform Hardening Support in DICOM Scalar plugin:** Identified sub-series (each loaded as independent volume node) [now support being grouped by orientation with hardening of the regularization transform hardening](https://discourse.slicer.org/t/new-feature-support-regularization-transform-hardening-in-dicom-scalar-plugin/32772). This can be enabled in the DICOM settings by selecting _harden regularization transform_ instead of the default _apply regularization transform_.

- **Security Enhancement:** Added [security policy](https://github.com/Slicer/Slicer/security/policy) describing how to report security vulnerabilities along with details about the preferred languages, supported versions and scope.

_This version was released on November 27th, 2023, and the associated git tag is [v5.6.0](https://github.com/Slicer/Slicer/tree/v5.6.0). Information about previous releases can be found on the [Release Details](https://github.com/Slicer/Slicer/wiki/Release-Details) page._

| ![image](https://github.com/Slicer/Slicer/assets/219043/c98dd3e0-6f47-40dc-a0a9-99dcd1fbc95e) | ![image](https://github.com/Slicer/Slicer/assets/219043/3fe81f00-05e7-447e-811b-e0040cf4c5a4) | ![](https://github.com/Slicer/Slicer/assets/219043/3aa60706-fe48-47b2-8019-f44d81de2af0) |
| --- | --- | --- |
| Volume rendered RGBA volume created using the [Colorize Volume](https://github.com/PerkLab/SlicerSandbox) module and a fully segmented rattlesnake are copied from [this post](https://discourse.slicer.org/t/new-colorize-volume-module/32254). | 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…). |

---

<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)
