From 3de221264ae5c2fee2e97768d6c68bb0a303b08c Mon Sep 17 00:00:00 2001 From: Paul Elliott Date: Sat, 27 Jun 2026 14:12:02 -0400 Subject: [PATCH 1/3] feat(paint): add fill holes segmentation process Fill Holes fills enclosed background regions in a segment group on a slice. Options select current-slice vs whole-volume and all-segments vs the selected segment. Only background voxels are filled, so existing segments are never overwritten. Fill Holes is the default process. --- src/components/FillHolesParameterControls.vue | 77 +++++++++ src/components/ProcessControls.vue | 9 + src/components/ProcessTypeSelector.vue | 14 +- src/components/ProcessWorkflow.vue | 12 +- .../tools/paint/__tests__/fillHoles.spec.ts | 162 ++++++++++++++++++ src/core/tools/paint/fillHoles.ts | 159 +++++++++++++++++ src/store/tools/fillHoles.ts | 80 +++++++++ src/store/tools/paintProcess.ts | 3 +- tests/pageobjects/volview.page.ts | 67 ++++++++ tests/specs/paint-fill-holes.e2e.ts | 55 ++++++ 10 files changed, 626 insertions(+), 12 deletions(-) create mode 100644 src/components/FillHolesParameterControls.vue create mode 100644 src/core/tools/paint/__tests__/fillHoles.spec.ts create mode 100644 src/core/tools/paint/fillHoles.ts create mode 100644 src/store/tools/fillHoles.ts create mode 100644 tests/specs/paint-fill-holes.e2e.ts diff --git a/src/components/FillHolesParameterControls.vue b/src/components/FillHolesParameterControls.vue new file mode 100644 index 000000000..a4b2d21f4 --- /dev/null +++ b/src/components/FillHolesParameterControls.vue @@ -0,0 +1,77 @@ + + + diff --git a/src/components/ProcessControls.vue b/src/components/ProcessControls.vue index a1b40b660..78b22493f 100644 --- a/src/components/ProcessControls.vue +++ b/src/components/ProcessControls.vue @@ -2,6 +2,11 @@
+ +