Skip to content

Conversation

jcfr
Copy link
Member

@jcfr jcfr commented Apr 7, 2025

Summary:

Related forks:

@vicory
Copy link
Member

vicory commented Apr 8, 2025

Getting this error when launching:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/work/salt/build_59/python-install/lib/python3.9/imp.py", line 169, in load_source
    module = _exec(spec, sys.modules[name])
  File "<frozen importlib._bootstrap>", line 613, in _exec
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServer.py", line 18, in <module>
    from WebServerLib.BaseRequestHandler import BaseRequestHandler, BaseRequestLoggingFunction
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServerLib/__init__.py", line 2, in <module>
    from .DICOMRequestHandler import DICOMRequestHandler
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServerLib/DICOMRequestHandler.py", line 2, in <module>
    import pydicom
ModuleNotFoundError: No module named 'pydicom'
loadSourceAsModule - Failed to load file "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServer.py"  as module "WebServer" !
Fail to instantiate module  "WebServer"
The following modules failed to be instantiated:
   WebServer

@jcfr I don't think we're using the WebServer module for anything, so the easiest fix seems like it would be to just disable it for SALT. Do you agree?

@jcfr
Copy link
Member Author

jcfr commented Apr 8, 2025

so the easiest fix seems like it would be to just disable it for SALT

Agreed. The module was just disabled. To move forward with local testing make sure to remove the WebServer module from your local build:

rm -rf /work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServer*

@vicory
Copy link
Member

vicory commented Apr 15, 2025

As far as I can tell, all the existing modules are working as intended after this update.

@vicory
Copy link
Member

vicory commented Apr 17, 2025

@jcfr Anything else to do here or are we good to merge? Are we waiting for the upstream merges first?

jcfr and others added 7 commits April 17, 2025 10:56
List of Slicer changes:

```
$ git shortlog c3d74d6..4eaa784567 --no-merges
Aaron Gee (1):
      BUG: Fix rendering of SaveDataDialog checkboxes in Dark Mode

Alexy Pellegrini (1):
      ENH: Remove support for building against VTK <= 9.1

Andras Lasso (215):
      DOC: Add code snippet for model point picking
      DOC: Improve documentation of module/node association
      BUG: Fix the application's applicationLocale object
      BUG: Fix color synchronization inaccuarcy in volume rendering module
      ENH: Simplify fix color legend visibility on non-standard slice views
      BUG: Do not display volume rendering if volume is under non-linear transform (#7065)
      ENH: Update CTK to allow changing Error Log view orientation
      ENH: Allow setting custom editor for .py files (#7074)
      STYLE: Fix wording in comments
      ENH: Load DICOM files using DICOM module by default (#7077)
      BUG: Fix GetVoxelBasedCropOutputExtent return value
      BUG: Improve file readers efficiency
      BUG: Fix error handling in vtkSlicerVolumesLogic
      ENH: Add flip and rotate buttons to Reformat module (#7078)
      BUG: Fix behavior after invisible segment confirmation popup
      BUG: Restore vtkSegmentation::GetMasterRepresentationName method
      BUG: Fix "Restore view layout" view context menu action
      ENH: Allow update_translations.py to create new translation components
      ENH: Make it easier to load of .vtk image files (#7117)
      BUG: Fix potential NaN in torsion computation results
      DOC: Update segmenteditor.md with info on node references
      ENH: Check file extension file readers before inspecting content
      ENH: Update MultiVolumeImporter to load as volume sequence by default
      ENH: Update slicer.util.updateVolumeFromArray to support 1D NumPy array
      ENH: Improve error reporting in ScriptedFileReaderWriterTest
      DOC: Document automatic resampling of binary labelmap representation
      ENH: Update MultiVolumeImporter with cine-MRI fixes
      DOC: Describe how pip_install can be used in a module
      ENH: Make some MRML displayable text translatable
      DOC: Make transparent screen capture script more robust
      DOC: Fixed multi-viewport example in advanced_topics.md
      BUG: Make more strings translatable
      BUG: Fix Qt lupdate warning about unconsumed metadata
      BUG: Prevent crash in subject hierarchy
      BUG: Prevent crash when reading invalid DICOM image
      DOC: Clarify markup renaming behavior
      BUG: Fix Fiducial Registration module rigid transform changing scale
      BUG: Fix DICOM loading error reporting issue
      BUG: Add support for qMRMLSliderWidget in parameterNodeWrapper GUI connector
      BUG: Fix Segment Editor screen reader compatibility
      BUG: Fix warning in qSlicerSegmentationsSettingsPanel
      ENH: Allow display RGBA volume values in DataProbe
      BUG: Update VTK to fix RGBA volume rendering
      ENH: Make translation update script more robust
      BUG: Fix error message when drag-and-dropping nodes
      ENH: Make Grow from seeds effect input requirements more clear
      DOC: Simplify bug report template
      ENH: Make DICOM variable spacing warning more informative
      ENH: Simplify single-image capture in ScreenCapture module
      ENH: Make sequence item creating strategy configurable
      BUG: Fix temporary folder containing special characters
      BUG: Fix loading of sequence nodes
      BUG: Fix strings marked as translatable by mistake
      ENH: Display instantiated module name in splashscreen
      BUG: Workaround for Slicer hang on scipy.linalg import on Windows 11 (#7455)
      ENH: Add node reference convenience functions to segment editor effects
      BUG: Fix adding of new sequence item when going to previous item
      BUG: Fix automatic setting of current item in sequence browser node
      BUG: Fix error handling in slicer.util.downloadFile
      BUG: Fix smoothing effect for all visible segments
      BUG: Fix Mask volume effect node selector (#7478)
      BUG: Fix empty candidate node list in Sequences module
      ENH: Add option to display shadows in 3D views
      BUG: Fix vtkMRMLCameraDisplayableManagerTest1.mrml
      BUG: Fix crash when module category name matches a module name
      BUG: Fix translation in qMRMLThreeDViewControllerWidget
      ENH: Allow dragging of splashwindow
      ENH: Do not require file type in sample data specification
      ENH: Update CTK to latest
      BUG: Fix deletion of last time point in a sequence
      BUG: Fix segment disappearing when sharing segment editor node between widgets
      ENH: Disable shadows in 3D views by default
      BUG: Fix loading of modules that depend on another extension
      ENH: Improve appearance of node information section in Data module
      BUG: Fix unrelated matrix elements overwritten in transform editor
      ENH: Add SegmentationGeometryLogic API to set reference image geometry
      BUG: Fix loading of empty segmentation (#7609)
      ENH: Make translations in Python scripts more robust
      BUG: Make volume rendering preset registration more robust
      ENH: Add API to access SSAO rendering pass in 3D views
      ENH: Improve vtkMRMLLayoutNode API
      BUG: Fix subject hierarchy consolidation after loading a scene
      BUG: Fixed saving of NRRD files of certain filenames
      ENH: Improve SubjectHierarchy API for UIDs
      BUG: Improve surface smoothing accuracy in segmentations
      ENH: Improve ultrasound reading (#7649)
      Show warning window if data loss occurs when saving to tiff (#7655)
      ENH: Add DICOM patcher rule to fix compressed ultrasound discolorization (#7656)
      ENH: Make characterset modifier DICOM patcher rule stronger (#7683)
      ENH: Add Python-wrappable methods for accessing anatomical regions
      ENH: Improve terminology selector
      DOC: Encourage trying preview release before reporting bug (#7686)
      ENH: Log more information when NRRD reading fails (#7700)
      ENH: Use regular file IO in SimpleITK utils if MRMLIDImageIO unavailable
      ENH: Update SimpleFilters module
      ENH: Improve terminology selector speed
      BUG: Update CTK to fix Visual DICOM Browser
      STYLE: Fix typo in test
      BUG: Fixed vtkMRMLVolumeArchetypeStorageNodeTest1.cxx
      BUG: Fix MRMLDisplayableManagerCxxTests
      ENH: Add API for finding terminology from codes
      ENH: Add API to change screen scale factor
      BUG: Fix reading of images that have left-handed IJK coordinate system (#7746)
      BUG: Make automatic detection of segmentation files more robust
      BUG: Make segmentation .seg.nrrd file reading more robust
      BUG: Fix export of VTK unstructured grid
      DOC: Improve segmentation DICOM export documentation
      STYLE: Update surface toolbox and improve a test (#7769)
      BUG: Fix reading of volume property (.vp) file
      BUG: Fix tensor image reading
      DOC: Update example of DICOM query/retrieve
      DOC: Add plane creation example to scripte repository
      DOC: Add Python example for extract slice from volume
      DOC: Add notes to SECURITY.md (#7818)
      ENH: Optimize SegmentStatistics logic initialization
      PERF: Improve Python translation speed
      DOC: Add example script for Python profiling
      BUG: Update VTK to backport vtkSSAOPass intensity adjustment feature
      ENH: Allow setting ambient shadows intensity (#7822)
      DOC: Add notes on segment cross-sectional area measurement (#7863)
      BUG: Force loading images from DICOM using right-handed coordinate system (#7858)
      ENH: Added API to log software usage events
      ENH: Disable compression for CLI output files (#7885)
      BUG: Fix translation of Python modules
      STYLE: Simplify vtkMRMLSliceLogic implementation
      ENH: Recognize sequences generated by dcm2niix
      BUG: Increase minimum size of Sequences intensity plot
      BUG: Fix reading of markup point position from integer value
      ENH: Update CTK to latest version
      BUG: Fix editing of transform component values in spinbox
      BUG: Fix sitkUtils without MRMLIDImageIO
      BUG: Fix output volume node selector in Mask Volume effect
      BUG: Skip disabled plugins when loading DICOM by scripting
      BUG: Fix inaccurate log message when loading image without window/level
      BUG: Fixed saving of labelmap volume sequences
      DOC: Improve slicer.util.pip_install documentation
      ENH: Allow vtkMRMLTextStorageNode to store any text files (#7961)
      ENH: Simplify Slicer version check in extensions
      BUG: Fix segmentation Show 3D button staying disabled
      DOC: Add example to compute distance of points from plane
      ENH: Improve automatic detection of segmentation files
      ENH: Improve automatic detection of NIFTI displacement field transform files
      ENH: Do not show warning popup on exit if camera node is changed
      BUG: Fix GetStorableNodesModifiedSinceRead for short text nodes
      BUG: Fix unnecessary confirmation popup after hovering over markups
      ENH: Show more details on what changed in the scene on close or exit
      ENH: Make terminology code finding more robust
      DOC: Update recommended screen resolution in documentation (#8010)
      BUG: Fix copying of markup measurements
      STYLE: Remove extra empty lines in qSlicerSubjectHierarchyTransformsPlugin.cxx
      ENH: Added percentiles computation to Segment Statistics scalar volume plugin (#8037)
      BUG: Fixed vtkMRMLTransformStorageNodeTest1 in debug mode
      ENH: Check if a node is present in the scene before adding it
      BUG: Fix title of Scene Views module
      BUG: Fix py_SlicerRestoreSceneViewCrashIssue3445 test in debug mode
      BUG: Fix creation of extra volume property storage nodes
      BUG: Prevent making volume storage nodes modified after file save
      BUG: Fix volume rendering property always marked as modified
      STYLE: Remove unused variable
      STYLE: Fix build warnings on linux
      BUG: Fix visibility column in segment list
      BUG: Fix segments not visible after thresholding (#8060)
      ENH: Add "tier" property to extensions catalog schema
      BUG: Fix FitSliceToVolumes
      BUG: Standardize fit slice to volume behavior
      ENH: Make vktMRMLSliceLogic class more robust
      BUG: Only show DICOM loadable table in advanced mode
      BUG: Fix typo in message
      BUG: Fix ExtensionsIndex build
      DOC: Fixed "Edit on GitHub" link not appearing on readthedocs
      DOC: Fix broken links in documentation
      DOC: Set github repository information for documentation generation
      BUG: Fix module reload of modules without reloadTestMenuButton
      BUG: Fix QComboBoxToEnumConnector to not reset default
      DOC: Improve slicer.util.getNode documentation
      BUG: Fix warning when browsing transform node sequence
      BUG: Fix warning in ExportSegmentsToLabelmapNode
      ENH: Allow hiding parts of segment editor widget
      BUG: Fix loading and saving .mrb files with trailing space in filename
      BUG: Ensure MRB loading correctly reports loaded nodes
      ENH: Add option to download sample data from custom URL
      COMP: Update CLI modules for compatibility with modern ITK types
      ENH: Add "Create new..." actions to subject hierarchy tree view
      ENH: Use subject hierarchy widget as node selector in core modules
      BUG: Fix saving into .mrb with long node names
      BUG: Avoid additional error message in DICOMReaders.py
      BUG: Fix crash in vtkSlicerApplicationLogic destructor
      BUG: Fix py_UtilTest on Windows
      BUG: Fix crash in SystemTools::RemoveADirectory
      ENH: Make maximum file length configurable
      BUG: Fix core IO manager initialization
      COMP: Move widgets from MRML to Colors module
      BUG: Fix qSlicerTransformsModuleWidgetTest
      ENH: Add convenience methods to get/set terminology in segments (#8296)
      DOC: Add ambient shadows section to documentation
      BUG: Fix custom color selection confirmation popup
      BUG: Fix reset to default buttons in terminology selector
      ENH: Select the first suitable node by default in tree views
      BUG: Show the currently selected volume rendering preset name (#8305)
      BUG: Fix 3D view bounds computation with multivolume rendering
      BUG: Fix crash in multivolume rendering
      COMP: Make vtkSlicerTerminologiesModuleLogic API backward compatible (#8326)
      ENH: Add reset ambient shadows settings to 3D view controller
      BUG: Fix ambient shadows default settings editing
      ENH: Add invert colors option to Volumes module
      ENH: Improve histogram display in Volumes module
      BUG: Fixing writing empty color names into ctbl format
      ENH: Make all colors defined by default when setting a LUT
      ENH: Improve robustness of color table node API
      ENH: Refactor observations in MRML nodes
      ENH: Fix "vtkMRMLCameraNode::SetActiveTag() is deprecated" scene load warning
      ENH: Fix unnecessary "not found relative to the mrml root directory" warnings
      BUG: Use batch mode to avoid warnings during scene view conversions
      STYLE: Simplify SubjectHierarchyFoldersTest1
      ENH: Avoid unnecessary warnings when loading models from legacy scenes

Andrew Howe (2):
      DOC: Clarify Qt 5.15.2 Windows binary install instructions
      COMP: Fix libarchive build error when using Clang 16

Andrey Fedorov (2):
      ENH: Update the list of supported formats
      ENH: Add segment visibility toggle option (#8247)

Aram (1):
      BUG: Fixed issue with adding new node after rename cancelation (#7598)

Ben Zwick (6):
      DOC: Fix spelling and grammar in linux.md
      DOC: Update linux.md to add warning about Debian's OpenSSL
      DOC: Update linux.md to add note about Debian 12 CMake
      DOC: Update build instructions in windows.md
      DOC: Fix number of CPU cores rule of thumb in linux.md
      ENH: Add menu actions to hide or show selected items in subject tree

Christian Herz (1):
      BUG: AddSynchronizedSequenceNodeID caused browser to stop operating correctly

Claudio Hoffmann (1):
      BUG: Allow reslicing of 32-bit integer images

Csaba Pinter (20):
      ENH: Show segment ID in tooltip for segments in subject hierarchy
      ENH: Improve empty folder visibility logic
      ENH: Outsource Expand to depth action to SH plugin
      BUG: Fix SubjectHierarchyGenericSelfTest
      ENH: Add deprecation warning for obsolete filtering API in SH proxy model
      DOC: Improve documentation of obsolete filtering API in SH proxy model
      ENH: Make SegmentsTableView functions available from Python
      COMP: Update acceptable VS2022 MSVC version for TBB install
      ENH: Change log level in islands effect
      ENH: Minor fixes made during the 5D nrrd IO development
      ENH: Improve exception message about unsupported parameter wrapper type
      ENH: Improve terminology category selection
      ENH: Introduce setting for using standard terminology in segments table
      ENH: Ask user about terminologies if specifying custom name or color often
      ENH: Allow using standard terminologies from Subject Hierarchy
      BUG: Fix name editing in Segment Editor
      DOC: Update links to tutorials
      ENH: Add CSV file format support for color tables
      BUG: Fix DICOM scene export
      ENH: Reduce unnecessary error reporting in segmentation SH (#8299)

Davide Punzo (18):
      ENH: Make Error Log window dockable
      ENH: Support regularization transform hardening in DICOM Scalar plugin
      ENH: Introduce Visual DICOM Browser with CTK Update
      ENH: Update CTK with visual DICOM browser improvements
      BUG: Fix import of DICOM files for the visual dicom browser BUG: Fix update of DatabaseDirectory when is changed either in the dicom browser or the visual one
      BUG: Update CTK to fix Visual DICOM Browser
      ENH: Update CTK to latest visual DICOM browser
      BUG: Prevent DICOM Browser popups on initial module entry.
      ENH: Allow disabling layers blend clipping to background in slice views
      BUG: Resolve VTK rendering warning for handle glyphs.
      BUG: Fix reading of multiple window/level presets in DICOMScalarVolumePlugin
      PERF: Avoid unnecessary builds of the visual DICOM browser UI
      DOC: Add script to query and retrieve DICOM with ctkDICOMScheduler
      ENH: Update CTK to latest visual DICOM browser
      BUG: Update to latest CTK
      BUG: Fix fit slice view if no background volume is selected
      BUG: Use a ctkColorPickerButton as default option in terminology item delegate
      ENH: Add option to display slice edges in 3D view

Dženan Zukić (14):
      ENH: Add Python utility functions: ITK image <-> volume node (#7094)
      ENH: Update ITK to 5.4.0
      ENH: Report missing longflag in module description XML
      ENH: Update BRAINSTools from 2024-05-31 to 2024-11-09
      COMP: Remove ITK legacy functionality from itkPluginUtilities.h
      COMP: Replace ITK SpatialOrientation with SpatialOrientationEnums
      COMP: Replace legacy ITK component types with IOComponentEnum
      COMP: Use ITK GetModifiableTransformList when transform list are modified
      COMP: Use ITK OrientedBoundingBox Size Type instead Point Type
      COMP: Use modern ITK IO type names
      COMP: Use std::thread instead of deprecated ITK threading functions
      COMP: Remove legacy support for Visual Studio .NET 2002 (MSVC 7.0)
      COMP: Fix Windows build errors by explicitly including `Windows.h`
      ENH: Update VTK (vtkMultiVolume bounds computation fix)

Ebrahim Ebrahim (2):
      DOC: Add documentation for help menu
      ENH: Warn when setting volume node with invalid vtkImageData

Fryderyk Kögl (1):
      DOC: Update example on display node in selected views

Gabriel Chartrand (1):
      BUG: Add missing OPTIONS request handler when CORS enabled

Hai Minh (2):
      COMP: Remove unused variable in vtkEventBroker (#8147)
      ENH: Add option to show CLI executable windows on Windows

Hannah Morilak (1):
      ENH: Add methods for runTest upgrade

Harald Scheirich (3):
      ENH: Add "Test" Button to ScriptedLoadableModule UI (#7038)
      BUG: Fix crash for debug build due to invalid assert in MRMLViewInteractorStyle
      ENH: Add GUI Connection support for a subset of ctk and other widgets

Hu Butui (1):
      DOC: Update installation and building instruction for ArchLinux

Jacob Moore (1):
      ENH: Support 3D rendering of segmentation using Surface Nets

James Butler (56):
      BUG: Fix splash screen loading text hidden
      ENH: Skip steps in required job rather than skipping workflow
      DOC: Update build instructions that newer CMake can be used
      COMP: Report error if unsupported CMake version 3.21.0 is used
      DOC: Update source and build directory name examples
      COMP: Replace deprecated Qt Script usage
      BUG: Fix CPACK_NSIS_INSTALL_SUBDIRECTORY being overwritten
      COMP: Update python packages to latest
      COMP: Update CTK to fix styling of ctkRangeSlider
      BUG: Fix home shortcut not working when python console visible
      DOC: Convert README to markdown for adding of badges
      ENH: Add OSSF scorecard action to quantify open-source health
      ENH: Remove different color background for slice view label and offset
      ENH: Remove fixed size buttons in view controller for better restyling
      ENH: Slice controller toolbuttons sized larger to icon size
      BUG: Fix difficult to see slice offset text in Slicer dark mode
      ENH: Style slice view label similarly to slice offset spinbox
      COMP: Update python packages to latest
      DOC: Fix misspelling of transforms
      COMP: Update python packages to latest
      ENH: Remove DMRIInstall module
      DOC: Reorganize Ubuntu console example of required dev tools
      DOC: Remove need for Qt Script in Ubuntu dev tools
      ENH: Make qMRMLSequenceBrowserPlayWidget shortcuts accessible from python
      ENH: Simplify paint/erase diameter options for more concise UI
      BUG: Fix python package updater not updating certain packages
      COMP: Update python packages to latest
      BUG: Fix incorrect tooltip for rotate to volume reformat button
      ENH: Update FindVcvars for future MSVC versions
      COMP: Fix fatal error not reported for MSVC + TBB compatibility
      COMP: Fix main project source dir colliding with built-in extension name
      BUG: Fix failing vtkMRMLCameraDisplayableManagerTest
      DOC: Remove upper pin for sphinx package
      STYLE: Fix Ruff PLR1730
      ENH: Remove "Active" prefix from some node selection comboboxes (#7985)
      ENH: One draw effect point does not prevent use in other slice offset (#6997)
      COMP: Drop support for MSVC toolset v141 aka Visual Studio 2017
      COMP: Update minimum required CMAKE_OSX_DEPLOYMENT_TARGET to 12.0
      COMP: Update minimum required CMAKE_OSX_DEPLOYMENT_TARGET to 13.0
      ENH: Switch highlighted social network to LinkedIn
      ENH: Remove old and unused testing scripts (#8052)
      ENH: Update ruff configuration to not use deprecated rule
      STYLE: Update python scripts to fix RUF021 parenthesize-chained-operators
      STYLE: Update python scripts to fix PLC0206 dict-index-missing-items
      BUG: Fix slice view more options open by default
      ENH: Support customizing interaction widget event translation
      ENH: Define a window icon for all windows
      COMP: Use CPack NSIS DPI Aware option when possible
      ENH: Make NSIS Windows installer prettier with application branding
      COMP: Fix Windows build error by explicitly including Windows.h
      ENH: Remove additional code handling VTK support <= 9.1
      STYLE: Update python scripts to fix PLW1508 invalid envvar default
      STYLE: Update python scripts to fix PLC1802 len test
      STYLE: Update python scripts to fix RUF046 unnecessary cast to int
      STYLE: Remove obsolete Qt4 code
      COMP: Update ITK to 5.4.3

Jean-Christophe Fillion-Robin (424):
      STYLE: Update comments describing used macros in qSlicerCoreApplication.cxx
      COMP: Support forcing Slicer revision when building extension
      COMP: Fix unused variable warning in vtkMRMLAbstractViewNode
      COMP: Remove use of obsolete VTK Python2 compatibility macros
      ENH: Update VTK from 9.1.20220125 to 9.2.20230607
      BUG: Update vtkAddon to fix potential out of bound issue in vtkCurveGenerator
      COMP: Fix deprecation warnings by explicitly calling vtkStdString::c_str()
      COMP: Update RapidJSON from 2016.08.25 (v1.1.0) to 2023.05.09 to fix warnings
      ENH: Update CTK to fix warnings and misc issues
      COMP: Fix -Winconsistent-missing-override warnings
      COMP: Fix -Wdeprecated-declarations in qMRMLNodeComboBoxMenuDelegate::paint
      COMP: Fix -Wdeprecated-declarations in qMRMLPlotView.cxx
      COMP: Fix -Wdeprecated-declarations in qSlicerExtensionsLocalWidgetPrivate
      COMP: Use QLatin1String instead of the deprecated QLatin1Literal
      COMP: Fix -Wvexing-parse in qMRMLSubjectHierarchyTreeViewPrivate
      COMP: Fix -Wdeprecated-declarations in vtkSegmentationConverter.cxx
      COMP: Remove redundant FindFontConfig module
      COMP: Remove support for building ITK Python
      ENH: Update DWMRIMultishellIOTests removing dependency on nose function
      ENH: Update vtkMRMLWriteXMLMatrix4x4Macro to separate values with one space
      BUG: Fix "Build Slicer" CI workflow in the context of push event
      STYLE: Consistently specify "#endif" include guards without a comment
      STYLE: Remove unused qMRMLSliceWidgetTest1Helper.h
      STYLE: Add missing include guards
      COMP: Consistently define include guards to match filename
      STYLE: Fix typos in header (.h) comments
      BUG: Update VTK to fix regression preventing from loading older vtp files
      BUG: Fix SlicerOrientationSelectorTestTest to account for widget rename
      COMP: Update qRestAPI external project to use the correct GitHub organization
      COMP: Update VTK to workaround external project output flagged as error
      STYLE: Update CTK
      STYLE: Update CropVolumeModuleWidget removing unused ctkFlowLayout include
      BUG: Update CTK to fix initial sizing of modules using ctkFlowLayout
      COMP: Fix python-extension-manager-ssl-requirements build specifying "[crypto]"
      BUG: Fix "closed surface segmentation" slice intersection display
      BUG: Fix potential segfault during initialization of qMRMLSliceWidget
      COMP: Update CTK removing code specific to Qt 4
      COMP: Update CTK to ensure only used Qt components are expected
      COMP: Update CTK to ensure only used Qt components are expected (part 2)
      COMP: Update ExternalProjectDependency based on commontk/Artichoke@dff357a
      COMP: Update CTK to include ExternalProjectDependency fixes
      COMP: Update Swig and python external projects to fix archive extract warnings
      BUG: Update VTK to fix regression in Dynamic modeler Curve cut
      COMP: Ensure that setting Slicer_USE_PYTHONQT to OFF also disable SimpleITk
      COMP: Update loadable module factory to fix build with python disabled
      ENH: Add extensions manager API for downloading and installing an extension (#7145)
      BUG: Fix setting of color in qSlicerExtensionsLocalWidget status messages
      ENH: Update ExtensionsManager install API to return a boolean
      DOC: Update Script Repository to reference update Extensions Manager API
      ENH: Update ExtensionsManager install API to check for update
      STYLE: Update ITK to minimize confusion related to image_from_vtk_image support
      DOC: Consistently reference slicer.util.pip_install usage example
      COMP: Fix sphinx build warning in Python FAQ related to unknown "txt" lexer
      DOC: Add best practices for runtime install of python packages in module
      BUG: Sync DataProbe UI initialization and "Restore Defaults" action
      ENH: Ensure slab reconstruction thickness is visible in slice view corner
      ENH: Support saving and restoring SliceViewAnnotations display level
      ENH: Slicer 5.4.0
      ENH: Begin 5.5.0 development
      COMP: Ensure revision of type CommitCount is always re-computed based on offset
      COMP: Fix extension packaging on macOS accounting for synthetic firmlink
      ENH: Update VTK to support distribution of OpenXRRemoting in extension
      COMP: Expand <CMAKE_CFG_INTDIR> in extension additional launcher settings
      ENH: Update VTK to backport OpenXR error handling improvements
      ENH: Update VTK backporting RenderingVR and RenderingOpenXR fixes
      DOC: Ensure published documentation uses "sphinx_rtd_theme"
      COMP: Fix configuration referencing README.md
      STYLE: Disambiguate CI workflow names adding "(Build)" and "(Lint)" suffix
      ENH: Restrict workflow permissions to "read" for the content scope
      ENH: Update OSSF scorecard workflow to support running Branch-Protection check
      DOC: Add security policy document
      DOC: Add "Supported Versions" section to security policy document
      DOC: Add "Scope" section to security policy document
      DOC: Update Security document to clarify "bug bounty" scope
      DOC: Update Security document to clarify "bug bounty" scope
      BUG: Update VTK to remove unnecessary messages in vtkTransformPolyDataFilter
      COMP: Update PackageAndUploadTarget CMake modules to use $<CONFIG>
      COMP: Update add_custom_command call to use $<CONFIG>
      COMP: Remove obsolete EXTENSION_COMMAND_BUILD_CONF_ARG_LIST CMake var
      COMP: Update add_custom_target call to use $<CONFIG>
      COMP: Update OpenSSL external project to use $<CONFIG>
      COMP: Update JsonCpp external project to use $<CONFIG>
      COMP: Fix extensions build ensuring build-type is set
      COMP: Fix "ci" GitHub workflow ensuring Slicer package is uploaded
      COMP: Fix "ci" GitHub workflow removing deprecated use of "::set-output"
      ENH: Support restoring SliceViewAnnotations enabled state
      STYLE: Remove unused includes from IntersectionInteractionRepresentationHelper
      BUG: Fix instantiation of SliceIntersectionInteractionRepresentationHelper
      BUG: Fix SliceIntersectionInteractionRepresentationHelper base class
      ENH: Update slab reconstruction thickness through broadcasting
      ENH: Improve Slab Reconstruction menu in slice controller
      ENH: Add Slab Reconstruction actions to slice view context menu
      COMP: Consistently use vtkMath::Pi() instead of M_PI defines
      BUG: Update VTK to fix segfault when enabling volume rendering
      BUG: Fix logging in SampleDataLogic.loadScene
      BUG: Fix py_SampleData test updating lookup of BuiltIn category by name
      ENH: Simplify ClosedSurface conversion introducing static variables
      BUG: Ensure remaining application events are processed before exiting
      BUG: Ensure DICOMCommand.start() returns process output
      ENH: Improve DICOMProcess debug output to be more descriptive
      ENH: Mark DICOMProcess instance variables stdout and stderr as "private"
      COMP: Add "fix_rpath" step to TBB external project to fix macOS packaging
      ENH: Enable TBB as default VTK SMP implementation on all platforms
      ENH: Update VTK and vtkAddon for ColorizeVolume module in Sandbox extension
      COMP: Update vtkAddon to fix vtkImageLabelDilate3D build on recent compiler
      BUG: Update CTK to adjust the size of the delete DICOM object dialog
      COMP: Update CTK to include build-system fixes
      ENH: Update MRML interactor style to explicitly use the poked renderer
      ENH: Remove unused API to set/get displayable manager interactor abort flags
      ENH: Update qMRMLThreeDView to retrieve camera node from displayable manager
      COMP: Remove unneeded class friendship from Model displayable manager
      ENH: Remove empty OnInteractorStyleEvent from Markups DisplayableManager
      ENH: Remove obsolete OnInteractorStyleEvent from VR DisplayableManager
      ENH: Simplify vtkMRMLViewInteractorStyle::SetMouseCursor
      STYLE: Update MRML InteractorStyle to include only required headers
      ENH: Simplify AbstractThreeDViewDisplayableManager interactor style include
      ENH: Update CTK to allow improved ctkVTK(Render|Slice)View pimpl derivation
      ENH: Allow virtual func to be called during MRML(ThreeD|Slice)View pimpl init
      STYLE: Remove unused ivars from vtkMRMLViewInteractorStyle
      STYLE: Trim trailing whitespaces
      ENH: Update pre-commit config to include "trailing-whitespace"
      STYLE: Trim trailing whitespaces in issue template
      ENH: Set MRML interactor style camera node observing displayable manager
      ENH: Transition Python linting from flake8 to ruff
      COMP: Fix typos and update codespell exceptions
      STYLE: Update python scripts to use double quotes in strings
      ENH: Update ruff configuration to enforce double quotes in strings
      STYLE: Update python scripts to use double quotes in multiline strings
      ENH: Update ruff configuration to enforce double quotes in multiline strings
      ENH: Update ruff configuration to enforce double quotes for docstrings
      STYLE: Update python scripts to avoid escaping inner quotes in strings
      STYLE: Update ExternalProjectDependency based on commontk/Artichoke@613e373
      STYLE: Fix typos in comments and docstrings using runCodespell.sh
      ENH: Update codespell workflow to use latest version of codespell
      STYLE: Remove unintentionally committed files
      STYLE: Add recent formatting changes to ignored list for git blame
      BUG: Fix ExtensionWizard error message reporting when drag-and-dropping script
      STYLE: Improve setPythonSource API readability renaming parameter
      STYLE: Improve code readability renaming scripted class internal variable
      COMP: Fix parallel build error adding missing PyPI dependency for python-dateutil
      COMP: Fix description generation warnings for Python external projects
      COMP: Update GitHub workflow to remove deprecated use of "::set-output"
      STYLE: Simplify list membership test in DICOMScalarVolumePlugin
      STYLE: Add historical formatting changes to git blame ignore list
      STYLE: Remove unreachable "break" statement after "return" outside of "switch"
      DOC: Improve formatting of sceneImport2428Test.verifyModels docstring example
      DOC: Improve formatting of DICOMRecentActivityWidget docstring example
      BUG: Fix DICOMUtils.getSortedImageFiles return value for empty input file list
      DOC: Improve DICOMUtils.getSortedImageFiles docstring and add annotation type
      DOC: Improve layout of AbstractScriptedSegmentEditorEffect docstrings
      ENH: Update Ruff configuration enabling "pydocstyle" rules
      STYLE: Update Python docstrings fixing indent and adding after class blank line
      ENH: Update Ruff configuration to enforce docstrings intend and blank line
      STYLE: Update Python docstrings removing surrounding whitespaces.
      ENH: Update Ruff configuration to prevent surrounding whitespaces in docstrings
      STYLE: Update Python fitting one-line docstrings on one line
      ENH: Update Ruff configuration to ensure one-line docstrings fit on one line
      STYLE: Update Python docstrings adding newline after last paragraph
      ENH: Update Ruff configuration enforcing newline after last paragraph
      BUG: Resolve del method override issue in AutoComplete segment editor effect
      STYLE: Remove unnecessary raw string prefixes in SEMToMediaWiki script
      DOC: Update SlicerWizard removing used of escaped sequence in docstrings
      DOC: Fix rendering of slicer.util.longPath docstring using raw string prefix
      ENH: Update Ruff configuration checking if docstrings require raw string prefix
      DOC: Update "Commercial Use" section adding XENOVIEW VDP Slicer-based app
      COMP: Fix -Wunused-function warning in qMRMLLayoutManagerTest1
      BUG: Fix VTK-based object creation in PythonSlicer regardless of import order
      ENH: Update ScreenCapture module renaming "Animation mode" to "Capture mode"
      STYLE: Update SlicerWizard version script adding missing trailing comma
      STYLE: Update python scripts fixing trailing commas
      ENH: Update Ruff configuration checking for missing trailing commas
      STYLE: Align Python scripts with "ruff" formatting by adjusting empty lines
      STYLE: Improve script readability with empty line after inline imports
      STYLE: Improve script readability with empty line before inline imports
      ENH: Improve Event Delegation in qMRMLThreeDView and qMRMLSliceView
      BUG: Revert invalid -Wdeprecated-declarations fix in TEST_SET_GET_STRING
      DOC: Eliminate obsolete Doxygen "Slicer_QtModules" grouping
      DOC: Eliminate obsolete Doxygen "MRML" grouping
      DOC: Eliminate obsolete Doxygen "Segmentation" grouping
      DOC: Eliminate obsolete Doxygen "CMakeUtilities" grouping
      DOC: Eliminate irrelevant Doxygen "ITK" grouping
      DOC: Remove obsolete doxygen group definitions
      DOC: Consolidate Doxygen MRML page with developer guide advanced topic
      COMP: Remove unused variables from vtkMRMLAnnotation[RulerStorage]Node
      BUG: Fix lookup of dcmqrscp executable for all build config in JRC2013Vis test
      STYLE: Update Python scripts removing empty docstrings
      STYLE: Align Python scripts with "ruff" formatting by adjusting spaces
      STYLE: Align Python scripts with "ruff" formatting by adjusting empty lines
      STYLE: Align Python scripts with "ruff" formatting removing extra parentheses
      STYLE: Align Python scripts with "ruff" formatting adding float trailing zero
      STYLE: Align Python scripts with "ruff" formatting adjusting quotes
      STYLE: Align Python scripts with "ruff" formatting updating argument parser
      STYLE: Align Python scripts with "ruff" formatting updating if expressions
      STYLE: Add recent formatting changes to ignored list for git blame
      ENH: Update SimpleITK from 2.2.0rc2 to 2.2.1 to support TotalSegmentator v2
      ENH: Update Endoscopy Module for Improved Readability
      ENH: Simplify Endoscopy module node observation using VTKObservationMixin
      ENH: Remove redundant observation of camera in Endoscopy module
      ENH: Simplify Endoscopy flyTo function using NodeModify context
      ENH: Update Endoscopy removing obsolete "model" cursor type
      ENH: Refactor EndoscopyLogic introducing setControlPoints()
      ENH: Refactor EndoscopyLogic storing path using vtkMRMLMarkupsCurveNode
      ENH: Slicer 5.6.0
      ENH: Begin 5.7.0 development
      ENH: Simplify Endoscopy math helper functions API to only return value
      BUG: Remove invalid and unused quaternion functions from EndoscopyLogic
      ENH: Simplify Endoscopy API removing wrapping of relative orientation functions
      ENH: Simplify initialization of vtkQuaternion in EndoscopyLogic
      ENH: Improve self-discovery of Endoscopy UI by providing all tooltips
      ENH: Clarify Endoscopy view angle slider setting by suffixing with "degree"
      BUG: Restore maximization of view on double click event
      DOC: Fix typo in "MRML Events and Observers" section
      BUG: Add missing interactorStyle observers for start/end pinch/rotate/pan
      ENH: Simplify loadable module factory reusing qSlicerScriptedUtils function
      BUG: Ensure scripted modules can always import wrapped C++ classes
      BUG: Fix Endoscopy module dependency adding "Markups"
      STYLE: Add recent formatting changes to ignored list for git blame
      BUG: Fix vtkQtTranslator leak on quick exit
      ENH: Disable pip version check
      ENH: Simplify Endoscopy relative orientation API converting to staticmethod
      DOC: Update Endoscopy module comment describing the interpolation method
      DOC: Clarify EndoscopyLogic API fixing setControlPoints type annotation
      ENH: Simplify EndoscopyLogic API to set and get input curve CameraOrientations
      ENH: Simplify EndoscopyLogic API introducing removeOrientationAtIndex
      ENH: Simplify EndoscopyLogic API introducing saveOrientationAtIndex
      ENH: Simplify EndoscopyLogic API introducing getNumberOfControlPoints
      ENH: Simplify EndoscopyLogic API introducing updateCameraFromOrientationAtIndex
      ENH: Relocate Endoscopy widget update into updateWidgetFromMRML
      ENH: Remove unneeded instance variable related to Endoscopy model export
      ENH: Simplify EndoscopyLogic API for managing cursor and transform nodes
      ENH: Rename EndoscopyLogic API to interpolate orientation of control points
      ENH: Rename EndoscopyLogic API to update control points based on input curve
      ENH: Simplify EndoscopyLogic API by implicitly interpolating orientations
      ENH: Simplify EndoscopyLogic API introducing input curve "Camera" reference
      ENH: Streamline Endoscopy UX removing "Use this curve" button
      DOC: Update EndoscopyLogic class docstring
      ENH: Update EndoscopyLogic to support saving camera view angle
      BUG: Update EndoscopyLogic to Fix Camera Property Handling
      BUG: Consistently handle First/Back/Next/Last keyframe in Endoscopy
      ENH: Update EndoscopyLogic API for retrieving first/previous/next/last indices
      ENH: Improve Endoscopy usability updating status of keyframe navigation buttons
      BUG: Update VTK to to fix vtkSMPToolsAPI static initialization order issue
      BUG: Fix loading of SubjectHierarchyPlugins at startup
      COMP: Fix generation of additional launcher settings for list-based settings
      COMP: Fix dependent extension paths used in additional launcher settings
      COMP: Re-generate additional launcher settings if settings are updated
      BUG: Fix error string format in DICOMScalarVolumePlugin and ImportItkSnapLabel
      ENH: Update VTK backporting selected Rendering, OpenVR and OpenXR patches
      BUG: Update VTK backporting fix for OpenVR gesture recognition
      COMP: Update VTK to fix preprocessor expression in vtkOpenGLRenderWindow
      BUG: Update VTK backporting OpenVR rendering fix when HMD inside the volume
      COMP: Update VTK backporting deprecation macro update
      DOC: Improve docstring of vtkMRMLViewInteractorStyle processing functions
      DOC: Clarify when local build is needed for extension development (#7501)
      ENH: Improve handling of invalid input in MRMLViewInteractorStyle classes
      ENH: Update VTK to backporting VR, OpenVR and OpenXR improvements
      ENH: Update VTK backporting VR and OpenXR improvements
      ENH: Update VTK backporting OpenXR-SDK improvements to streamline integration
      ENH: Update VTK backporting support for Holographic.Remoting.OpenXr >= 2.9.3
      COMP: Ensure full path ID for macOS libraries installed for fix-up
      COMP: Fix macOS extension packaging updating VTK9 python modules fixup rules
      COMP: Prefer clearing CMAKE_INSTALL_NAME_TOOL on a per-project basis
      ENH: Update CTK
      ENH: Update CTK adding removePatient/Series/Study signals to DICOM database
      BUG: Fix support for registering parameterNodeWrapper plugins (#7480)
      BUG: Fix meta-object system registration of qSlicerIO::fileType return type
      BUG: Support checking if IO registration from python without registered IOs
      BUG: Update VTK to backport vtkSSAOPass fixes
      ENH: Support dragging of the splashwindow just after clicking on it (#7532)
      ENH: Update CTK to backport PythonQt fixes & restore script compilation to pyc
      BUG: Ensure packaging of the latest d3dcompiler_47.dll for SlicerVirtualReality
      BUG: Update CTK to fix Qt designer crash at startup
      BUG: Fix qSlicerExtensionsManagerModelTest
      BUG: Ensure launcher scripts installed from wheels are accessible
      STYLE: Convert C++ source files from old-style "Whitesmiths" to "Allman" style
      STYLE: Add brace indentation style update to ignored list for git blame
      STYLE: Add missing semicolon after statement macros
      BUG: Skip creation of markups and transform interaction widget in VR window
      STYLE: Update CTK with source files converted to "Allman" indentation style (#7623)
      ENH: Support returning the result when executing Python from qSlicerWebWidget
      BUG: Remove obsolete Webkit-specific integration code from qSlicerWebWidget
      COMP: Update .gitignore ensuring changes to .github files are reported
      COMP: Add Github workflow for keeping pre-commit configuration up-to-date
      STYLE: Simplify checks in SegmentStatisticsLogic
      COMP: Modernize .ruff.toml settings based on ruff v0.3.3
      COMP: Remove obsolete "EditorExtensionTemplate.s4ext"
      COMP: Simplify ExtensionsIndex build-system removing obsolete case
      COMP: Simplify extension build-system removing Subversion requirement
      DOC: Remove obsolete Subversion references from linux build instructions
      ENH: Simplify SlicerWizard module removing obsolete "svn" support
      ENH: Update pre-commit settings adding "check-yaml" and "debug-statements"
      ENH: Update pre-commit settings adding "mixed-line-ending"
      STYLE: Ensure source files line ending is consistent
      ENH: Update pre-commit settings adding "end-of-file-fixer"
      STYLE: Reformat yml files using prettier
      ENH: Update pre-commit settings to run prettier on yml files
      ENH: Update pre-commit to validate github-workflows and dependabot files
      COMP: Fix pull request description generated by pre-commit-autoupdate workflow
      COMP: Fix workflow file link in pre-commit-autoupdate workflow
      ENH: De-duplicate setting of extension metadata
      ENH: Switch extension index entry format from "s4ext" to "json"
      ENH: Rename catalog entry metadata from "depends" to "build_dependencies"
      ENH: Rename catalog entry "scm" metadata to be consistently cased
      ENH: Add extension catalog entry file schema
      ENH: Support specifying extension description metadata with newlines
      ENH: Support specifying screenshot url extension metadata as string or list
      BUG: Fix extension schema id
      BUG: Fix definition of "$schema" property in extension schema
      COMP: Fix extension build ensuring build dependency directories are passed
      ENH: Support specifying contributors extension metadata with newlines
      COMP: Remove redundant call in vtkITKMorphologicalContourInterpolator
      COMP: Ensure ExtractExtensionDescriptionFromJson sets empty output variable
      COMP: Remove obsolete requirements from SlicerExtensionPackageAndUploadTarget
      COMP: Improve error reporting in slicer_generate_extension_description_test
      STYLE: Improve readability of metadata keys in qSlicerExtensionsManagerModel
      COMP: Fix version extraction in pre-commit-autoupdate workflow
      COMP: Add support for codespell 2.3.0 and fix identified typos
      DOC: Fix typo in "Screen Capture" module documentation
      STYLE: Use more explicit variable names in vtkMRMLSliceLogic
      COMP: Ensure SimpleITK is built using Slicer Python environment
      BUG: Update SimpleITK to fix import adding missing use of custom namespace
      STYLE: Update scripts removing empty comments
      STYLE: Support ruff >= 0.5.0 by explicitly excluding files with syntax errors
      STYLE: Avoid function param override in slicer.util.createProgressDialog
      BUG: Update ITK to fix HDF5 symbol clash when import itk wheel
      COMP: Support reuse of "commit-message" GitHub workflow
      DOC: Describe purpose of "workflow_call" GitHub workflow directive
      BUG: Update "pre-commit" workflow to support reuse from private project
      ENH: Update "commit-message" workflow to use dedicated GitHub action
      ENH: Refactor unparsed arguments handling for custom applications
      ENH: Allow disabling post-startup URI argument handling in custom apps
      BUG: Ensure complete processing of command-line arguments
      BUG: Remove unnecessary display of ignored arguments
      STYLE: Relocate qSlicerScopedTerminalOutputSettings to support earlier use
      ENH: Handle invalid ErrorLogModel in qSlicerScopedTerminalOutputSettings
      ENH: Re-introduce logging of unparsed arguments to log file only
      ENH: Simplify artifact upload condition in "CI (Build)" workflow
      BUG: Skip "CI (Build)" workflow for SuperBuild changes on "nightly-main"
      ENH: Add Github workflow to update the "nightly-main" branch daily
      BUG: Fix GitHub workflow for daily updates to "nightly-main" branch
      BUG: Fix GitHub workflow authentication for "Update Preview Branch"
      BUG: Restore support for writing CLI output as .fcsv files
      BUG: Update DCMTK to backport fixes for CVE-2022-2119 and CVE-2022-2120
      ENH: Update DCMTK from 3.6.6 to 3.6.8
      COMP: Update DCMTK to support building client project without /Zc:__cplusplus
      STYLE: Remove unused MRMLIDImageIO API
      PERF: Update ITK to suppress irrelevant TIFF warnings
      ENH: Revisit approach to suppress irrelevant TIFF warnings
      COMP: Resolve deprecated warning in MRML testing macro for std::string
      COMP: Replace vtkStdString with std::string
      COMP: Add support for optionally building DCMTK with OpenSSL enabled
      BUG: Ensure background SeriesTime corner annotation is displayed
      STYLE: Fix typo associated with SliceAnnotations property name
      ENH: Update minimum required Doxygen version from 1.8.4 to 1.10.0
      ENH: Speed-up doxygen generation enabling parallel build
      ENH: Add GitHub workflow to trigger Doxygen build and publish
      COMP: Fix manual trigger of Doxygen build and publish through GitHub UI
      COMP: Include runtime libraries to ensure compatibility in SlicerExecutionModel
      COMP: Remove explicit dependency of MarkupsROINode on JSON storage node
      COMP: Add support for codespell 2.4.0 and fix identified typos
      STYLE: Streamline maintenance sorting includes in vtkMRMLScene
      STYLE: Consistently use spaces when calling vtkMRMLScene::RegisterNodeClass
      ENH: Deterministically register nodes in MRML scene constructor
      STYLE: Streamline maintenance sorting lists in MRML/Core/CMakeLists.txt
      BUG: Suppress "Populating font family aliases" warning on macOS
      STYLE: Streamline maintenance sorting includes in vtkMRMLSliceLogic
      COMP: Clean up includes and forward declarations in vtkMRMLSliceLogic
      STYLE: Streamline maintenance sorting includes in vtkSlicerMarkupsLogic
      COMP: Clean up includes in vtkSlicerMarkupsLogic
      BUG: Fix SampleData tests to align with revised file loading behavior
      ENH: Use specified filename as node name in SampleDataLogic.downloadFromSource
      BUG: Fix self-tests by explicitly setting file loading parameters
      BUG: Add support for configuring `_manylinux` module
      ENH: Slicer 5.8.0
      ENH: Begin 5.9.0 development
      COMP: Update python-cmake-buildsystem anticipating python version update
      COMP: Update VTK backporting fix to support building on Linux with clang
      DOC: Update Transforms module API documentation adding missing Doxygen links
      BUG: Fix duplicated registration of Markups node in tests
      COMP: Simplify generate_extension_description_test
      COMP: Refactor and simplify slicerFunctionGenerateExtensionDescription
      COMP: Simplify includes vtkSlicerApplicationLogic.h
      COMP: Remove direct dependency on ITK from vtkMRMLApplicationLogic
      COMP: Improve type safety in `vtkSlicerApplicationLogic` thread callbacks
      COMP: Update BRAINSTools to fix macOS build (#8197)
      STYLE: Indent tbb external project anticipating upcoming changes
      COMP: Update external project to support externally built TBB libraries
      BUG: Prevent reference cycle in HistogramEventFilter used in ThresholdEffect
      BUG: Fix scene loading warning message (#8216)
      COMP: Fix -Winconsistent-missing-override in vtkMRMLMarkupsROINode
      ENH: Update vtkAddon
      DOC: Improve slicer.util.updateTableFromArray documentation
      ENH: Support structured (record) arrays in slicer.util.updateTableFromArray
      BUG: Fix handling of boolean array in slicer.util.updateTableFromArray
      ENH: Update slicer.util.plot to support plotting numpy boolean array
      DOC: Update vtkMRMLSliceLogic to use doxygen grouping markers
      DOC: Update vtkMRMLSliceCompositeNode to use doxygen grouping markers
      BUG: Fix indentation in vtkMRMLAbstractViewNode::PrintSelf
      BUG: Add missing newlines in PrintSelf
      ENH: Mark SlicerLogic UpdateBlendLayers() & UpdateFractions() helpers as static
      DOC: Update BlendPipeline comment to reference fractional addition
      DOC: Update BlendPipeline comment to correctly depict AddSubAppendRGBA inputs
      DOC: Fix typo in BlendPipeline comment
      DOC: Remove obsolete comment from vtkMRMLSliceLogic::UpdatePipeline
      ENH: Update vtkAddon anticipating update to VTK >= 9.4
      ENH: Consolidate SliceLogic calls to SetInterpolateTexture
      DOC: Improve or add comments in vtkMRMLSliceLogic::UpdatePipeline
      ENH: Check for minimum supported VTK version
      COMP: Explicitly include vtkVersion.h where VTK_VERSION_* macros are used
      COMP: Remove setting of obsolete Slicer_VTK_USE_QVTKOPENGLWIDGET
      COMP: Remove support for obsolete VTK OpenGL rendering backend
      COMP: Remove enablement of obsolete GUISupportQtOpenGL VTK module
      COMP: Remove obsolete VTK_RENDERING_BACKEND option and hard-code OpenGL2
      BUG: Ensure blend pipeline is updated when setting operation Add or Subtract
      BUG: Avoid unnecessary error message in UpdateAddSubOperation
      ENH: Generalize SliceLogic API introducing "Nth Layer" functions
      ENH: Generalize SliceLogic API introducing HasUVWInputs() and HasInputs()
      ENH: Generalize CompositeNode API introducing "Nth Layer" functions
      ENH: Refactor vtkMRMLSliceLogic::UpdatePipeline to use "Nth Layer" API
      ENH: Generalize CompositeNode "opacity" API introducing "Nth Layer" functions
      ENH: Generalize blending pipeline to support arbitrary number of layers
      COMP: Exclude dependabot and pre-commit pull requests from changelog
      COMP: Update build-system to support forcing extension revision
      ENH: Improve author warning accuracy in SlicerMacroExtractRepositoryInfo

Jeff Miller (1):
      BUG: Fix hanging progress popup in DICOM browser (#8062)

Johnson Hu (1):
      STYLE: Fix typo replacing Visibile with Visible

Jon Haitz Legarreta Gorroño (18):
      DOC: Fix typos and grammar
      DOC: Fix miscellaneous typos in the documentation
      DOC: Consolidate coordinate system documentation
      DOC: Fix developer guide extensions section bash snippet syntax (#7132)
      COMP: Fix CMake 3.26 warning in SlicerLinkerAsNeededFlagCheck project (#7135)
      DOC: Add build CI badge to `README` (#7221)
      COMP: Mark parameter as not used unconditionally
      COMP: Fix VTK configuration warning removing setting of obsolete option
      COMP: Fix reporting of -Wunused-function related to qSlicerApplicationHelper
      COMP: Call `c_str()` to get `const char*` for property comparison tests
      STYLE: Fix miscellaneous grammar and typos
      COMP: Use `Qt::SkipEmptyParts` instead of deprecated `QString::SkipEmptyParts`
      COMP: Fix unused parameter warnings in `vtkMRMLI18NTest1.cxx` (#7413)
      COMP: Fix -Wimplicit-fallthrough warnings in qSlicerStyle
      COMP: Fix -Wnonnull warnings in MRML Annotation nodes
      COMP: Fix -Wstringop-truncation GCC warning in vtkMRMLROIListNode
      COMP: Fix ITK's threading-related method name deprecation warnings (#7400)
      ENH: Update slicer.util.loadFiberBundle to check for registered reader (#7375)

Kyle Sunderland (60):
      ENH: Add vtkITKGrowCut filter
      BUG: Fix closed surface disappearing when segment is removed
      PERF: Improve performance when removing segmentation from SH tree
      BUG: Fix "Show 3D" button not updating during undo/redo
      ENH: Remove FreeSurfer file extensions from qSlicerModelsReader
      BUG: Fix nodes not getting removed in vtkMRMLSequenceNode::SetDataNodeAtValue
      BUG: Fix parameter node wrapper observers not being removed
      BUG: Remove use of deprecated GetNumberOfMarkups in vtkMRMLMarkupsPlaneNode
      BUG: Fix incorrect enter/exit called after scripted module reload
      ENH: Add interaction handle visualization for linear transform nodes (#7562)
      ENH: Add DICOM support for Multi-frame Grayscale Byte Secondary Capture Image
      ENH: Add finer control of 2D interaction handle axis display
      ENH: Clean up vtkMRMLLinearTransformsDisplayableManager implementation
      ENH: Add jump to handle action for interaction handles
      ENH: Add cancel action for interaction handles
      BUG: Fix issues caused by invalid Segmentation binary labelmap scalar types
      BUG: Fix crash in Markups widget when closing scene
      ENH: Improve interaction options in Transforms SH plugin and module widget
      ENH: Re-enable display of interaction handles in VR
      BUG: Fix markups handle scale not updating
      ENH: Add SH options to control transform interaction handle type visibility
      BUG: Fix crash when deleting multiple markups in subject hierarchy (#7736)
      BUG: Fix crash in vtkPointLocator when markups curve polydata is empty
      BUG: Fix warning messages when creating markups with no display nodes
      BUG: Fix warnings when vtkMRMLModelNode has no mesh data
      ENH: Add methods for comparing terminologies
      ENH: Hide angle markups when the line doesn't intersect with the slice
      BUG: Fix flickering when mousing over interaction handles while holding alt
      DOC: Update Transforms module documentation to include interaction info
      ENH: Add RemoveUnusedDisplayProperties to vtkMRMLSegmentationDisplayNode
      ENH: Migrate vtkSingleton to vtkAddon
      ENH: Generate unique segment IDs using UUID identifier
      BUG: Fix markups interaction handles not respecting visibility options
      BUG: Fix issue saving transform including non-origin center of transformation
      ENH: Reduce bundle temp directory length when saving scene mrb
      BUG: Fix subject hierarchy help button tooltip's appearance in dark mode
      BUG: Fix missing Markups ROI fill in some views
      BUG: Fix vtkMRMLTextStorageNode::WriteDataInternal not throwing error
      BUG: Fix issue preventing interacting with Markups curves
      BUG: Fix incorrect plane interaction scale handles initialization
      ENH: Add option to specify properties for each node reference
      ENH: Add clipping options to models, segmentation, and volume rendering
      BUG: Fix saving with long node names
      BUG: Fix backface color on Slice nodes in 3D views
      STYLE: Fix typo replacing clipingState with clippingState
      BUG: Fix crash when hovering over interaction handles after scene load
      BUG: Fix interaction handle enable/disable not working in views
      BUG: Fix incorrect vtkMRMLSliceDisplayNode XML attribute name
      BUG: Fix folder display override for model nodes
      ENH: Move Set/GetSliceClipState methods to vtkMRMLClipNode
      BUG: Add Point(Start/End)InteractionEvent for Markups interaction handles
      ENH: Move singleton declaration from vtkMRMLLayoutNode constructor
      ENH: Add CopyContent to vtkMRMLLayoutNode/vtkMRMLSequenceBrowserNode
      ENH: Update Scene Views to use Sequences
      BUG: Fix failing py_nomainwindow_* tests
      BUG: Fix invalid scene view indexing
      COMP: Fix warning due to missing return path
      BUG: Call Modified if segment display properties changed during copy
      ENH: Add option to hide missing display nodes in sequences
      BUG: Fix excessive qMRMLSceneViewMenu::resetMenu calls

Laurent Lg (1):
      DOC: Add slicerio example for looking up segment by terminology codes

Lee Newberg (14):
      DOC: Copy edits to mrml_overview.md
      BUG: Fix closed curve length computation with custom number of points
      DOC: Update sceneviews.md replacing literal \n with newline (#7340)
      ENH: Update Endoscopy moving model creation into "Advanced" section
      ENH: Update Endoscopy removing support for interpolating fiducial list
      ENH: Add support for managing orientation keyframe in Endoscopy
      ENH: Use "Use this curve" instead of "Create flythrough path" (#7435)
      BUG: Fix rebuild of Endoscopy flythrough when modifying the input curve
      BUG: Recompute EndoscopyLogic fields immediately instead of lazily
      DOC: Match updated interface in SlicerSurfaceToolbox Dynamic Modeler
      COMP: Update vtkMRMLScene with includes of explicitly used classes
      COMP: Relocate vtkMRMLInteractionEventData based on its usage
      COMP: Move classes from Modules/Loadable/Markups/MRML to Libs/MRML/Core
      ENH: Add Curved Planar Reformation (CPR) support to GeneralizedReformat (#8148)

Lucas Gandel (1):
      ENH: Update crosshair cursor position on 3D view mouse move events (#6937)

Martin Strunz (8):
      COMP: Remove unused variable in vtkCacheManager::IsLocalReference
      COMP: Remove unused variable in vtkSlicerUnitsLogic::SaveDefaultUnits
      COMP: Fix potentially invalid pointer in vtkSlicerSegmentationsModuleLogic
      BUG: Fix consistency check in vtkMRMLVolumeSequenceStorageNode
      COMP: Remove duplicated include in vtkMRMLSequenceNode.cxx (#7106)
      STYLE: Remove duplicated include in qSlicerPersistentCookieJar (#7158)
      STYLE: Remove duplicated include in vtkMRMLSequenceStorageNode.cxx
      STYLE: Remove unused variable in vtkMRMLNode.cxx

Mathieu Albi (1):
      BUG: SHTree setCurrentItems do not deselect items before selecting them again

Matthew (1):
      BUG: Fix typo in Grow From Seeds help text

Maurilio Genovese (1):
      DOC: Add instructions for setting up development environment on Ubuntu 23.04

Mauro I. Dominguez (2):
      ENH: Allow disabling histogram (2D views) interactions of ThresholdEffect
      ENH: Update SlicerSurfaceToolbox to include dynamic modeler extrude tool

Mikhail Polkovnikov (2):
      BUG: Fix color legend visibility on non-standard slice views
      ENH: Adds loadSuccess flag to loadable Qt and VTK DICOM classes

Milan Parikh (1):
      DOC: Add documentation for 3D view ctrl + left-click + drag

Mohamed Alalli (2):
      BUG: Mark translatable strings in ExtensionWizard and Terminologies
      BUG: Mark translatable strings in Plots, Reformat, Texts, Transforms modules

Mouhamed DIOP (6):
      BUG: Enable language translation in MRML classes
      BUG: Make Segment Editor effect names translatable
      BUG: Make more strings translatable
      BUG: Fix language translation of subject hierarchy plugins
      ENH: Add translation for VolumeDisplayPresets.json
      BUG: Mark translatable strings in Markups module

Mujassim Bhaijamal (1):
      DOC: Fix segmentation example in script repository

Natalie Johnston (3):
      ENH: Make datetime string in error dialog more readable (#7225)
      BUG: Use log filename to get app version and revision for error report dialog
      ENH: Report custom application revision in log filename

Nathan Bucki (1):
      DOC: Update Model Maker Documentation (#8313)

Papa ndiaye (1):
      BUG: Make table columns translatable

Rafael Palomar (5):
      DOC: Fix typo in `License.txt`
      ENH: Remove exposure of `ui_*.h` files from public `.h` files
      DOC: Update Linux documentation
      COMP: Improve system Qt detection on Debian usr-merge and multiarch systems
      ENH: Generalize internal `qt_root_dir` path (#8219)

SET (1):
      ENH: Add a setting for the overwrite mode masking option of the segment editor

Sadhana Ravikumar (2):
      DOC: Fix links to slicer doxygen in the developer guide (#8171)
      DOC: Dynamically generate links to slicer doxygen based on ReadTheDocs version (#8176)

Saleem Edah-Tally (1):
      ENH: Control the amount of console output of the python web proxy

Sam Horvath (2):
      BUG: Use main project version for macOS short version string in bundle
      ENH: Add ctkColorPickerButton support with QColor in parameterNodeWrapper

Sara Rolfe (2):
      BUG: Fix handling of non-modified terminology types
      ENH: Translation/rotation of unlocked points in a list

Shai Berger (1):
      DOC: Clarify doc of vtkMRMLMarkupsROINode::GetObjectToWorldMatrix

Shelly Belsky (2):
      DOC: Fix various broken documentation links in developer guide (#8179)
      ENH: Support specifying extension contributors as CMake list

Shreeraj Jadhav (4):
      COMP: Enable OpenSSL support in DCMTK build
      COMP: Ensure setting run_ctest_with_upload to FALSE skips package upload (#8170)
      ENH: Centralize retrieval of Markups Moving attributes in display node (#8173)
      ENH: Add support for additional NumPy types in slicer.util.updateTableFromArray

Slicer Bot (6):
      ENH: Update Slicer.crt CA bundle
      [...]

Stephen Crowell (3):
      ENH: Add PatientID query parameter to DICOMweb study retrieve
      ENH: Update vtkMRMLSliceNode to use MRML helper macros
      ENH: Add display of non-interactive Thick Slab markers in slice viewers

Steve Pieper (16):
      BUG: Support color DICOM data series (#7089)
      BUG: Fix "model" and "plane" slice intersection display
      COMP: Update CompareVolumes to fix tooltip of testing scenario buttons (#7183)
      DOC: Add security note about older releases
      DOC: Add docs for CompareVolumes module (#7152)
      ENH: Update CTK DICOM Database version from 0.7.0 to 0.8.0 (#7472)
      ENH: Update https support and add WebXR demo as transform controller
      DOC: Update outdated https link in WebServer code
      DOC: Add ubuntu 22.04 build instructions (#7689)
      DOC: Add WebServer example scripts
      DOC: Fix WebServer script repository formatting (#7843)
      BUG: Update LandmarkRegistration in SuperBuild.cmake (#7977)
      BUG: Regression for scans with negative spacing in DICOM (#7987)
      BUG: Check for null pointer before fitting volume
      DOC: Update dicom.md
      BUG: Do not load DWMRI volumes as sequences (#8242)

Tamas Ungi (2):
      ENH: Save DICOM instance UID in image sequence plugin
      DOC: Clarify steps for installing Qt in windows build instructions

Thibault Pelletier (2):
      ENH: Improve vtkMRMLVolumeArchetypeStorageNode for left handed volumes
      BUG: Fix Model DM crash when adding display node

Tom Birdsong (8):
      COMP: Refactor `DICOMProcess` and `DICOMCommand`
      ENH: Expose authentication parameters for DICOMweb networking
      ENH: Improve error handling in `DICOMSendDialog`
      DOC: Update developer guide for DICOMweb integration
      COMP: Update `SlicerRequestHandler` for standard line endings
      ENH: Add `SlicerBaseRequestHandler` interface to WebServer module
      ENH: Update request handlers for base inheritance
      ENH: Update `WebServer` for base class inheritance

Tom Osika (3):
      STYLE: Improve naming of internal SliceIntersection representation API
      ENH: Add support for interactively adjusting Thick Slab from slice viewers
      BUG: Ensure proper cleanup of Segment Editor effects

cpoette (2):
      BUG: Remove redundant "Warning:" prefix in DICOM popup
      ENH: S…
…dates

This commit updates Slicer to include the MeshAlignment module added to the
the SlicerSALT fork of SlicerSurfaceToolbox.

The changes correspond to those proposed in Slicer/SlicerSurfaceToolbox#71,
which are still under review and not yet merged upstream.
$ git shortlog abba97578cf86a21e89a21b81be8bcc142f0e897..5c60a54b2dc0fb744c1a080928330de50f9f9983 --no-merges
Jean-Christophe Fillion-Robin (2):
      ENH: Update extension metadata
      COMP: Fix configuration against ITK>=5.4

Sam Horvath (1):
      COMP: Remove unused Subversion package find
When launching a Slicer (or Slicer-based) application built with
`Slicer_BUILD_DICOM_SUPPORT` set to `OFF`, the application fails to
load the `WebServer` module due to a missing dependency:

```
Traceback (most recent call last):
  ...
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServer.py", line 18, in <module>
    from WebServerLib.BaseRequestHandler import BaseRequestHandler, BaseRequestLoggingFunction
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServerLib/__init__.py", line 2, in <module>
    from .DICOMRequestHandler import DICOMRequestHandler
  File "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServerLib/DICOMRequestHandler.py", line 2, in <module>
    import pydicom
ModuleNotFoundError: No module named 'pydicom'
loadSourceAsModule - Failed to load file "/work/salt/build_59/Slicer-build/lib/SlicerSALT-5.9/qt-scripted-modules/WebServer.py"  as module "WebServer" !
Fail to instantiate module  "WebServer"
The following modules failed to be instantiated:
   WebServer
```

This happens because `WebServerLib/DICOMRequestHandler.py` unconditionally
imports `pydicom`, even when DICOM support is explicitly disabled at build
time.

This commit works around the issue by disabling the WebServer module.
This commit updates Slicer to include the following modules added to the
the SlicerSALT fork of SlicerSurfaceToolbox:
- AverageMesh
- MeshDataImprinter
- SurfaceDistance
- SurfaceFeatureExtractor

It also backports improvements associated with the MeshAlignment module.

List of changes:

```
$ git shortlog 9a57ff58e..23a3bdb0e --no-merges
Jean-Christophe Fillion-Robin (1):
      ENH: Backport SurfaceToolbox module updates from SlicerSALT fork
```
@jcfr jcfr force-pushed the update-slicer-and-SlicerSurfaceToolbox branch from 5751495 to a289c16 Compare April 17, 2025 14:59
@jcfr jcfr requested a review from vicory April 17, 2025 15:00
@jcfr
Copy link
Member Author

jcfr commented Apr 17, 2025

This has been rebased and is ready for final review & integration

Are we waiting for the upstream merges first?

Those pull request are for future reference only and not blocker for the SlicerSALT release

@vicory vicory merged commit 9021674 into master Apr 17, 2025
@bpaniagua bpaniagua mentioned this pull request Apr 28, 2025
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants