What kind of metrics can I use to compare two 3D surfaces?
Let's say I want to compare an algorithm-generated surface to a ground truth surface. So far, I am using overlapping metrics (Dice similarity coefficient), volume and surface distance metrics (maximum and mean distance errors). However, I need to perform further evaluations of morphology, smoothness, and topological measures of the surface etc. Is there an existing software package which computes such metrics?
Naveen Jafer Nizar You can use Meshlab's alignment module and further use hausdorff distance as a comparison metric (Under Filters> Sampling > Hausdorff Distance).
For the 2nd one I would look into the countless packages available with imageJ. Worse case scenario you can reuse existing codes from various plugins to solve your problem.
You can try out meshlab. It incorporates many functions to compute different distances between surfaces. You can also use ICP algorithm to calculate an rms for matching the two surfaces.
Thanks for your useful answers. In particular, my problem is to compare 3D cardiac scar tissue surfaces generated using different reconstruction/interpolation methods to a ground truth surface. I would like not to use point-wise distance based metrics because scar tissues surface can comprise of many isolated sub-regions and surfaces, thus correspondence using automated techniques will lead to large distance errors.
It looks like Meshlab has answer to some of my requirements. For example, I would like to colormap the Gaussian curvature into the surface.
Not sure if these will help, but I have previously published an ImageJ/Fiji plugin Shape3D (formerly 3D Convex Hull) to calculate morphologic measures of 3D image data. Thomas Boudier incorporated some of this into his more advanced plugin, 3D ImageJ Suite.
Your problem seems to me very similar to 3D mesh comparison for biometric purposes (e.g. face recognition algorithms). You could easily find a big corpus of knowledge in this field where there is a need for accurate metrics to match irregular surfaces coming from 3D scan of actual subjects or 3D reconstruction from multiple photos. Methods range from Iterative Closest Point to Isogeodesical Paths, just to name a few. My suggestion: try searching for "3D face recognition"
I think that is you are just trying to compare two surfaces you can use a very well recognized library proposed by Paolo Cignone. You can get it from the web site:
It allows you to measure distances between set of points in two surfaces or generate sampling points over the faces and edges of the mesh in order to improve the error estimation. It can also generate ply files containing a color map of the distance or error (Hausdorff, RMS, etc) between the meshes.
@Eranga I'm trying to do the exact thing: compare a mesh with a ground truth and use a metric to compute their difference! What method did you use in the end? I couldn't find anything in MeshLab...
Also, do the meshes have to be aligned or is there an algorithm to align them?
I am sorry that my researchgate account was associated with an discontinued email, so I didn't receive any notifications on new updates.
@Mehran I ended up using distance metrics such as mean absolute distance (you need to setup a kd tree) and Euler characteristic. The following is the resulting publication.
Ukwatta, Eranga, et al. "Image-based reconstruction of three-dimensional myocardial infarct geometry for patient-specific modeling of cardiac electrophysiology." Medical physics 42.8 (2015): 4579-4590.
@Eranga: Oh my apologies now. It's been almost a year since you replied, and the notification to must've got lost. We happened to move to a different problem so it was put on hold. Now we are back in the same spot for comparing mesh similarity and I remembered that I had asked a question here!! Thanks for linking to you paper, I will read over it and bug you in case I have any questions! : )
@Naveen: Yes, there are methods for aligning two meshes. Off the top of my head, one method I can think of is to sample points, uniformly on both meshes, then performing a RANSAC-based alignment (to get a rough alignment of the two meshes), then performing ICP to refine the alignment further. The drawback of this approach is (obviously) speed, and also the fact that the alignment will only account for rigid transformations (so no scaling can happen).
You can use our software Checkpoint (below) to collect 3D landmark points on surface and perform some 3D shape analysis. For example, you could collect a large set of points covering the surfaces and compare (and/or average) them across specimen.
Die Analyse medizinischer Bilddatensätze spielt in der täglichen klinischen Routine eine immer wichtigere Rolle. Bildgebende Systeme unterschiedlichster Modalitäten erzeugen Datensätze, die immer neue klinische Einsatzgebiete eröffnen. Postprocessing-Applikationen stellen kontinuierlich neue Funktionalitäten und Algorithmen zur Verfügung, um die er...
Medizinische Bilddaten beinhalten häufig ein hohes Maß an Variabilität. Dieses ist durch unterschiedliche Ursachen gegeben. Speziell auch die interindividuelle Variabilität (also die Variabilität zwischen unterschiedlichen Personen) ist hier zu nennen.
Die Arbeit beschäftigt sich deshalb vorwiegend mit der Untersuchung, inwieweit sich unterschiedl...