-
Notifications
You must be signed in to change notification settings - Fork 17
Description
We would like to re-implement the functionalities from the original MeshMath lib that are not in the current SurfaceToolbox module. Per our discussion, the functionalities will start to be added by building the lower-level modules, each implementing only a single functionality, which are listed in below.
- Mesh-to-mesh alignment: with/without established correspondence (part of Add filters: avgMesh, alignMesh, GetCurvatures #6)
- Average mesh computation: in Euclidean/Kendall space, non-/normalized (part of Add filters: avgMesh, alignMesh, GetCurvatures #6)
- Mesh-to-mesh surface distance: pointwise or surface without correspondence, relative/absolute, distance statistics
- Mesh data imprinter: to/from mesh, image or file
- Mesh point data operator: support arithmetic point data operations between correspondence established meshes
- Mesh shape characteristics: kinda like segment statistics but have more shape features, surfaceArea, volumePolyData, mean/Gaussian curvature (see Integrate functionality of SurfaceFeaturesExtractor #7 and part of Add filters: avgMesh, alignMesh, GetCurvatures #6)
These modules would be very much like the Decimation module, which has its corresponding simpler version in the SurfaceToolBox module. I will start by putting these new modules under SurfaceModels/Advanced just like the Decimation module.
We can revisit the specific usage pipelines to create a high level module later when we finish these low-level yet more in-depth ones. We can easily imagine a typical use pipeline, in which users import a multi-mesh dataset, align them, perform basic statistical calculations on coordinates (distance) or derived properties (curvatures) and imprint/export data to nodes/files. But these can come later when we finish these fundamental ones.
Removed tasks:
- Multi-mesh point/face data statistics (variance/mean/attSTD) - can be calculated by using exported .csv from Surface Feature Extractor and importing back with Mesh Data Imprinter.
- Mesh property statistics (avg/median/min/max/per1/per99OneKWM) - saved for future development. Need a module that can compute vertex/cell neighboring information and per vertex area with different calculation scheme (cotangent or 1/3 neighboring triangle area).