Skip to content

Conversation

@yehan0223
Copy link

@yehan0223 yehan0223 commented Apr 9, 2025

The Surface Distance module allows computation of distances from source models to the target model of selection. Either the absolute surface distance (does not require pointwise correspondence) or the pointwise distance (require correspondence) can be computed, which will be stored in the source models as point data. After computation, the distance field is shown on all source models at a uniform color scale for visualization and comparison purposes.
Test data: surfacetoolbox_revamp_test.zip
image
Note: need qMRMLCheckableNodeComboBox to be supported for parameter node. Slicer/Slicer#7308
Related issue: #68
cc: @bpaniagua @jcfr @lassoan @pieper

jcfr added a commit to slicersalt/Slicer that referenced this pull request Apr 9, 2025
This commit updates SlicerSurfaceToolbox to backport the following modules
from the SlicerSALT fork:
- AverageMesh
- MeshDataImprinter
- SurfaceDistance
- SurfaceFeatureExtractor

It also backports improvements associated with the MeshAlignment module.

These changes correspond to those proposed in the following pull requests
which are still under review and not yet merged upstream:
- Slicer/SlicerSurfaceToolbox#71
- Slicer/SlicerSurfaceToolbox#72
- Slicer/SlicerSurfaceToolbox#73
- Slicer/SlicerSurfaceToolbox#74
- Slicer/SlicerSurfaceToolbox#75

List of changes:

```
$ git shortlog 26715cf..389b220 --no-merges
Ye Han (5):
      [Backport PR-71] ENH:Add MeshAlignment module
      [Backport PR-72] ENH: Add MeshDataImprinter module
      [Backport PR-73] ENH: Add SurfaceFeatureExtractor module
      [Backport PR-74] ENH: Add SurfaceDistance Module
      [Backport PR-75] ENH: Add AverageMesh module
```
@cpinter
Copy link
Member

cpinter commented Jun 3, 2025

I just tried the module and it works great!

@lassoan
Copy link
Contributor

lassoan commented Jun 3, 2025

Thank you @yehan0223 for your contribution.

Since SurfaceToolbox modules are bundled by default with Slicer core, it would be nice if we used the latest scripted module template for it. Would you be able to switch to that template (by generating a new skeleton with ExtensionWizard and copying over the logic and copy/adjust the GUI)?

We also need a valid module icon (the current icon is the placeholder).

Could this replace the https://www.slicer.org/wiki/Documentation/Nightly/Extensions/ModelToModelDistance module? It seems that it has a few more distance computation options. Do you think you could add those missing options to this module?

@yehan0223
Copy link
Author

@lassoan Thanks for the suggestions. I will take a look and update the module.

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.

3 participants