@@ -920,19 +963,235 @@ public class Correlation2d {
returnpadded_strip;
}
publicvoidcorrLMA(
// returns array 3*num_pairs long
// TODO: now works for small offsets. Maybe add re-calculate int argmax for each pair? xcenter is still needed to subtract Add switch? (small/large correction)
publicdouble[]mismatchPairs(// returns x-xcenter, y, strength (sign same as disparity)
"false - return (old) per-coor correlations, true - replace them with more pairs correlation (new)");
gd.addCheckbox("Replace CM layer with mixed/new poly one",this.mix_corr_poly);
gd.addNumericField("Use poly mode if strength is greater than",this.min_poly_strength,3,6,"","AND condition");
gd.addNumericField("Maximal polynomial approximation half-width",this.max_poly_hwidth,3,6,"pix","Maximal polynomial approximation half-width (in both directions), Most now are ~2.0");
...
...
@@ -107,20 +125,37 @@ public class ImageDttParameters {
gd.addNumericField("Multiply center correlation pixels (inside enhortho_width) (1.0 - disables enh_orttho)",this.enhortho_scale,3);
gd.addMessage("Far objects correction");
gd.addCheckbox("Try to correct far objects (make them closer) by hor/vert comparison",this.far_object_correct);
gd.addCheckbox("Try to correct far objects (make them closer) by hor/vert comparison",this.fo_correct);
"Limit full correction with respect to largest - fullcorr difference. 1.0 does not allow overcorrection, < 1.0 - the result will be closer to full correction");
gd.addNumericField("Maximal disparity difference to calculate mismatch",this.mismatch_max_diff,3,6,"",
"Too low value will disqualify large mismatches, too high - treat multi-z disparity as mismatch");
gd.addNumericField("Add to pair correlation before multiplying by other pairs",this.corr_offset,6,8,"",
"0.0 - pure product (false-positive tolerant), higher the value - closer to the sum (linear, better S/N");
gd.addCheckbox("Double weight of diagonal pairs when combining",this.twice_diagonal,
"Diagonal pairs provide twice denser samples, when true it doubles the weight of diagonal pairs");
gd.addNumericField("Extract disparity max/argmax if maximal value is above",this.min_corr,6,8,"",
"skip unreliable correlations");
...
...
@@ -129,6 +164,16 @@ public class ImageDttParameters {