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.6] BUG: Improve surface smoothing accuracy in segmentations #7682

Merged

Conversation

jcfr
Copy link
Member

@jcfr jcfr commented Apr 5, 2024

Backport of #7643


Surface low-pass filter did not use an optimal window function, which sometimes resulted in small (<1%) scale difference in smoothed output.

The issue was fixed in VTK by implementing Nuttall window function and use it by default. We also slightly increment the number of iterations at stronger smoothing settings, as the default 20 iterations is only enough for moderate smoothing factors.

More information:

List of VTK changes:

$ git shortlog d4be5ea25..4c46b5221 --no-merges
Andras Lasso (2):
      [Backport] Improve accuracy of vtkWindowedSincPolyDataFilter
      [Backport] Add vtkWindowedSincPolyDataFilter test with Nuttall window function

(cherry picked from commit ddc0379)

Surface low-pass filter did not use an optimal window function, which sometimes resulted in small (<1%) scale difference in smoothed output.

The issue was fixed in VTK by implementing Nuttall window function and use it by default. We also slightly increment the number of iterations at stronger smoothing settings, as the default 20 iterations is only enough for moderate smoothing factors.

More information:
- https://discourse.slicer.org/t/accuracy-of-segmentation-smoothing/34723
- https://discourse.vtk.org/t/slight-offset-in-vtkwindowedsincpolydatafilter-if-normalization-is-enabled/7676

List of VTK changes:

```
$ git shortlog d4be5ea25..4c46b5221 --no-merges
Andras Lasso (2):
      [Backport] Improve accuracy of vtkWindowedSincPolyDataFilter
      [Backport] Add vtkWindowedSincPolyDataFilter test with Nuttall window function
```

(cherry picked from commit ddc0379)
@jcfr jcfr added this to the Slicer 5.6.2 milestone Apr 5, 2024
@jcfr jcfr linked an issue Apr 5, 2024 that may be closed by this pull request
3 tasks
@jcfr jcfr merged commit a952410 into Slicer:5.6 Apr 5, 2024
6 checks passed
@jcfr jcfr deleted the slicer-5.6-fix-segmentation-smoothing-inaccuracy branch April 5, 2024 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Backport VTK updates addressing issue #7668
2 participants