Skip to content

shapeworks::CorrespondenceEvaluation

More...

#include <CorrespondenceEvaluation.h>

Public Types

Name
enum class DistanceMethod

Public Functions

Name
CorrespondenceQualityReport evaluate(ProjectHandle project, DistanceMethod method =DistanceMethod::PointToCell, const std::string & output_meshes_dir ="")

Detailed Description

class shapeworks::CorrespondenceEvaluation;

Per-subject correspondence-quality metric: reconstruct each subject's shape from its local particles via biharmonic mesh warp from the cohort L1-medoid template (matches Studio's median-subject selection), then measure distance from the reconstruction to that subject's groomed mesh. Distances are also normalized by each subject's bounding-box diagonal so the metric is scale-invariant.

The template row itself is included in rows (with is_template=true) but excluded from aggregate statistics — its reconstruction is near-identity and would skew small cohorts.

Public Types Documentation

enum DistanceMethod

Enumerator Value Description
PointToCell
PointToPoint

Public Functions Documentation

function evaluate

static CorrespondenceQualityReport evaluate(
    ProjectHandle project,
    DistanceMethod method =DistanceMethod::PointToCell,
    const std::string & output_meshes_dir =""
)

Evaluate. Project is expected to be already loaded, and the current working directory must be one from which the project's relative paths (groomed, local particles) resolve.

If output_meshes_dir is non-empty, per-subject reconstructed meshes are written there as .vtk with an embedded per-vertex "distance" field. The path is used verbatim (interpreted relative to the current CWD if not absolute).

Throws std::runtime_error on setup failures (no subjects, warp failure, mismatched particle counts across subjects).


Updated on 2026-07-27 at 05:53:15 +0000