54 static bool parse(
const std::string& spec,
StagePlan& out, std::string* err) {
56 std::stringstream ss(spec);
58 while (std::getline(ss, tok,
',')) {
60 size_t b = tok.find_first_not_of(
" \t");
61 size_t e = tok.find_last_not_of(
" \t");
62 if (b == std::string::npos)
continue;
63 tok = tok.substr(b, e - b + 1);
64 for (
char& c : tok) c =
static_cast<char>(::tolower(c));
68 }
else if (tok ==
"d") {
70 }
else if (tok ==
"match" || tok ==
"matching") {
72 }
else if (tok ==
"track" || tok ==
"tracking") {
74 }
else if (tok ==
"format") {
76 }
else if (tok ==
"e" || tok ==
"recon") {
78 }
else if (tok ==
"f" || tok ==
"deform") {
81 if (err) *err =
"unknown stage token: '" + tok +
"'";
StagePlan — selects which pipeline sub-steps a single process executes.
int only_pair
0 = all stereopairs; otherwise restrict to this pair
static bool parse(const std::string &spec, StagePlan &out, std::string *err)
Parse a comma-separated stage spec into out (stage booleans only; only_pair/only_cam are left untouch...
bool match
ROI/seed + REF->trial matching + camera-to-camera matching.
bool deform
Step F: deformation / strain.
bool recon
Step E: 3D reconstruction.
bool format
combine ncorr outputs -> myDIC2DpairResults
int only_cam
0 = both cameras; otherwise restrict tracking to this camera id
bool anyStepD() const
True if any Step-D sub-step is requested.
bool track
per-camera NCorr tracking