2025.07.08 Weekly Meeting

Next week, we will be having our next weekly hangout at 10:00 AM ET until 11:00 AM ET.

Anyone is welcome to join at this link: https://bit.ly/slicer-googlemeet-hosted-by-kitware


Agenda:

Please post to this thread to put a topic on the agenda! We will try to prioritize agenda items during the meeting.


Thanks
Sam and J-Christophe

Agenda:

CTK: Upgrades:

Meeting Notes

Welcome New Attendees

We were pleased to welcome the following new participants:

  • Kate Wooley
  • Kat Dunn
  • Andy Huynh

Use of clang-format for C++ Code

  • Discussed the use of clang-format for automatic C++ code formatting.
  • General consensus on the importance of consistent formatting across the codebase.
  • Two main strategies considered:
    • Incremental adoption (formatting new/modified code).
    • Full project-wide formatting in a single commit.
  • Opinions were divided on the best approach.
  • Related work:
  • An alternative approach suggested: enable but not enforce formatting in the beginning.
  • Plan to finalize the decision by next week.

CTK Updates

  • Reviewed recent updates in CTK:
    • PR #1239: General updates and fixes.
    • PR #1240: Update PythonQt to upstream version 3.6.1.
    • PR #1241: Use of Clazy in GitHub workflows to surface Qt6 migration warnings.

Support for Distributing Commercial Extensions

  • Reviewed ideas for improving commercial extension support:

    • Leverage the existing “tiered” extension system with clearer documentation.

    • Introduce a “subscription” model to support access to premium or closed-source features.

    • Enable building closed-source extensions: may require discussion and coordination with Kitware.

    • Proposal to support binary extension packages:

      • Extensions could be pre-built and distributed with Slicer packages.
      • Extension Manager would handle binary installation.
      • A key challenge is maintaining compatibility across Slicer versions (release-binding would likely be required).

Refactoring Slicer.util

  • The slicer.util module currently contains a mix of legacy and new functionality.

  • Many deprecated or unstructured utilities are still present.

  • Instead of continuing on the deprecation path, the group recommended:

    • A cleaner, more Pythonic reorganization of utilities.
    • Consider integrating new functionality (e.g., from SlicerSOFA) into a refactored structure, possibly under new submodules.

Telemetry