Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.0.2] Maintenance 5.0 backports #6398

Merged
merged 70 commits into from
Jul 8, 2022

Commits on May 27, 2022

  1. BUG: Fix infinite loop when loading singleton transforms

    (cherry picked from commit 5514b17)
    
    When loading a scene that contains singleton transform nodes it is possible to enter an infinite loop calling vtkMRMLTransformNode::GetTransformBetweenNodes(). This can happen if a circular loop is created between the transform nodes as their references are being updated.
    
    Fixed by checking for duplicate transform nodes in vtkMRMLTransformNode::GetTransformBetweenNodes if the maximum transform depth is reached (100). If a loop is detected, then the transform is set to identity, and a warning is logged.
    
    Re Slicer#6355
    Sunderlandkyl authored and jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    4597890 View commit details
    Browse the repository at this point in the history
  2. BUG: Fix loading of table node without schema

    (cherry picked from commit 260478f)
    
    Repeated loading of empty table node failed. The issue was that for empty tables no schema file was generated and the schema filename was set to "".
    However, when the scene was loaded this empty filename was converted to an absolute path (a folder name). When this scene was saved and loaded again then loading the scene file from that path failed.
    
    Fixed the issue by leaving empty filenames empty during scene loading (not converting them to an absolute path).
    
    Fixes Slicer#6371
    
    Co-authored-by: Gabriel Muller <gabriel.muller@ltrace.com.br>
    2 people authored and jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    38af1dd View commit details
    Browse the repository at this point in the history
  3. BUG: Fix regression introduced in Endoscopy module

    (cherry picked from commit 3d66964)
    
    This commit fixes a regression introduced in a258951 (BUG: Consolidate
    vtk.util.numpy_support imports to fix UnboundLocalError) where the use
    of `vtk_to_numpy` function was inadvertently removed.
    gaoyi authored and jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    021e660 View commit details
    Browse the repository at this point in the history
  4. BUG: Fix incorrect linking of 3D views in different view groups

    (cherry picked from commit 840406b)
    
    All 3D views were synchronized, regardless of view group ID, because due to misleading variable names, the view group ID always ended up being compared to itself.
    
    Fixes issue reported at https://discourse.slicer.org/t/linked-control-behavior-of-threedviews-with-different-view-groups-linked-control-ignores-view-group-setup/23383/2
    lassoan authored and jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    66bbf3a View commit details
    Browse the repository at this point in the history
  5. BUG: Fix jumping to locked markup control point

    (cherry picked from commit c79bded)
    
    When a control point is locked it means that its position cannot be changed by click-and-dragging in a view.
    However, we still want to be able to click on a control point to jump to that position in all views.
    
    Complete lock of all interactions with the markup can be achieved by locking the node instead of locking specific control points.
    lassoan authored and jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    fa005f3 View commit details
    Browse the repository at this point in the history
  6. BUG: Allow multiple qSlicerWebWidget instance injecting scripts into …

    …page (Slicer#6396)
    
    (cherry picked from commit 9c0ae2a)
    
    Since the script injection associated with qSlicerWebWidget was done globally
    and only once at the profile level, instantiating first qSlicerWebWidget
    and then qSlicerExtensionsInstallWidget was preventing the customization
    done in qSlicerExtensionsInstallWidget::initializeWebChannelTransport()
    from being effective.
    
    This commit addresses this by injecting the "qwebchannel_appended.js" script
    on per page basis. Doing so ensures each qSlicerWebWidget (and derived
    object like qSlicerExtensionsInstallWidget) will inject the expected script.
    
    It follows up on da20135 (ENH: WIP - WebEngine support for
    extension manager).
    jcfr committed May 27, 2022
    Configuration menu
    Copy the full SHA
    c2f0cd0 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2022

  1. BUG: Ensure download request are handled by web widget triggering the…

    … request
    
    (cherry picked from commit 0ac1d7c)
    
    This commit fixes a regression introduced in 9c0ae2a (BUG: Allow multiple
    qSlicerWebWidget instance injecting scripts into page) where the observation
    of the profile "downloadRequested()" signal was done multiple time.
    
    Since the download request is emitted by the default profile observed by
    all web widget instances, this change ignores the request if it does not
    originate from the page associated with this web widget instance.
    jcfr committed May 28, 2022
    Configuration menu
    Copy the full SHA
    0bcc9ec View commit details
    Browse the repository at this point in the history
  2. BUG: Improve slicer.util.messageBox() to avoid blocking in testing mode

    (cherry picked from commit 9a4d0d9)
    
    This commit is a follow up of c47d816 (ENH: Skip message boxes when testing)
    and 70bb3b2 (ENH: Refactor message box utility functions)
    jcfr committed May 28, 2022
    Configuration menu
    Copy the full SHA
    31af5d2 View commit details
    Browse the repository at this point in the history
  3. PERF: Improve markups control point movement speed

    (cherry picked from commit 423a07b)
    
    While a markup control point is moved then the displayable managers keep checking if the active place node class is supported.
    It was checked by creating a node object each time, which was an expensive operation.
    
    Improve performance by determining if the active place node class is supported by checking if it is registered in the markups logic.
    lassoan authored and jcfr committed May 28, 2022
    Configuration menu
    Copy the full SHA
    e688090 View commit details
    Browse the repository at this point in the history
  4. PERF: Improve markups control point list table update speed

    (cherry picked from commit 537eb93)
    
    The control point table is not rebuilt anymore if any markups or display node modification is performed.
    If a control point table row is updated then items are not recreated anymore
    
    fixes Slicer#6379
    lassoan authored and jcfr committed May 28, 2022
    Configuration menu
    Copy the full SHA
    1f55081 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2022

  1. BUG: Fix masking in Logical operators effect in Segment Editor

    (cherry picked from commit 3e7cf17)
    
    When "Fill" method was used in Logical operators effect, sometimes masking settings had no effect.
    See user error report at https://discourse.slicer.org/t/how-can-i-save-whole-heart-without-empty-spaces/23596/13
    
    The problem was that Logical operators did not initialize the ModifierLabelmap and qMRMLSegmentEditorWidgetPrivate::updateMaskLabelmap() method
    relied on having a valid ModifierLabelmap for creating the mask.
    
    Fixed the issue by creating the mask labelmap based on the segmentation's reference image geometry (instead of the ModifierLabelmap's geometry,
    which may be invalid).
    lassoan authored and jcfr committed May 30, 2022
    Configuration menu
    Copy the full SHA
    775d8b4 View commit details
    Browse the repository at this point in the history
  2. BUG: Fix crash in interactive slice intersections

    (cherry picked from commit 197a96b)
    
    When a view contained markups and interactive slice intersections, the application could crash while moving and dragging markup control points.
    
    The problem was that when a widget was forced to release the focus the `widget->Leave(eventData)` method was called with `nullptr`, but the `Leave`
    method actually required valid `eventData`.
    
    Fixed the issue by passing valid `eventData` to `SetHasFocus` method, which then can call `Leave` with that `eventData`.
    
    fixes Slicer#6400
    lassoan authored and jcfr committed May 30, 2022
    Configuration menu
    Copy the full SHA
    47d63eb View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2022

  1. BUG: Fix crash in ExportSegmentsToLabelmapNode with empty segment ID …

    …list
    
    (cherry picked from commit 7e891f2)
    
    vtkSlicerSegmentationsModuleLogic::ExportSegmentsToLabelmapNode crashed when no segment IDs were provided and an input colorTable node was provided.
    Empty segment list means all segments are to be exported, but this segment list was updated too late.
    Fixed the issue by updating the segment list earlier.
    lassoan authored and jcfr committed Jun 7, 2022
    Configuration menu
    Copy the full SHA
    9fda87d View commit details
    Browse the repository at this point in the history
  2. DOC: Fix incorrect links

    (cherry picked from commit df01d33)
    
    This commit fixes incorrect links identified using markdown-link-check.
    See https://github.com/tcort/markdown-link-check
    
    The problematic links have been identified running the following:
    
      cd Slicer
      for f in $(fd -e md); do
         echo $f | xargs npx markdown-link-check;
      done
    
    Type of updates are the following:
    
    * Obsolete links due to transition to GitHub
      -> Previous reference was looked in "SlicerGitSVNArchive" and then
         updated with the expected on in "Slicer"
    
    * Inconsistent reference to local document
      -> Missing ".md" suffic have been added
    
    * Non-existent website
      -> Replaced with reference from web.archive.org
    
    * Redirect
      -> Replaced with current URL
    
    * Incorrectly formatted link
    jcfr committed Jun 7, 2022
    Configuration menu
    Copy the full SHA
    f77e170 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2022

  1. BUG: Fix extensions update check

    (cherry picked from commit 33f7f2b)
    
    Extensions update check was not updated to work with Girder_v1 API.
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    a72ad29 View commit details
    Browse the repository at this point in the history
  2. COMP: Properly specify mrml scene data associated with qMRMLUtf8Test1

    (cherry picked from commit 68a506f)
    
    This commit ensures the dataset associated with "cube-utf8.mrml" scene
    is effectively downloaded.
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    2e5787c View commit details
    Browse the repository at this point in the history
  3. COMP: Backport CTK, ITK and VTK updates

    Cherry picked from:
    * 3694f90 - COMP: Fix ITK build error on macOS
    * dcd132b - COMP: Update VTK backporting fix for vtkSphericalPointIterator gcc build error
    * 650ed14 - BUG: Update to latest CTK version
    
    COMP: Fix ITK build error on macOS
    
    Includes ITK fix:
    
    Revision: 46a71c744d4856a5166df227e13c76e8c3ef55cc
    Author: Mark Asselin <mark.asselin95@gmail.com>
    Date: 2022-04-09 9:51:40 PM
    Message:
    [Backport PR-3369] COMP: Fix Slicer vtkITK build on macOS
    
    This commit addresses a Slicer macOS build error reported on Discourse
    (see https://discourse.slicer.org/t/slicer-build-on-macos-monterey/21940)
    and on GitHub (see comments on issue Slicer#5944).
    
    The _POSIX_SOURCE preprocessor identifier is defined in several places
    including by Python and several ITK ThirdParty modules. It looks like
    this definition is causing unintended side effects when building vtkITK.
    
    When itkMacro.h is #included in vtkITK, _POSIX_SOURCE causes conditional
    inclusion of code using __assert_fail and __ASSERT_FUNCTION, which are
    defined by GLIBC. Compiling under Clang on macOS this results in a compile error.
    
    This commit fixes the error by checking for the __GLIBC__ preprocessor
    identifier instead of __POSIX_SOURCE.
    ----
    Modified: Modules/Core/Common/include/itkMacro.h
    
    COMP: Update VTK backporting fix for vtkSphericalPointIterator gcc build error
    
    List of changes:
    
    $ git shortlog 684e8a602..efbbf9c02e --no-merges
    Ben Boeckel (1):
          [Backport] vtkSphericalPointIterator: include `<memory>` for `std::unique_ptr`
    
    Rational:
    
        Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.
        The following headers are used less widely in libstdc++ and may need to be included explicitly when compiled with GCC 11:
    
            (for std::numeric_limits)
            (for std::unique_ptr, std::shared_ptr etc.)
            (for std::pair, std::tuple_size, std::index_sequence etc.)
            (for members of namespace std::this_thread.)
    
    Source: https://gcc.gnu.org/gcc-11/porting_to.html
    
    Co-authored-by: Hu Butui <hot123tea123@gmail.com>
    Co-authored-by: Rafael Palomar <rafael.palomar@ous-research.no>
    
    BUG: Update to latest CTK version
    
    Includes several fixes and improvements:
    
    Revision: ec816cbb77986f6ee28c41a495e82238dee0e2d3
    Author: Mikhail Polkovnikov <pmkclnl@yandex.ru>
    Date: 2022-05-15 5:15:45 AM
    Message:
    ENH: Set a continuous CTF for the ctkVTKScalarsToColorsView as an editable function or as a read only one
    
    Revision: c97620f43dec6b1eac894d7d9c491d2af236dc22
    Author: Steve Pieper <pieper@isomics.com>
    Date: 2022-05-06 3:13:39 PM
    Message:
    Merge pull request Slicer#1031 from lassoan/fix-clipping-during-rotation
    
    BUG: Fix clipped view content when rotating view
    
    Revision: 7580e14a76448da5ca83c3a7648e510563873f9a
    Author: Andras Lasso <lasso@queensu.ca>
    Date: 2022-05-05 7:00:54 PM
    Message:
    BUG: Fix clipped view content when rotating view
    
    Camera clipping range must be reset after camera motion.
    
    Fixes issue described here: https://discourse.slicer.org/t/extremities-of-a-long-volume-vanishing-when-rotating/23234/10?u=lassoan
    
    Revision: a9687151baf82e16801cc565b9a2afe92d8caba3
    Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    Date: 2022-05-05 1:29:15 AM
    Message:
    STYLE: Explicitly associate "https" protocol with GitHub external projects
    
    Considering that since March 2022, git protocol is not supported any more
    by GitHub, this commit updates external projects to explicitly use "https"
    protocol.
    
    See https://github.blog/2021-09-01-improving-git-protocol-security-github/
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    
    Revision: a692acba8ce931b3446b0bbc0a5e1df9f0eaa9ef
    Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    Date: 2022-05-04 5:12:52 PM
    Message:
    ENH: Update ExternalProjectDependency system based on commontk/Artichoke@ea920eb
    
    List of changes:
    
    $ git shortlog 0cc99d3..ea920eb --no-merges
    Andras Lasso (1):
          Add support for EXTERNAL_PROJECT_ADDITIONAL_DIRS
    
    Jean-Christophe Fillion-Robin (13):
          ExternalProjectDependency: Remove debug statement inadvertently integrated
          Add support for "ExternalProject_Add_Dependencies"
          ExternalProject_SetIfNotDefined: Add test checking interaction with cache variable
          ExternalProject_SetIfNotDefined: If any, display corresponding cache value
          ExternalProject_SetIfNotDefined: Update docstring
          ExternalProject_Include_Dependencies: Check if superbuild variable is improperly set
          ExternalProjectDependency: Fix spellcheck
          ExternalProjectDependency: Fix variable type of automatically propagated options
          circleci: Use dockbuild/centos7-devtoolset7-gcc7 instead of dockbuild/centos6
          ExternalProjectDependency: Ensure ``User Package Registry`` look up using ``find_*`` commands is disabled
          ExternalProjectDependency: Fix CMake version check for disabling ``User Package Registry``
          doc: Update website links to https versions
          ExternalProjectDependency: Force git protocol to https
    
    Revision: dc1bbb94703d247bb9c2af1cfe75dad4c083215c
    Author: Andras Lasso <lasso@queensu.ca>
    Date: 2022-05-04 2:05:12 PM
    Message:
    BUG: Fix CTKData git url
    
    GitHub does not support anymore git protocol for anonymous access, but must use https instead.
    
    Revision: 27d9dd79ecbd97c2c97d3b898f2fb6a8ec20b4c7
    Author: Andras Lasso <lasso@queensu.ca>
    Date: 2022-05-04 1:30:34 PM
    Message:
    ENH: Improve ctkLanguageComboBox
    
    Make ctkLanguageComboBox available in Qt Designer.
    Add `refreshFromDirectories()` slot to update language list (e.g., when language files are added/removed).
    Remove unnecessary `onLanguageChanged()` signals emitted while the language list is being updated.
    
    Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    
    Revision: b261e3f88867369dff8196c4f00c917707b4b782
    Author: Mark Asselin <mark.asselin95@gmail.com>
    Date: 2021-12-29 9:35:34 PM
    Message:
    BUG: Fix build with Slicer_USE_PYTHONQT set to OFF
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    05784d5 View commit details
    Browse the repository at this point in the history
  4. DOC: Backport Documentation fixes

    Cherry picked from:
    * 9f108c3 - DOC: NSIS broken link
    * 71d053f - DOC: Add debugging by following the forked process (Slicer#6364)
    * 73ed5d4 - DOC: Describe extension versioning requirement in extensions.md
    * 0a9adf0 - DOC: Update Linux building instructions
    * 887143f - DOC: Add tip for use of ccache
    * ec4e6ff - DOC: Add tips subtitles
    * 69c0fcf - DOC: Update windows.md
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    Co-authored-by: Dwij Mistry <49182142+dwijmistry11@users.noreply.github.com>
    Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    Co-authored-by: Fernando Bordignon <fernando@ltrace.com.br>
    Co-authored-by: Rafael Palomar <rafael.palomar@ous-research.no>
    5 people committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    7b0c3fc View commit details
    Browse the repository at this point in the history
  5. ENH: Backport WebServer module

    Cherry picked from:
    * bdc1ee0 - ENH: add WebServer module (Slicer#5999)
    * d00bc5b - STYLE: Fix python lint issues in WebServer module
    * fdcdbe5 - DOC: Improve Webserver module documentation
    * fba5df4 - DOC: Improve Webserver module documentation (part 2)
    * 9c7f205 - DOC: extra details and warnings about WebServer (Slicer#6370)
    * c9a95b1 - ENH: Add DICOMweb example to webserver examples page
    * 0f29c7c - BUG: Fix WebServer failing to load when Slicer built without DICOM support (Slicer#6407)
    pieper authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    3475865 View commit details
    Browse the repository at this point in the history
  6. BUG: Backport slicer.util.(delayDisplay|messageBox) updates

    Cherry picked from:
    * c4ac067 - ENH: Improve slicer.util.delayDisplay to show dialog relative to mainwindow
    * a28a2c2 - BUG: Update slicer.util.delayDisplay to remove from taskbar thumbnail preview
    * 7ddbe77 - ENH: Update slicer.util.messageBox to display a delayed pop in testing mode
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    6408790 View commit details
    Browse the repository at this point in the history
  7. COMP: Fix macOS build error updating libarchive from 3.5.2 to 3.6.1

    (cherry picked from commit 80869f1)
    
    This commit updates libarchive to fix a macOS build error specific to
    debug builds.
    
    For reference, commit libarchive/libarchive@a4c3c90bb (Remove the unused variable detected_bytes)
    fixes the following build error:
    
    ```
    /opt/s/LibArchive/libarchive/archive_read_support_format_mtree.c:695:10: error: variable 'detected_bytes' set but not used [-Werror,-Wunused-but-set-variable]
            ssize_t detected_bytes = 0, len, nl;
                    ^
    1 error generated.
    ```
    
    List of changes:
    
    $ git shortlog 1b2c437b9..6c3301111 --no-merges
    AdamKorcz (1):
          Add CIFuzz
    
    Alex Richardson (2):
          Reduce test_write_format_7zip_large_lzma1 buffer size
          Avoid millions of rand() calls() when running tests
    
    Alex Xu (1):
          libarchive.3: update archive format list
    
    Alexey Pelykh (1):
          Include android_lf.h only for libarchive sources
    
    Brad King (1):
          windows: include archive_platform.h first in blake2s sources
    
    Charly C (1):
          fix the archive_write_disk.3 man page
    
    Christian Hesse (1):
          unescape when extracting link
    
    Dustin Howett (3):
          windows: make sure we use the right calling convention for libc
          fix: include archive_platform in ...cpio to ensure calling convention
          Remove dependency on user32
    
    Emil Velikov (20):
          mtree reader: return early, remove fallthrough chain
          editorconfig: add simple top-level file
          archive: constify the archive::vtable dispatch
          reader: remove unused read_filter_bidder::options
          reader: remove archive_read_filter_bidder_vtable::free stubs
          reader: remove the return type of archive_read_filter_bidder_vtable::free
          reader: introduce archive_read_filter_bidder::vtable
          reader: transform get_bidder into register_bidder
          archive: remove ::compression_{code,name}
          reader: reuse client_{open,close}_proxy more
          reader: track read_filter "can_seek" with a flag
          reader: track read_filter "can_skip" with a flag
          reader: remove unused archive_read_filter callbacks
          reader: introduce struct archive_read_filter_vtable
          cmake: fold gcc/clang sections
          cmake: drop -rdynamic aka CMP0065 NEW
          tar: demote -xa from error to a warning
          cmake: enable -fdata/function-sections and --gc-sections
          autotools: enable -fdata/function-sections and --gc-sections
          archive_digest: check return value of EVP_DigestInit()
    
    Graham Percival (1):
          Fix Y2038 check
    
    Grzegorz Antoniak (3):
          RAR5 reader: fixed out of bounds read in some files
          RAR5 reader: fix invalid memory access in some files
          RAR5 reader: add more checks for invalid extraction parameters
    
    IohannRabeson (1):
          Make all the implicit cast explicit.
    
    JFranklin13 (1):
          Add support for rar5 sfx files
    
    Jairo (3):
          Windows support
          Update untar.c
          Update untar.c
    
    Joerg Sonnenberger (1):
          Support ARCHIVE_EXTRACT_SECURE_NODOTDOT on Windows
    
    Jonas Witschel (4):
          Add ARCHIVE_READDISK_NO_SPARSE to suppress reading sparse file info
          tar: expose ARCHIVE_READDISK_NO_SPARSE as --no-read-sparse
          test_sparse_basic: do not assume that holes can be read in one go
          test_sparse_basic: test ARCHIVE_READDISK_NO_SPARSE
    
    Jung-uk Kim (2):
          Enable LZMA support for FreeBSD
          bsdtar(1): Document threads options for zstd and xz
    
    Ken Matsui (1):
          Remove the unused variable `detected_bytes`
    
    Martin Matuska (25):
          Libarchive 3.5.3dev
          CI: provide a more complete Ubuntu package list
          Fix following symlinks when processing the fixup list
          archive_write_set_format_cpio_binary: fix compilation on OpenBSD
          archive_write_disk_posix: fix writing fflags broken in 8a1bd5c
          CI: fix ubuntu distcheck
          dist: add missing zipx-zstd test files to Makefile.am
          zip: fix possible endless loop if reading a truncated zstd archive
          tar: fix format name typo in creation_set.c
          untar.c: style fixes
          tests: fix style in test_utils/test_main.c
          CI: add dist-artifact
          Libarchive 3.6.0dev
          Release 3.6.0
          Libarchive 3.6.1dev
          tests: reduce sample size for RAR filter test
          RAR reader: fix heap-use-after-free in RAR (v4) filter code
          ci (GitHub Actions): build on Windows 2022 and use Visual Studio 17 2022
          7zip reader: style fixes after 3962d596d
          RAR reader: fix null-dereference in RAR (v4) filter code
          build: fix detection of readdir_r() and dirfd() in configure.ac
          ISO reader: fix possible heap buffer overflow in read_children()
          RAR reader: fix heap-use-after-free in run_filters()
          Release 3.6.1
          CI: Update dependencies for Windows build
    
    Mateusz Piotrowski (1):
          Fix use of At mdoc(7) macro
    
    Michael Osipov (1):
          Add macro for dirfd() on HP-UX because no full POSIX.1-2008 coverage exists
    
    Michał Górny (2):
          Fix expected error messages in test_read_format_zip_winzip_aes*
          Handle missing zlib in test_read_format_zip_7z_deflate
    
    Peter Pentchev (1):
          Raise the lzip max dictionary size to 512MB.
    
    Petr Malat (1):
          Support libzstd compiled with compressor disabled
    
    Russell Greene (2):
          zstd filter writer: add threads option
          fix --threads commandline
    
    Ryan Libby (2):
          tar: respect --ignore-zeros in c r & u modes when reading archives
          tar/test/test_option_ignore_zeros.c: test tar --ignore-zeros
    
    Samanta Navarro (3):
          Fix size_t cast in read_mac_metadata_blob
          Ignore size of directories with regular type
          Added test case for ustar directory handling
    
    Theo Buehler (1):
          Remove OpenSSL compat code that misuses the API
    
    Tim Kientzle (2):
          Reorganize test code a bit
          ZIP reader: fix possible out-of-bounds read in zipx_lzma_alone_init()
    
    Todd Richmond (1):
          zip size entry of -1 should be treated the same as 0
    
    Walter Lozano (2):
          Add path fallback in tar
          Fix check for tape device
    
    Wei-Cheng Pan (2):
          support rar filters
          add test
    
    Younes El-karama (1):
          Fix typo in libarchive/archive_read_support_filter_lzop.c
    
    Zdenek Zambersky (1):
          Fixed size filed in pax header
    
    cielavenir (2):
          Fix 7z PPMD reading beyond boundary
          code review
    
    jiat75 (15):
          added missing checks for canLzip, canLzma, and canXz
          Added all exported but undocumented functions to man pages
          Removed unused function.
          Added bin folder to .gitignore
          Only use deflate when size is not set if the user did not specify a compression algorithm
          Added test for writing an zip file without entry size and no compression
          Added assertions for folder
          Added new test to cmake lists
          Added copyright to new test file.
          Adding test to Makefile.am
          Reusing code from zip size known and adjusting comments
          Using the new .editorconfig to fix formatting on size unset store test
          Fixing typo in archive_read_disk man page
          Cleaned up archive_read_disk_descend functions.
          Added error message when archive extraction fails
    
    jo620kix (2):
          ZIP reader: added support for Zstd decompression
          Add offset variable to zip_read_data_zipx_zstd
    
    linear cannon (4):
          define printf format specifiers if not present
          import m4_ax_compile_check_sizeof.m4 from autoconf archive
          update CMake sizeof definitions to match autotools
          update BLAKE2_PACKED macro with a non-GCCism fallback
    pieper authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    27b1378 View commit details
    Browse the repository at this point in the history
  8. ENH: Make model slice intersection thickness control intersection poi…

    …nt size as well
    
    (cherry picked from commit adf8985)
    
    Models -> Display -> Slice display -> Line width now has effect when the model consists of a line.
    Previously, when a line model intersected the slice the intersection point was always just 1 pixel.
    
    Fixes issue described at https://discourse.slicer.org/t/model-linewidth/23330
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    bba1784 View commit details
    Browse the repository at this point in the history
  9. ENH: Increase maximum number of colors loaded from colortable files (S…

    …licer#6358)
    
    (cherry picked from commit 1efef1b)
    
    File loading performance is fixed by implementing bulk setting of color values.
    
    Increased maximum number of accepted entries to 1 million as requested in Slicer#6354.
    Loading of a file with 1 million as the maximum ID takes only a few seconds.
    Colors module performance is not great with such huge tables. It takes about 20 seconds
    to display a color table with 1 million entries.
    
    fixes Slicer#6354
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    ddb0de3 View commit details
    Browse the repository at this point in the history
  10. COMP: Fix python launcher environment in custom app

    (cherry picked from commit 1bdfefe)
    
    This commit ensures python launcher associated custom application
    can successfully load the application environment.
    
    It follows up on 94080fe (BUG: Ensure PythonSlicer loads extension
    settings) and updates PythonLauncherSettings.ini ensuring there is no
    hardcoded reference to the additional settings.
    
    Instead of using SlicerLauncherSettings.ini, the filename is set
    based on the custom application name.
    fbordignon authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    8af0002 View commit details
    Browse the repository at this point in the history
  11. COMP: Do not require building extension from git repository

    (cherry picked from commit 1a0daf9)
    
    Developers often complained that their extension build failed for some
    unknown reason and frequently the issue was that they did not store the
    source code in a git repository.
    
    It is good to encourage developers to use best practices, such as version
    control, but making the build fail if they build from a non-version-controlled
    repository was unnecessarily strong measure.
    
    This commit changes the behavior so that if an extension is built from a
    non-git folder then the build succeeds, just a warning is displayed during
    project configuration step and `NA` is used as the extension's WC revision.
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    jcfr and lassoan committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    214f86b View commit details
    Browse the repository at this point in the history
  12. COMP: Fix gcc 11 build error

    (cherry picked from commit f6eb388)
    
    Add header `<memory>` for `std::unique_ptr`.
    
    This commit is a follow up of dcd132b (COMP: Update VTK
    backporting fix for vtkSphericalPointIterator gcc build error).
    
    Rational:
    
        Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.
        The following headers are used less widely in libstdc++ and may need to be included explicitly when compiled with GCC 11:
    
            (for std::numeric_limits)
            (for std::unique_ptr, std::shared_ptr etc.)
            (for std::pair, std::tuple_size, std::index_sequence etc.)
            (for members of namespace std::this_thread.)
    
    Source: https://gcc.gnu.org/gcc-11/porting_to.html
    hubutui authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    40b3dda View commit details
    Browse the repository at this point in the history
  13. BUG: Fix vtkMRMLColorLogicTest1

    (cherry picked from commit f8c7118)
    
    Fix regression caused recent change in how color names are initialized in vtkMRMLColorTableNode.
    
    Fixes Slicer#6382
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    45cbae3 View commit details
    Browse the repository at this point in the history
  14. BUG: Ensure vtkMRMLCameraNode layout name can be updated

    (cherry picked from commit ba34656)
    
    This commit is a follow up of e78f557 (ENH: Simplify view widgets
    initialization from view nodes) that originally introduced the
    vtkMRMLCameraNode::GetLayoutName/SetLayoutName.
    
    It makes sure that the layout name associated with a given camera node
    can be set to a different value after it had already been set once.
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    c069ff0 View commit details
    Browse the repository at this point in the history
  15. ENH: Make built-in procedural color nodes (such as PET-DICOM) read only

    (cherry picked from commit 06a7d69)
    
    Built-in procedural color nodes are read-only, but in the Colors module GUI the colormap was editable by clicking on the colormap and adding/moving control points.
    This commit removes the control points, so the read-only nodes are not editable anymore.
    
    see Slicer#6111
    Mikhail Polkovnikov authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    149527b View commit details
    Browse the repository at this point in the history
  16. BUG: Make qSlicerUtilsTest1 more robust

    (cherry picked from commit 9867446)
    
    When the working copy is reconfigured and a full Slicer build is not performed then qSlicerUtilsTest1 failed with:
    
    Line 408 - Problem with isPluginBuiltIn(). Expected 0 for:
    	path: /Applications/Slicer.app/Contents/Extensions-30961/plugin.txt
    	applicationHomeDir: /Applications/Slicer.app
    
    It was because Slicer revision in vtkSlicerConfigure.h and vtkSlicerVersionConfigure.h were different.
    
    Made the test more robust by taking the version information from Slicer_REVISION, which is the same as the tested
    vtkSlicerApplicationLogic::IsPluginBuiltIn method uses.
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    6f3a942 View commit details
    Browse the repository at this point in the history
  17. BUG: Escape HTML chars in CLI output (Slicer#6391)

    (cherry picked from commit 96ee248)
    
    Co-authored-by: Gabriel Muller <gabriel.muller@ltrace.com.br>
    2 people authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    1440ce6 View commit details
    Browse the repository at this point in the history
  18. ENH: Backport TBB update from 2019_U9 to 2021.5.0

    Cherry picked from:
    * 4d97ce7 - COMP: Fix slicerStripInstalledLibrary to effectively support list of libraries
    * 3ea8ba4 - COMP: Update TBB from 2019_U9 to 2021.5.0
    * 0d5fe85 - COMP: Improve TBB CMake configuration check on macOS
    * 177f3b3 - COMP: Update slicerInstallLibrary to ensure tbb debug libs are not packaged
    * cf83447 - COMP: Update SlicerConfig to include Slicer_USE_TBB
    
    COMP: Fix slicerStripInstalledLibrary to effectively support list of libraries
    
    This is a follow-up of 52f2d6c (ENH: Reduce linux package size stripping
    regular symbols) where the CMake function slicerStripInstalledLibrary
    was first introduced.
    
    COMP: Update TBB from 2019_U9 to 2021.5.0
    
    Remove TBB support for VTK 8. Since older VTK versions do not support
    the updated TBB api, this commit removes support for TBB backend when
    building on windows with VTK < 9.
    
    Prior to Kitware/VTK@3e5313e71 (Replace task_scheduler_init with task_arena),
    the header "tbb/task_scheduler_init.h" was required but is not available
    anymore in newer TBB version.
    
    SlicerBlockInstallTBB:
    * Update rules based on new library names.
    * On linux, switch to use slicerInstallLibrary to ensure
      the symlink chain is followed.
    * On macOS, explicitly report an error if the CMake module
      because the libraries are copied through the fix-up process.
    
    COMP: Improve TBB CMake configuration check on macOS
    
    Since TBB 2021.5.0 requires at least macOS 10.15, this commit ensures
    the configuration fails when the TBB backend is enabled and the
    deployment target is not valid.
    
    COMP: Update slicerInstallLibrary to ensure tbb debug libs are not packaged
    
    This commit ensure libraries filename with suffix "_debug" are not
    packaged.
    
    COMP: Update SlicerConfig to include Slicer_USE_TBB
    
    Co-authored-by: James Butler <jbutler@sonovol.com>
    jcfr and jamesobutler committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    64029c7 View commit details
    Browse the repository at this point in the history
  19. ENH: Improve performance of getting extensions install history

    (cherry picked from commit 8c148a8)
    
    The extensions server was queried for metadata of all previously installed extensions for all versions.
    This time could add up to several seconds (or even tens of seconds on a computer with very long history of Slicer installations).
    
    This commit changes the behavior that the extensions server is only queried for the latest version for each previously installed extension.
    
    Also fixed ordering of revision numbers. Now numeric sorting is used instead of lexicographic.
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    b8d39c7 View commit details
    Browse the repository at this point in the history
  20. ENH: Enable new custom mouse gestures for moving crosshair

    (cherry picked from commit bb85cf9)
    
    Custom event translation can now be specified to make click or click-and-drag set the crosshair position.
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    6f32749 View commit details
    Browse the repository at this point in the history
  21. BUG: Fix VTKObservationMixin preventing observed nodes from being rel…

    …eased
    
    (cherry picked from commit 1e6d068)
    
    Fixes Slicer#6406.
    
    This change modifies the implementation of `VTKObservationMixin` to use a
    'weakref.WeakKeyDictionary` rather than a flat list of registered
    observations. This allows observed vtkObjects to be garbage collected if
    all other references have been lost.
    
    The registered events are stored in a nested dictionary structure to
    acheive constant-time access for `removeObserver`, `hasObserver`, etc.
    This also guarantees no observations are duplicated.
    
    ```
    {obj: {event: {method: (group, tag, priority)}}}
    ```
    allemangD authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    6e5a96c View commit details
    Browse the repository at this point in the history
  22. BUG: Fix broken multiple inheritance in ScriptedLoadableModuleTest

    (cherry picked from commit 7cfa0fc)
    
    See Slicer#6243 (comment) for more information.
    
    `unittest.TestCase` does not include a `super().__init__()` call, so we must invoke both `TestCase.__init__` along with the `__init__` for any mixins of derived classes.
    
    `super(unittest.TestCase, self).__init__()` explicitly calls the `__init__` of the next class in the MRO, _after `unittest.TestCase`_; so adding this second `__init__` call solves the issue.
    
    Thus, this is now supported:
    
    ```python
    class MyModuleTest(ScriptedLoadableModuleTest, VTKObservationMixin):
       def runTest(self):
         self.addObserver(...)
    ```
    allemangD authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    f4b92db View commit details
    Browse the repository at this point in the history
  23. ENH: Add tests for VTKObservationMixin with ScriptedLoadableModule cl…

    …asses.
    
    (cherry picked from commit c59fd74)
    
    See Slicer#6243 (comment) for more information.
    
    New tests in SlicerUtilVTKObservationMixinTests:
    
    Ensure VTKObservationMixin functions in combination with the ScriptedLoadableModule classes:
    
    - test_moduleWidgetMixin
    - test_moduleLogicMixin
    - test_moduleTestMixin
    
    Ensure VTKObservationMixin.__init__ called exactly once in combination with ScriptedLoadableModuleTest:
    
    - test_moduleTestInitCount
    allemangD authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    bcd67e8 View commit details
    Browse the repository at this point in the history
  24. ENH: Remove SlicerPython launcher

    (cherry picked from commit c889092)
    
    In July 2018, PythonSlicer replaced SlicerPython as the primary python executable in Slicer@f63a450 with SlicerPython kept for backwards compatibility.
    
    In April 2020, SlicerPython was marked as obsolete in Slicer@d9c5ba6 and scheduled for removal.
    
    This commits executes on the removal of SlicerPython.
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    ad4dba3 View commit details
    Browse the repository at this point in the history
  25. COMP: Remove support for VTK8

    (cherry picked from commit b9ac6ed)
    
    Build support for VTK8 or VTK9 was introduced in October 2020 in Slicer@c658b7b when VTK9 support was added.
    
    To streamline maintenance, VTK8 support is now being removed.
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    eec6e83 View commit details
    Browse the repository at this point in the history
  26. COMP: Remove need for special VTK component and target prefix

    (cherry picked from commit a0b03e1)
    
    VTK_COMPONENT_PREFIX and VTK_TARGET_PREFIX were previously set special based on whether
    VTK8 or VTK9 was selected. Now that VTK8 support has been dropped we can apply the VTK9
    prefix directly where used.
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    abc3818 View commit details
    Browse the repository at this point in the history
  27. STYLE: Fix inconsistent indentation

    (cherry picked from commit 18a414d)
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    b9114db View commit details
    Browse the repository at this point in the history
  28. COMP: Fix inner project config removing invalid CMake statement

    (cherry picked from commit 0caa5b1)
    
    This commit updates "SlicerBlockInstallExternalPythonModules"
    CMake module fixing the following regression introduced
    in b9ac6ed (COMP: Remove support for VTK8)
    
      CMake Error at CMake/SlicerBlockInstallExternalPythonModules.cmake:16 (endif):
        Flow control statements are not properly nested.
      Call Stack (most recent call first):
        CMake/SlicerCPack.cmake:172 (include)
        CMake/LastConfigureStep/CMakeLists.txt:44 (include)
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    4123e6b View commit details
    Browse the repository at this point in the history
  29. STYLE: Ignore indentation changes in blame history

    (cherry picked from commit d24cd5b)
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    9540e52 View commit details
    Browse the repository at this point in the history
  30. BUG: Backport extensions manager fixes and Girder_v1 support removal

    Cherry picked from:
    * c7cabb0 - BUG: Update onInstallDownloadFinished to ensure relevant metadata are filtered
    * 05bb843 - BUG: Update testFilterExtensionMetadata to support Girder_v1
    * 4fe811f - ENH: Refactor ExtensionsManagerModel introducing convertExtensionMetadata
    * 49b0b89 - BUG: Ensure contributors retrieved from Girder_v1 is associated with model
    * 929c114 - BUG: Ensure descriptions retrieved from Girder_v1 is associated with model
    * eacbf6b - BUG: Update ExtensionsManagerModelTest::extensionMetadata to support Girder_v1
    * 69f8d85 - STYLE: Simplify ExtensionsManagerModelTest removing duplicated function
    * e85694f - BUG: Ensure depends retrieved from Girder_v1 is associated with model
    * 8a87360 - BUG: Improve ExtensionsManagerModel::installedExtensions() determinism
    * c56bf56 - ENH: Simplify extensions manager removing support for Midas_v1 server API
    * 8b37395 - COMP: Update qRestAPI to fix windows link error
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    9846481 View commit details
    Browse the repository at this point in the history
  31. BUG: Fix plane validity status computation in plane markup

    (cherry picked from commit 76a231d)
    
    Plane should be considered valid even if the point is just being previewed because its position, orientation, and size are defined.
    lassoan authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    aaba3a7 View commit details
    Browse the repository at this point in the history
  32. BUG: Fix installation of extension

    (cherry picked from commit b42cb84)
    
    This commit fixes a regression introduced in 4fe811f (ENH: Refactor
    ExtensionsManagerModel introducing convertExtensionMetadata) by making
    sure the converted metadata "extension_id" is used instead of the server
    key "_id". Conversion rules are encoded in function "serverToExtensionDescriptionKey"
    
    Co-authored-by: James Butler <jbutler@sonovol.com>
    jcfr and jamesobutler committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    24cc58b View commit details
    Browse the repository at this point in the history
  33. COMP: Allow building with C++20

    (cherry picked from commit cd1b079)
    
    Visual Studio 2019 16.11 now has the /std:c++20 switch
    https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/
    jamesobutler authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    7db4a7e View commit details
    Browse the repository at this point in the history
  34. COMP: Backport warnings fixes

    Cherry picked from:
    
    * fead66d - COMP: Fix -Wunused-variable in vtkMRMLScene related to latestNodeMTime
    * e847604 - COMP: Fix -Wunused-* in vtkMRMLSliceIntersectionInteractionRepresentation
    * e64d656 - COMP: Fix -Wdeprecated-declarations in qMRMLColorPickerWidgetTest2
    * ccbb051 - COMP: Fix deprecated warning related to QWidget::getContentsMargins()
    * a38d3a7 - COMP: Fix -Wdeprecated-declarations in qMRMLSceneModel
    * a1e7db3 - COMP: Fix -Wunused-parameter in qMRMLMarkupsToolBar.cxx
    * 874e9f2 - COMP: Fix -Wdeprecated-declarations in qMRMLSubjectHierarchyModel
    * 7e6d35b - COMP: Fix -Wunused-* in vtkMRMLMarkupsROINode.cxx
    * 6907b41 - COMP: Fix -Wunused-parameter and -Wunused-variable in qMRMLNodeComboBox
    * 6357cd8 - COMP: Fix QStandardItem::setFlags deprecation warnings in qMRMLSubjectHierarchyModel
    * 5f1db03 - COMP: Fix -Wdeprecated-declarations in qSlicerUtilsTest1.cxx related to endl
    * 4233f9b - COMP: Fix -Wcatch-value in qSlicerUtilsTest1.cxx
    * 0ce6227 - COMP: Fix -Wunused-parameter in vtkMRMLCameraWidgetTest1.cxx
    * a0a41de - COMP: Remove use of deprecated vtkThreshold API
    
    COMP: Fix -Wunused-variable in vtkMRMLScene related to latestNodeMTime
    
    This commit fixes a warning introduced in 8694fc7 (BUG: Fix scene always
    reported as being modified since saved)
    
    COMP: Fix -Wunused-* in vtkMRMLSliceIntersectionInteractionRepresentation
    
    This commit fixes -Wunused-variable and -Wunused-but-set-variable warnings
    originally introduced in bc5d5b4 (ENH: Add interactive slice intersections
    widget)
    
    COMP: Fix -Wunused-parameter in vtkMRMLCameraWidgetTest1.cxx
    
    COMP: Fix -Wunused-parameter and -Wunused-variable in qMRMLNodeComboBox
    
    This commit fixes warnings introduced in 8324ca7 (ENH: Allow setting
    node type display name for abstract node classes)
    
    COMP: Fix -Wdeprecated-declarations in qMRMLSceneModel
    
    This commit is a follow up of bed056e (COMP: Fix deprecation warnings
    related to use of QSet::toList()) fixing the following warning. Since
    Qt 5.12 is still expected to be supported (see Slicer#5804), the code is
    conditionally build.
    
    Warning:
    
      /path/to/Slicer/Libs/MRML/Widgets/qMRMLSceneModel.cxx: In member function ‘virtual QMimeData* qMRMLSceneModel::mimeData(const QModelIndexList&) const’:
      /path/to/Slicer/Libs/MRML/Widgets/qMRMLSceneModel.cxx:670:47: warning: ‘QSet<T> QList<T>::toSet() const [with T = QModelIndex]’ is deprecated: Use QSet<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations]
        670 |   allColumnsIndexes = allColumnsIndexes.toSet().values();
            |                                               ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qdebug.h:52,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/QDebug:1,
                       from /path/to/Slicer/Libs/MRML/Widgets/qMRMLSceneModel.cxx:22:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qset.h:406:30: note: declared here
        406 | Q_OUTOFLINE_TEMPLATE QSet<T> QList<T>::toSet() const
            |                              ^~~~~~~~
    
    COMP: Fix -Wunused-* in vtkMRMLMarkupsROINode.cxx
    
    This commit fixes Wunused-variable and -Wunused-parameter warnings
    introduced in 9b83257 (ENH: Allow using markups ROI node as CLI
    module input)
    
    COMP: Fix -Wdeprecated-declarations in qSlicerUtilsTest1.cxx related to endl
    
    This commit fixes the following warning using ctk::endl introduced
    in commontk/CTK@917c39f18 (ENH: Add ctk::flush and ctk::endl to fix
    deprecation warnings with Qt >= 5.14)
    
    Warning:
    
      /path/to/Slicer/Base/QTCore/Testing/Cxx/qSlicerUtilsTest1.cxx: In function ‘bool {anonymous}::createFile(int, const QDir&, const QString&, const QString&)’:
      /path/to/Slicer/Base/QTCore/Testing/Cxx/qSlicerUtilsTest1.cxx:55:46: warning: ‘QTextStream& QTextStreamFunctions::endl(QTextStream&)’ is deprecated: Use Qt::endl [-Wdeprecated-declarations]
         55 |   out << "Generated by qSlicerUtilsTest1" << endl;
            |                                              ^~~~
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/QTextStream:1,
                       from /path/to/Slicer/Base/QTCore/Testing/Cxx/qSlicerUtilsTest1.cxx:24:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qtextstream.h:293:75: note: declared here
        293 | Q_CORE_EXPORT QT_DEPRECATED_VERSION_X(5, 15, "Use Qt::endl") QTextStream &endl(QTextStream &s);
            |                                                                           ^~~~
    
    COMP: Fix -Wcatch-value in qSlicerUtilsTest1.cxx
    
    COMP: Fix -Wdeprecated-declarations in qMRMLColorPickerWidgetTest2
    
    This commit fixes the following warning:
    
      /path/to/Slicer/Libs/MRML/Widgets/Testing/qMRMLColorPickerWidgetTest2.cxx: In function ‘int qMRMLColorPickerWidgetTest2(int, char**)’:
      /path/to/Slicer/Libs/MRML/Widgets/Testing/qMRMLColorPickerWidgetTest2.cxx:74:57: warning: ‘constexpr QFlags<T>::QFlags(QFlags<T>::Zero) [with Enum = QColorDialog::ColorDialogOption; QFlags<T>::Zero = int QFlags<QColorDialog::ColorDialogOption>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
         74 |   ctkColorDialog::getColor(Qt::red, nullptr, "", nullptr);
            |                                                         ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qglobal.h:1304,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtGui/qtguiglobal.h:43,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/qtwidgetsglobal.h:43,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/qapplication.h:43,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/QApplication:1,
                       from /path/to/Slicer/Libs/MRML/Widgets/Testing/qMRMLColorPickerWidgetTest2.cxx:22:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qflags.h:123:80: note: declared here
        123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
            |                                                                                ^~~~~~
    
    COMP: Fix -Wdeprecated-declarations in qMRMLSubjectHierarchyModel
    
    This commit fixes the following warning. Since Qt 5.12 is still
    expected to be supported (see Slicer#5804), the code is conditionally built.
    
    Warning:
    
      /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx: In member function ‘virtual QMimeData* qMRMLSubjectHierarchyModel::mimeData(const QModelIndexList&) const’:
      /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:679:47: warning: ‘QSet<T> QList<T>::toSet() const [with T = QModelIndex]’ is deprecated: Use QSet<T>(list.begin(), list.end()) instead. [-Wdeprecated-declarations]
        679 |   allColumnsIndexes = allColumnsIndexes.toSet().toList();
            |                                               ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qdebug.h:52,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/QDebug:1,
                       from /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:24:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qset.h:406:30: note: declared here
        406 | Q_OUTOFLINE_TEMPLATE QSet<T> QList<T>::toSet() const
            |                              ^~~~~~~~
      /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:679:56: warning: ‘QList<T> QSet<T>::toList() const [with T = QModelIndex]’ is deprecated: Use values() instead. [-Wdeprecated-declarations]
        679 |   allColumnsIndexes = allColumnsIndexes.toSet().toList();
            |                                                        ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qdebug.h:52,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/QDebug:1,
                       from /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:24:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qset.h:265:14: note: declared here
        265 |     QList<T> toList() const { return values(); }
            |              ^~~~~~
    
    COMP: Fix QStandardItem::setFlags deprecation warnings in qMRMLSubjectHierarchyModel
    
    This commit fixes warnings like the following:
    
      /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:779:34: warning: ‘constexpr QFlags<T>::QFlags(QFlags<T>::Zero) [with Enum = Qt::ItemFlag; QFlags<T>::Zero = int QFlags<Qt::ItemFlag>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
        779 |         newItem->setFlags(nullptr);
            |                                  ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qglobal.h:1304,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qalgorithms.h:43,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/qdebug.h:44,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtCore/QDebug:1,
                       from /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyModel.cxx:24:
      /path/to/Qt/5.15.2/gcc_64/include/QtCore/qflags.h:123:80: note: declared here
        123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
            |
    
    COMP: Fix deprecated warning related to QWidget::getContentsMargins()
    
    This commit fixes warnings like the following:
    
      /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyComboBox.cxx:621:85: warning: ‘void QWidget::getContentsMargins(int*, int*, int*, int*) const’ is deprecated: use contentsMargins() [-Wdeprecated-declarations]
        621 |   container->getContentsMargins(&marginLeft, &marginTop, &marginRight, &marginBottom);
            |                                                                                     ^
      In file included from /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/qframe.h:44,
                       from /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/QFrame:1,
                       from /path/to/Slicer/Modules/Loadable/SubjectHierarchy/Widgets/qMRMLSubjectHierarchyComboBox.cxx:25:
      /path/to/Qt/5.15.2/gcc_64/include/QtWidgets/qwidget.h:530:10: note: declared here
        530 |     void getContentsMargins(int *left, int *top, int *right, int *bottom) const;
            |          ^~~~~~~~~~~~~~~~~~
    
    COMP: Fix -Wunused-parameter in qMRMLMarkupsToolBar.cxx
    
    This commit fixes a warning originally introduced
    in 09d12ae (ENH: Improve control point state management and add
    markups toolbar)
    
    COMP: Remove use of deprecated vtkThreshold API
    
    This commit fixes warnings like the following by removing use of API
    deprecated in Kitware/VTK@62e5a71bf (Add setters to vtkThreshold).
    
    Warning:
    
      /path/to/Slicer/Libs/MRML/Core/vtkMRMLModelDisplayNode.cxx: In constructor ‘vtkMRMLModelDisplayNode::vtkMRMLModelDisplayNode()’:
      /path/to/Slicer/Libs/MRML/Core/vtkMRMLModelDisplayNode.cxx:47:52: warning: ‘void vtkThreshold::ThresholdBetween(double, double)’ is deprecated: Use 'SetLowerThreshold', 'SetUpperThreshold' and 'SetThresholdFunction' instead. [-Wdeprecated-declarations]
         47 |   this->ThresholdFilter->ThresholdBetween(0.0, -1.0); // indicates uninitialized
            |                                                    ^
      In file included from /path/to/Slicer/Libs/MRML/Core/vtkMRMLModelDisplayNode.cxx:32:
      /path/to/Slicer-Release/VTK/Filters/Core/vtkThreshold.h:103:8: note: declared here
        103 |   void ThresholdBetween(double lower, double upper);
            |        ^~~~~~~~~~~~~~~
    
    List of SlicerSurfaceToolbox changes:
    
    $ git shortlog b219fee53..3515c3cca --no-merges
    Jean-Christophe Fillion-Robin (1):
          COMP: Remove use of deprecated vtkThreshold API~
    jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    5a376f8 View commit details
    Browse the repository at this point in the history
  35. BUG: Fix RemoveAllSegments function to actually remove the segments

    (cherry picked from commit 5d2004b)
    
    The segment ID list was called early in vtkSegmentation::RemoveAllSegments, and the segments were thus not properly removed. Besides the memory leak, this caused bugs related to expecting the SegmentRemoved event, such as that the segments were not removed from Subject Hierarchy when using said function.
    
    Fixing segmentation automated test by setting selected segment explicitly, which selection was lost due to now properly removing the segments.
    cpinter authored and jcfr committed Jul 7, 2022
    Configuration menu
    Copy the full SHA
    97d4f29 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2022

  1. DOC: Backport documentation updates

    Cherry picked from:
    * 3a63b61 - DOC: Fix link formatting in extensions.md
    * 564ccb3 - DOC: Improve FindGit & SlicerMacroExtractRepositoryInfo CMake module docs
    * 43e8f5b - DOC: Added to Windows build instructions to install Windows SDK
    * 7ce7736 - DOC: Add info on what additional module paths to add for compiled modules
    * 0a71dea - DOC: Add information about how to use other modules from Python modules
    * 3858275 - DOC: Fix typo in data_loading_and_saving.md
    * 33d92d5 - DOC: Fix typos in python_faq.md
    * 5d8c7a4 - DOC: Add comment to LoadableCustomMarkups/CMakeLists.txt about NO_INSTALL
    * 834ec57 - DOC: Fixed segment editor effect parameter descriptions
    * 4eb2ea2 - DOC: Add custom label value mapping example to script repository
    * 6f5f171 - DOC: Prefer language agnostic links associated with docs.github.com
    * c92c813 - DOC: Update instructions for debugging memory leaks
    * 3164f12 - DOC: Clarify bug report and feature request procedures
    * 192af07 - DOC: Update build instructions to include CentOS 7
    * b31f165 - DOC: Update extensions manager doc strings, and remove MIDAS occurrences
    * ce1b19a - DOC: Rename "Extensions Server website" to "Extensions Catalog website"
    * a55104a - DOC: Improve description of loading image as segmentation
    * 50d3c58 - DOC: Add information about ExtensionsIndex repository branches
    * fd8a16f - DOC: Fix typo in developer_guide/extensions.md
    * 6ebff00 - DOC: Improve Centos 7 build instructions
    * fa651d2 - DOC: Clarify that each extension build tree can only be used for one build mode
    * c48a846 - DOC: Update Slicer style guide for python to reflect Flake8 compliance
    * 5794e16 - DOC: endoscopy usage (Slicer#6449)
    * c5689b8 - DOC: Update segmentations.md
    * f968c21 - DOC: Add description of loading segmentation with color table
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    Co-authored-by: kerim371 <kerim.khemraev@mail.ru>
    Co-authored-by: James Butler <jbutler@sonovol.com>
    Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    Co-authored-by: Steve Pieper <pieper@isomics.com>
    5 people committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    80b4441 View commit details
    Browse the repository at this point in the history
  2. ENH: Backport extensions manager improvements

    Cherry picked from:
    * 3584ca0 - ENH: Refactor extensions manager
    * e2cb3d2 - ENH: Do not use QSignalSpy in qSlicerExtensionsManagerModel
    * fd03c69 - BUG: Fix extension update
    
    ENH: Refactor extensions manager
    
    Reworked the extensions manager to take advantage of new Girder_v1 APIs:
    - batch download of extension metadata
    - server provides extension dependency metadata
    
    These enabled implementing the following improvements:
    
    - Automatic update check and automatic installation can now be enabled for extensions.
      Previously, hundreds of requests were submitted to query all necessary extension
      metadata, which caused slowdowns and crashes. Now all metadata can be downloaded in
      batch (in 4 requests), very robustly, in 1-2 seconds.
      For testing purpose, batch query may also be disabled with setServerQueryWithLimitEnabled.
    
    - If updates are available then a notification marker is displayed over the extensions
      manager toolbar icon.
    
    - Extensions can be bookmarked and all reinstalled in a different Slicer version by a
      single click.
      Previously, all extensions that the user have ever installed was offered to be restored,
      and there was no option to remove any of them. Bookmarked extensions can be installed
      without the browser widget, which may be useful in cases where proxy servers block the
      communication between the extensions manager frontend and backend (because only the backend
      needs to be accessed).
    
    - List of bookmarks can be edited as a simple text. This makes it easy to transfer
      favorite extensions between computers or install a set of extensions at training events.
    
    - Extensions Manager is displayed immediately. The user does not need to wait for any downloads.
      All data is reloaded immediately from cache or downloaded asynchronously.
    
    - The "manage" and "restore" tabs are merged into a single tab where user can install/uninstall/update/restore.
    
    - All metadata are downloaded from Extensions Server. The metadata is cached for offline
      access and to reduce extensions server load.
    
    - Dependent extensions are installed automatically by default, to simplify extension installation.
      Manual installation (user confirmation) can be enabled in extensions settings.
    
    - All dependent extensions (even indirect dependencies) are determined at once before asking
      the user to install them, saving several extra clicks for some extensions.
    
    - Extension version and update time (when the package was built) is displayed for the installed
      extension, and also if there was any update.
    
    - Close/restart button is not enabled until batch processing (install all/update all extension)
      are completed.
    
    - Multiple files can be selected when installing extension from file.
    
    - Extensions server website can be opened from the extensions manager. This makes it easier to
      download extensions for offline installation from file or when firewall or proxy settings prevent
      the extensions manager from working.
    
    - Fixed display of icons of many extensions: icons that were hosted on servers with 301-redirect were not displayed.
    
    Fixes Slicer#5469 - Add last modified date for extensions
    Fixes Slicer#5908 - Extension updates not found in stable version
    Fixes Slicer#5470 - Add "Update Extension" option under Manage Extensions
    Fixes Slicer#5341 - Add favorite extensions list to Extensions manager
    
    See Slicer#4936 - Slicer 5.0 Extension Manager: Manage Extensions Tab icons
    
    ENH: Do not use QSignalSpy in qSlicerExtensionsManagerModel
    
    QSignalSpy is intended for testing, therefore use qRestAPI's synchronous query instead to get extensions metadata from the server.
    
    To simplify the implementation of synchronous query, extension metadata is now always downloaded using a single query (by specifying `limit=0` query parameter).
    
    see Slicer#6437
    
    BUG: Fix extension update
    
    Basic extension metadata was passed to extension download task (instead of files metadata), which did not contain archivename.
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
    Co-authored-by: James Butler <jbutler@sonovol.com>
    3 people committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    c0e1427 View commit details
    Browse the repository at this point in the history
  3. BUG: Update VTK with selected vtkRendering[VR|OpenVR|OpenXR] fixes an…

    …d features
    
    (cherry picked from commit f00f401)
    
    Rendering changes associated with these merge requests have not
    been backported:
    - MR-9174: volume-light-uniforms
    - MR-9231: advanced-shadows
    - MR-9219: fix-specular-twosided
    - MR-9207: volumetric-shadows-feature
    - MR-9126: volumetric-rendering-correction
    
    List of VTK changes:
    
    $ git shortlog efbbf9c02..1abf75af7 --no-merges
    Andrew Wilson (3):
          [Backport] Add OpenXR haptics json reading & vibration function
          [Backport] Remove doxygen grouping symbol
          [Backport] Comments and better defaults for haptic duration
    
    David Berger (1):
          [Backport] Add SetConstrainedFontSize to vtkLeaderActor2D to enable fixed font sizes
    
    Gaspard Thevenon (3):
          [Backport] Fix shader crash in Multi Volume Rendering without GradientTF
          [Backport] Fix 2D TF with MultiVolume
          [Backport] Add checks for number of lights and warning in vtkOpenGLGPUVolumeRayCastMapper
    
    Ken Martin (2):
          [Backport] feat(Rendering): add coordinate systems to Prop3D
          [Backport] fix(Rendering): fix prop3d DEVICE coordinates on OpenGL
    
    Lucas Gandel (4):
          [Backport] Fix vtkOpenXRManager singleton destructor not being called
          [Backport] Remove useless modifications to the OpenXR render window state
          [Backport] Fix OpenXR view pose
          [Backport] Fix undefined vtkOpenXRManager::GetRecommendedImageRectSize
    
    Lucas Givord (2):
          [Backport] Fix missing check dimension in the vtkImageItem
          [Backport] Fix crash when we use renderLineAsTube without light in scene
    
    LucasGandel (1):
          [Backport] Fix use of vtkDebugMacro in vtkOpenXRManager that is not a vtkObject
    
    Mathieu Westphal (1):
          [Backport] Ensure XCloseDisplay is called, and at the right time
    
    Nicolas Vuaille (1):
          [Backport] Update vtkCamera ParallelProjectionScale documentation
    
    Sankhesh Jhaveri (4):
          [Backport] Ensure that dangling references are cleaned up
          [Backport] Remove use of deprecated cell types API for ospray
          [Backport] Avoid using variable names that shadow Windows keywords
          [Backport] Avoid using variable names that shadow Windows keywords
    
    Scott Wittenburg (2):
          [Backport] RenderingOpenXR: Fixes to support build/run on Linux
          [Backport] OpenXR: Create graphics binding with non-null objects
    
    Sjors Peterse (1):
          [Backport] Change vtkProp to vtkProp3D in documentation
    
    Spiros Tsalikis (3):
          [Backport] vtkOpenXRUtilities: Remove constexpr
          [Backport] vtkOpenXRManager: Fix usage of strcmp
          [Backport] vtkOpenXRModel: Fix atomic instantiation
    
    Stephen Hogarth (1):
          [Backport] Add Faster AddRGBPoints Routine
    
    Thomas Galland (3):
          [Backport] Add new movement style for VR
          [Backport] Desunite ground movement and elevation in VR
          [Backport] VRInteractorStyle code refactoring
    
    Tiffany Chhim (1):
          [Backport] Move getter for window initialization from OpenXR to VR module
    
    Timothee Chabat (1):
          [Backport] Make wide lines have a minimal screen space size
    
    luz paz (1):
          [Backport] Fix typos in Rendering/
    jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    8333166 View commit details
    Browse the repository at this point in the history
  4. ENH: Update VTK to backport OpenXR Holographic Remoting support

    (cherry picked from commit 8e049d9)
    
    This commit backport change associated with merge request 9101
    See https://gitlab.kitware.com/vtk/vtk/-/merge_requests/9101
    
    List of changes:
    
    $ git shortlog 1abf75af73..bccd2b8f7e --no-merges
    Lucas Gandel (5):
          [Backport MR-9101] Use an alternative rendering backend in vtkOpenXRManager
          [Backport MR-9101] Add render window class to share textures between OpenGL and D3D contexts
          [Backport MR-9101] Allow OpenXR manager to use remoting
          [Backport MR-9101] Find OpenXR Remoting libraries
          [Backport MR-9101] Add test for vtkWin32OpenGLDXRenderWindow
    
    LucasGandel (1):
          [Backport MR-9101] Fix undefined function when OpenXR remoting is disabled
    jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    c1e6c8c View commit details
    Browse the repository at this point in the history
  5. BUG: Fix too wide qMRMLSegmentEditorWidget if segmentation or master …

    …volume name is long
    
    (cherry picked from commit 5ecfcc3)
    
    Size of the node selector combobox was set based on first selected node by default, which resulted in very wide layout if the first segmentation or master node had long name.
    Changed size adjustment mode to QComboBox::AdjustToMinimumContentsLengthWithIcon to avoid this.
    
    Fixes the issue described here:
    https://discourse.slicer.org/t/segmentations-module-dont-automatically-expand-modules-settings-pane-for-long-file-folder-paths/20260/4?u=lassoan
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    a9362e0 View commit details
    Browse the repository at this point in the history
  6. COMP: Fix build when extension manager is disabled

    (cherry picked from commit 82a2259)
    
    Related to Slicer#6437
    
    Co-authored-by: Andras Lasso <lasso@queensu.ca>
    2 people authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    dde52ea View commit details
    Browse the repository at this point in the history
  7. BUG: Fix file loading using qSlicerIOManager::openDialog

    (cherry picked from commit cc69373)
    
    The filename that was selected in the filename dialog was not passed to the reader.
    
    Also update qSlicerVolumesReader to revisit the logic checking
    the colorNodeID property.
    
    fixes Slicer#6429
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    e88a8d1 View commit details
    Browse the repository at this point in the history
  8. BUG: Fix interactive slice intersection widget focus handling

    (cherry picked from commit 457016b)
    
    When interactive slice intersection was dragged over a markup control point the dragging got interrupted.
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    11dfe7e View commit details
    Browse the repository at this point in the history
  9. ENH: Improve robustness of condition check if testing is enabled

    (cherry picked from commit 0a03716)
    
    This commit ensures that the code path expected to be executed when testing
    is enabled is done so when the AA_EnableTesting attribute is set and not
    only when the command line parameter "--testing-enabled" is passed.
    
    This allows to programmatically enable testing in test without having to
    explicitly pass the argument.
    jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    d99cc1f View commit details
    Browse the repository at this point in the history
  10. ENH: Update Slicer.crt CA bundle

    slicerbot authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    85c7b3d View commit details
    Browse the repository at this point in the history
  11. BUG: Fix subject hierarchy item visibility change in batch mode

    (cherry picked from commit 64f6340)
    
    "Batch processing" mode is activated automatically when a large (10+ children) branch visibility is changed.
    In batch mode, item visibility change requests were mistakenly ignored.
    
    fixes Slicer#6445
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    a6deac0 View commit details
    Browse the repository at this point in the history
  12. BUG: Fix copying of trimmed sequences

    (cherry picked from commit 1026bb8)
    
    fixes Slicer#6435
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    22ad125 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8dae4ff View commit details
    Browse the repository at this point in the history
  14. STYLE: Update python code with whitespace fixes

    This fixes all remaining pycodestyle E2 whitespace error codes.
    
    Bulk of updates performed using autopep8 CLI
    with the following command:
    
      autopep8 --in-place --select E201,E202,E203,E211,E221,E222,E225,E226,E227,E228,E231,E241,E251,E261,E262,E265,E266,E271 $(git ls-files '*.py')
    
    See https://github.com/hhatto/autopep8#readme
    
    References:
    
    * Whitespace after '('
      See https://www.flake8rules.com/rules/E201.html
    
    * Whitespace before ')'
      See https://www.flake8rules.com/rules/E202.html
    
    * Whitespace before ':'
      See https://www.flake8rules.com/rules/E203.html
    
    * Whitespace before '('
      See https://www.flake8rules.com/rules/E211.html
    
    * Multiple spaces before operator
      See https://www.flake8rules.com/rules/E221.html
    
    * Multiple spaces after operator
      See https://www.flake8rules.com/rules/E222.html
    
    * Missing whitespace around operator
      See https://www.flake8rules.com/rules/E225.html
    
    * Missing whitespace around arithmetic operator
      See https://www.flake8rules.com/rules/E226.html
    
    * Missing whitespace around bitwise or shift operator
      See https://www.flake8rules.com/rules/E227.html
    
    * Missing whitespace around modulo operator
      See https://www.flake8rules.com/rules/E228.html
    
    * Missing whitespace after ',', ';', or ':'
      See https://www.flake8rules.com/rules/E231.html
    
    * Multiple spaces after ','
      See https://www.flake8rules.com/rules/E241.html
    
    * Unexpected spaces around keyword / parameter equals
      See https://www.flake8rules.com/rules/E251.html
    
    * At least two spaces before inline comment
      See https://www.flake8rules.com/rules/E261.html
    
    * Inline comment should start with '# '
      See https://www.flake8rules.com/rules/E262.html
    
    * Block comment should start with '# '
      See https://www.flake8rules.com/rules/E265.html
    
    * Too many leading '#' for block comment
      See https://www.flake8rules.com/rules/E266.html
    
    * Multiple spaces after keyword
      See https://www.flake8rules.com/rules/E271.html
    jamesobutler authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    a57091f View commit details
    Browse the repository at this point in the history
  15. STYLE: Update python code with indentation fixes

    This fixes all remaining pycodestyle E1 indentation error codes.
    
    Bulk of updates performed using autopep8 CLI
    with the following command:
    
      autopep8 --in-place --select E111,E114,E115,E116,E117,E121,E122,E123,E124,E125,E126,E127,E128,E129,E131 $(git ls-files '*.py')
    
    See https://github.com/hhatto/autopep8#readme
    
    References:
    
    * Indentation is not a multiple of four
      See https://www.flake8rules.com/rules/E111.html
    
    * Indentation is not a multiple of four (comment)
      See https://www.flake8rules.com/rules/E114.html
    
    * Expected an indented block (comment)
      See https://www.flake8rules.com/rules/E115.html
    
    * Unexpected indentation (comment)
      See https://www.flake8rules.com/rules/E116.html
    
    * Over-indented
      See https://www.flake8rules.com/rules/E117.html
    
    * Continuation line under-indented for hanging indent
      See https://www.flake8rules.com/rules/E121.html
    
    * Continuation line missing indentation or outdented
      See https://www.flake8rules.com/rules/E122.html
    
    * Closing bracket does not match indentation of opening bracket's line
      See https://www.flake8rules.com/rules/E123.html
    
    * Closing bracket does not match visual indentation
      See https://www.flake8rules.com/rules/E124.html
    
    * Continuation line with same indent as next logical line
      See https://www.flake8rules.com/rules/E125.html
    
    * Continuation line over-indented for hanging indent
      See https://www.flake8rules.com/rules/E126.html
    
    * Continuation line over-indented for visual indent
      See https://www.flake8rules.com/rules/E127.html
    
    * Continuation line under-indented for visual indent
      See https://www.flake8rules.com/rules/E128.html
    
    * Visually indented line with same indent as next logical line
      See https://www.flake8rules.com/rules/E129.html
    
    * Continuation line unaligned for hanging indent
      See https://www.flake8rules.com/rules/E131.html
    jamesobutler authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    b60049e View commit details
    Browse the repository at this point in the history
  16. STYLE: Update python code with statement fixes

    This fixes many of the pycodestyle E7 statement error codes.
    
    Bulk of updates performed using autopep8 CLI
    with the following command:
    
      autopep8 --in-place --select E701,E703,E712,E713,E714,E741 $(git ls-files '*.py')
    
    See https://github.com/hhatto/autopep8#readme
    
    References:
    
    * Multiple statements on one line (colon)
      See https://www.flake8rules.com/rules/E701.html
    
    * Statement ends with a semicolon
      See https://www.flake8rules.com/rules/E703.html
    
    * Comparison to true should be 'if cond is true:' or 'if cond:'
      See https://www.flake8rules.com/rules/E712.html
    
    * Test for membership should be 'not in'
      See https://www.flake8rules.com/rules/E713.html
    
    * Test for object identity should be 'is not'
      See https://www.flake8rules.com/rules/E714.html
    
    * Do not use variables named 'I', 'O', or 'l'
      See https://www.flake8rules.com/rules/E741.html
    jamesobutler authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    6c11e7a View commit details
    Browse the repository at this point in the history
  17. ENH: Remove custom itkDCMTKFileReader from PETStandardUptakeValueComp…

    …utation
    
    (cherry picked from commit 68373c1)
    
    itkDCMTKFileReader was added in 2012 but it seems that current itkDCMTKFileReader in ITK works just as well.
    The 2012 version has a bug (it should use (0x5200, 0x9230) instead of (0x5200, 0x9239) tag - see https://discourse.slicer.org/t/image-position-patient-attribute-0020-0032-in-dicom-file-not-handled/23950/3) therefore it makes sense to switch to the ITK implementation.
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    c9cd7ec View commit details
    Browse the repository at this point in the history
  18. ENH: Log error details if slicer.util file read/write operation fails

    (cherry picked from commit 43a34e2)
    
    Example:
    
    >>> loadModel(r'c:\Users\andra\OneDrive\Projects\SlicerTesting2022\20220622-EmptyPolyData\slicer5-fail-T_Sup-O_right.vtp')
    Traceback (most recent call last):
      File "<console>", line 1, in <module>
      File "C:\D\S4D\Slicer-build\bin\Python\slicer\util.py", line 820, in loadModel
        return loadNodeFromFile(filename, 'ModelFile', {}, returnNode)
      File "C:\D\S4D\Slicer-build\bin\Python\slicer\util.py", line 685, in loadNodeFromFile
        raise RuntimeError(errorMessage)
    RuntimeError: Failed to load node from file: c:\Users\andra\OneDrive\Projects\SlicerTesting2022\20220622-EmptyPolyData\slicer5-fail-T_Sup-O_right.vtp
    - Error: Loading c:\Users\andra\OneDrive\Projects\SlicerTesting2022\20220622-EmptyPolyData\slicer5-fail-T_Sup-O_right.vtp - ERROR: In C:\D\S4D\VTK\IO\XML\vtkXMLUnstructuredDataReader.cxx, line 393
    vtkXMLPolyDataReader (00000254994D0CC0): No Points element available in first piece found in file. Reading file may fail.
    - Error: Loading c:\Users\andra\OneDrive\Projects\SlicerTesting2022\20220622-EmptyPolyData\slicer5-fail-T_Sup-O_right.vtp - Failed to read node slicer5-fail-T_Sup-O_right (vtkMRMLModelNode4) from filename='c:\Users\andra\OneDrive\Projects\SlicerTesting2022\20220622-EmptyPolyData\slicer5-fail-T_Sup-O_right.vtp'
    
    see Slicer#6447
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    05c02f6 View commit details
    Browse the repository at this point in the history
  19. ENH: Log detailed file IO error messages that are displayed to users

    (cherry picked from commit a5f7535)
    
    Detailed file IO error/warning messages were displayed to the user but not logged.
    Now the messages are also added to the application log.
    
    see Slicer#6447
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    2b9573c View commit details
    Browse the repository at this point in the history
  20. ENH: Prevent warnings by using the new variants of deprecated markups…

    … functions (Slicer#6451)
    
    (cherry picked from commit 8fe258b)
    cpinter authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    a560707 View commit details
    Browse the repository at this point in the history
  21. ENH: Improve DICOMweb download speed

    (cherry picked from commit 23744ee)
    
    DICOMweb client library logging happened at the DEBUG level, which significantly slowed down data transfer.
    The problem was that the library was reorganized and log level setting that worked on earlier versions was not effective anymore.
    lassoan authored and jcfr committed Jul 8, 2022
    Configuration menu
    Copy the full SHA
    1989901 View commit details
    Browse the repository at this point in the history