Skip to content

shapeworks::CorrespondenceQualityJob

Scores each sample's correspondence quality. More...

#include <CorrespondenceQualityJob.h>

Inherits from shapeworks::Job, QObject

Public Functions

Name
CorrespondenceQualityJob(QSharedPointer< Session > session, CorrespondenceEvaluation::DistanceMethod method)
virtual void run() override
run the job
virtual QString name() override
get the name of the job
const CorrespondenceQualityReport & get_report() const
const std::vector< int > & get_row_shape_indices() const
index into Session::get_shapes() for each row of the report
const std::map< int, Eigen::VectorXd > & get_particle_values() const
const std::map< int, std::vector< vtkSmartPointer< vtkDataArray > > > & get_distance_fields() const

Public Attributes

Name
constexpr const char * FEATURE_NAME
name of the per-vertex distance array attached to each reconstructed mesh

Additional inherited members

Public Signals inherited from shapeworks::Job

Name
void progress(double , QString ="")
void finished()

Public Functions inherited from shapeworks::Job

Name
Job()
virtual ~Job()
void execute()
execute the job with profiling instrumentation
virtual QString get_completion_message()
get a message to display when the job is complete
virtual QString get_abort_message()
get a message to display when the job is aborted
virtual QString get_failure_message()
get a message to display when the job has failed
void start_timer()
start the timer
qint64 timer_elapsed()
how much time has elapsed since the timer was started
void set_complete(bool complete)
set the job as complete
bool is_complete() const
is the job complete?
void abort()
abort the job
bool is_aborted() const
was the job aborted?
void set_failed()
mark the job as failed (the error itself should be logged by the caller)
bool is_failed() const
did the job fail?
void set_quiet_mode(bool quiet)
set to quiet mode (no progress messages)
bool get_quiet_mode()
get quiet mode

Detailed Description

class shapeworks::CorrespondenceQualityJob;

Scores each sample's correspondence quality.

Reconstructs each sample through Studio's own configured mesh warper (the same reconstruction shown in the viewer, using the user's chosen template and warp method) and measures the distance from that reconstruction back to the sample's groomed mesh. The per-vertex distance field is left on each reconstructed mesh under FEATURE_NAME so it can be displayed as a surface scalar.

Public Functions Documentation

function CorrespondenceQualityJob

CorrespondenceQualityJob(
    QSharedPointer< Session > session,
    CorrespondenceEvaluation::DistanceMethod method
)

function run

virtual void run() override

run the job

Reimplements: shapeworks::Job::run

function name

inline virtual QString name() override

get the name of the job

Reimplements: shapeworks::Job::name

function get_report

inline const CorrespondenceQualityReport & get_report() const

function get_row_shape_indices

inline const std::vector< int > & get_row_shape_indices() const

index into Session::get_shapes() for each row of the report

function get_particle_values

inline const std::map< int, Eigen::VectorXd > & get_particle_values() const

the distance field sampled at each particle, keyed by index into Session::get_shapes(). The glyphs are colored from these, so they need to be applied to the shapes (on the GUI thread) with Shape::set_point_features() before the field can be displayed.

function get_distance_fields

inline const std::map< int, std::vector< vtkSmartPointer< vtkDataArray > > > & get_distance_fields() const

the per-vertex distance field for each domain of each shape, keyed by index into Session::get_shapes(). Shape::set_point_features() interpolates the particle values back over the mesh under the same name, so these have to be re-applied after it to survive.

Public Attributes Documentation

variable FEATURE_NAME

static constexpr const char * FEATURE_NAME = "correspondence_distance";

name of the per-vertex distance array attached to each reconstructed mesh


Updated on 2026-08-30 at 04:03:16 +0000