# 2025.08.19 Weekly Meeting

**URL:** <https://discourse.slicer.org/t/2025-08-19-weekly-meeting/44136>\
**Category:** Weekly meetings\
**Created:** [August 19, 2025, 1:21pm UTC](https://discourse.slicer.org/t/2025-08-19-weekly-meeting/44136 "2025-08-19T13:21:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 19, 2025, 1:21pm UTC](https://discourse.slicer.org/t/2025-08-19-weekly-meeting/44136/1 "2025-08-19T13:21:12Z")

</div>

This morning, 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](https://bit.ly/slicer-googlemeet-hosted-by-kitware)

* * *

> **Weekly Meeting**
>
> **Starts:** August 19, 2025, 10:00am (America/New\_York)\
> **Link:** <https://bit.ly/slicer-googlemeet-hosted-by-kitware>

**Agenda:**

- Release status
- Outstanding pull requests

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

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 20, 2025, 4:06am UTC](https://discourse.slicer.org/t/2025-08-19-weekly-meeting/44136/2 "2025-08-20T04:06:30Z")

</div>

## Meeting Notes

### Slicer-trame

**VTK Python Packaging Limitation**  
The current VTK Python package on PyPI is monolithic and does not support the installation of additional VTK-based modules (e.g., `vtk-addons`, `vtk-webcore`) that could extend the `vtk` namespace. This limits modular packaging and downstream development, such as that needed for `slicer-trame`.

**Next Steps**  
@Thibault_Pelletier will investigate how to restructure the VTK packaging infrastructure to support namespace extension, in a way similar to how the `trame` namespace is currently extended.

**Relevant Resources**

- VTK discourse discussion: [Toward supporting distribution of VTK-based modules on PyPI](https://discourse.vtk.org/t/rfc-toward-supporting-distribution-of-vtk-based-modules-on-pypi/4873/10)
- Python packaging guidance: [Creating a namespace package](https://packaging.python.org/en/latest/guides/packaging-namespace-packages/#creating-a-namespace-package)

* * *

### DICOM Anonymization

**Overview**  
The team discussed various tools for DICOM anonymization, especially in the context of IDC workflows and hospital data sharing.

**Feedback from @lassoan**

- [`KitwareMedical/dicom-anonymizer`](https://github.com/KitwareMedical/dicom-anonymizer) was tested but lacks support for advanced features, such as:

- Instead, PyDICOM’s built-in anonymization tools were used.

- The most advanced tool identified was DCIA, which includes ~1000 rules tailored for private tag handling.

**Feedback from @pieper**

- There’s a need to anonymize DICOM consistently across multiple series (e.g., keeping the same anonymized birthdate).
- Steve developed a JavaScript-based tool using `DCMJS` and [`dicom-curate`](https://github.com/bebbi/dicom-curate), especially useful in contexts where software installation is not feasible.

**Additional Resource**

- Encapsulating STL data in DICOM format: [https://dicom.innolitics.com/ciods/encapsulated-stl](https://dicom.innolitics.com/ciods/encapsulated-stl)

* * *

### ViewNode & RenderWindow in the Context of SegmentEditor Refactoring

**Background**  
The discussion centered on improving the Segment Editor’s integration with the rendering system without depending on the Qt layer.

**Key Points**

- Discussed [PR #8604](https://github.com/Slicer/Slicer/pull/8604), which addresses cleaner access to rendering components via the MRML scene.

- It was agreed that:

**Planned Enhancements**

- Introduce a new helper method:  
`vtkMRMLApplicationLogic::GetViewDisplayableManagerByClassName()`

**Relevant Usage Examples**

- [`qMRMLSegmentEditorWidget.cxx#L2852`](https://github.com/Slicer/Slicer/blob/8a96c0c2b94eb6088a9520c198e4325d9965fdcf/Modules/Loadable/Segmentations/Widgets/qMRMLSegmentEditorWidget.cxx#L2852)
- [`SegmentEditorDrawEffect.py#L59`](https://github.com/Slicer/Slicer/blob/8a96c0c2b94eb6088a9520c198e4325d9965fdcf/Modules/Loadable/Segmentations/EditorEffects/Python/SegmentEditorEffects/SegmentEditorDrawEffect.py#L59)
- [`qSlicerSegmentEditorAbstractEffect.cxx#L288`](https://github.com/Slicer/Slicer/blob/8a96c0c2b94eb6088a9520c198e4325d9965fdcf/Modules/Loadable/Segmentations/EditorEffects/qSlicerSegmentEditorAbstractEffect.cxx#L288)

**Markup Integration**

- Plan to refactor the _Scissors_ effect to use _Closed Curve Markups_.
- Effects should be able to query which view nodes are currently mapped in the layout to determine relevant display contexts.
