shapeworks::CorrespondenceQualityRow
Per-subject-per-domain correspondence quality result row. More...
#include <CorrespondenceEvaluation.h>
Public Attributes
| Name | |
|---|---|
| std::string | subject |
| int | domain |
| double | mean_dist pull: mean distance from the reconstructed vertices to the groomed surface |
| double | median_dist pull: median per-vertex distance |
| double | p99_dist pull: 99th percentile per-vertex distance, a max that ignores single outlier vertices |
| double | max_dist pull: max per-vertex distance |
| double | bbox_diag diagonal of the subject's groomed-mesh bounding box |
| double | norm_mean mean_dist / bbox_diag (scale-invariant) |
| double | norm_median median_dist / bbox_diag |
| double | norm_p99 p99_dist / bbox_diag |
| double | norm_max max_dist / bbox_diag |
| bool | is_template true for the L1-medoid template row (excluded from aggregates) |
| CorrespondenceDistanceStats | push from each groomed vertex to the reconstructed surface, weighted by the area each vertex stands for |
| CorrespondenceDistanceStats | disagreement |
Detailed Description
struct shapeworks::CorrespondenceQualityRow;
Per-subject-per-domain correspondence quality result row.
The unprefixed distances measure one direction only, from each reconstructed vertex to the groomed surface ("pull"). Any part of the groomed surface the reconstruction never reaches – a tear, a collapsed opening, a missing appendage – leaves every reconstructed vertex on the groomed surface, so pull cannot see it. push measures the other direction, and disagreement combines the two on the groomed surface; it is the one to rank by.
Public Attributes Documentation
variable subject
std::string subject;
variable domain
int domain = 0;
variable mean_dist
double mean_dist = 0.0;
pull: mean distance from the reconstructed vertices to the groomed surface
variable median_dist
double median_dist = 0.0;
pull: median per-vertex distance
variable p99_dist
double p99_dist = 0.0;
pull: 99th percentile per-vertex distance, a max that ignores single outlier vertices
variable max_dist
double max_dist = 0.0;
pull: max per-vertex distance
variable bbox_diag
double bbox_diag = 0.0;
diagonal of the subject's groomed-mesh bounding box
variable norm_mean
double norm_mean = 0.0;
mean_dist / bbox_diag (scale-invariant)
variable norm_median
double norm_median = 0.0;
median_dist / bbox_diag
variable norm_p99
double norm_p99 = 0.0;
p99_dist / bbox_diag
variable norm_max
double norm_max = 0.0;
max_dist / bbox_diag
variable is_template
bool is_template = false;
true for the L1-medoid template row (excluded from aggregates)
variable push
CorrespondenceDistanceStats push;
from each groomed vertex to the reconstructed surface, weighted by the area each vertex stands for
variable disagreement
CorrespondenceDistanceStats disagreement;
on each groomed vertex, the larger of its push distance and the pull distance of any reconstructed vertex that lands beside it, weighted by area
Updated on 2026-09-20 at 15:51:01 +0000