@@ -2637,8 +2704,8 @@ public class CLTParameters {
...
@@ -2637,8 +2704,8 @@ public class CLTParameters {
gd.addMessage("--- other LMA parameters ---");
gd.addMessage("--- other LMA parameters ---");
gd.addNumericField("Relative weight margins (0.0 - all 1.0, 1.0 sin^2",this.ly_marg_fract,8,3,"",
gd.addNumericField("Relative weight margins (0.0 - all 1.0, 1.0 sin^2)",this.ly_marg_fract,3,5,"","Reduce weigt of peripheral tiles");
"Reduce weigt of peripheral tiles");
gd.addNumericField("Vignette corners (relative to diagonal), same fading as margins above",this.ly_rad_to_hdiag,3,5,"","1.0 - half diagonal, 0.8 - half width");
gd.addCheckbox("Calculate and apply lazy eye correction after disparity scan (poly or extrinsic), may repeat",this.ly_on_scan);
gd.addCheckbox("Calculate and apply lazy eye correction after disparity scan (poly or extrinsic), may repeat",this.ly_on_scan);
gd.addCheckbox("Adjust disparity using objects at infinity by changing individual tilt and azimuth ",this.ly_inf_en," disable if there are no really far objects in the scene");
gd.addCheckbox("Adjust disparity using objects at infinity by changing individual tilt and azimuth ",this.ly_inf_en," disable if there are no really far objects in the scene");
...
@@ -2653,14 +2720,60 @@ public class CLTParameters {
...
@@ -2653,14 +2720,60 @@ public class CLTParameters {
gd.addCheckbox("Enable ERS correction of the camera vertical motion",this.ly_ers_vert);
gd.addCheckbox("Enable ERS correction of the camera vertical motion",this.ly_ers_vert);
gd.addNumericField("Manual parameter mask selection (0 use checkboxes above)",this.ly_par_sel,0,5,"",
gd.addNumericField("Manual parameter mask selection (0 use checkboxes above)",this.ly_par_sel,0,5,"",
"bit 0 - sym0, bit1 - sym1, ...");
"bit 0 - sym0, bit1 - sym1, ...");
gd.addMessage("--- Relarive weights for LY samples (infinity/near, disparity/lazy eye, ...)---");
gd.addNumericField("Total weight of infinity tiles fraction (0.0 - 1.0)",this.ly_weight_infinity,3,5,"pix",
"The remaining weight goes to all objects and finate distance");
gd.addNumericField("Disparity weight relative to the sum of 8 lazy eye values of the same tile for near object",this.ly_weight_disparity,3,5,"pix",
"Should probably be zero");
gd.addNumericField("Disparity weight relative to the sum of 8 lazy eye values of the same tile for infinity",this.ly_weight_disparity_inf,3,5,"pix",
"Now 0.5");
gd.addNumericField("Disparity threshold to reduce weights of near tiles",this.ly_max_disparity_far,1,5,"pix",
"Near objects' (disparity > max_disparity_far) weights are scaled by sqrt(max_disparity_far/disparity)");
gd.addNumericField("Disregard near objects (default 1000) for LY adjustment to avoid ERS influence",this.ly_max_disparity_use,1,5,"pix",
"Testing extrinsic (no ERS) adjustment only");
gd.addMessage("--- Clouds in the sky detection (reduces weights for far objects, such as mountain ridges) ---");
gd.addNumericField("Minimal distance from background selection edge for positive weighths",this.ly_inf_min_dfe,3,5,"clusters",
"Values close to the larger integer cause first positive value smaller than next increments");
clt_parameters.ly_inf_min_broad,// inf_min_disp_abs, // minimal disparity for infinity (absolute)
clt_parameters.ly_inf_max_broad,// maximal disparity for infinity (absolute)
clt_parameters.ly_inf_tilt,// boolean en_infinity_tilt, // select infinity tiles form right/left tilted (false - from average)
clt_parameters.ly_right_left,// boolean infinity_right_left, // balance weights between right and left halves of infinity
clt_parameters.ly_aztilt_en,// boolean use_aztilts, // Adjust azimuths and tilts excluding disparity
clt_parameters.ly_aztilt_en,// boolean use_aztilts, // Adjust azimuths and tilts excluding disparity
clt_parameters.ly_diff_roll_en,//boolean use_diff_rolls, // Adjust differential rolls (3 of 4 angles)
clt_parameters.ly_diff_roll_en,//boolean use_diff_rolls, // Adjust differential rolls (3 of 4 angles)
// clt_parameters.ly_inf_force, // boolean force_convergence, // if true try to adjust convergence (disparity, symmetrical parameter 0) even with no disparity
clt_parameters.ly_min_forced,// int min_num_forced, // minimal number of clusters with forced disparity to use it
clt_parameters.ly_min_forced,// int min_num_forced, // minimal number of clusters with forced disparity to use it
// data, using just radial distortions
// data, using just radial distortions
clt_parameters.ly_com_roll,//boolean common_roll, // Enable common roll (valid for high disparity range only)
clt_parameters.ly_com_roll,//boolean common_roll, // Enable common roll (valid for high disparity range only)
...
@@ -4856,8 +4860,24 @@ public class QuadCLTCPU {
...
@@ -4856,8 +4860,24 @@ public class QuadCLTCPU {
clt_parameters.ly_ers_vert,// boolean ers_vert, // Enable ERS correction of the camera linear movement in y direction
clt_parameters.ly_ers_vert,// boolean ers_vert, // Enable ERS correction of the camera linear movement in y direction
// add balancing-related here?
// add balancing-related here?
clt_parameters.ly_par_sel,// int manual_par_sel, // Manually select the parameter mask bit 0 - sym0, bit1 - sym1, ... (0 - use boolean flags, != 0 - ignore boolean flags)
clt_parameters.ly_par_sel,// int manual_par_sel, // Manually select the parameter mask bit 0 - sym0, bit1 - sym1, ... (0 - use boolean flags, != 0 - ignore boolean flags)
1.0,// double weight_disparity,
clt_parameters.ly_weight_infinity,//0.3, // double weight_infinity, // 0.3, total weight of infinity tiles fraction (0.0 - 1.0)
1.0,// double weight_lazyeye,
clt_parameters.ly_weight_disparity,//0.0, // double weight_disparity, // 0.0 disparity weight relative to the sum of 8 lazy eye values of the same tile
clt_parameters.ly_weight_disparity_inf,//0.5, // double weight_disparity_inf,// 0.5 disparity weight relative to the sum of 8 lazy eye values of the same tile for infinity
clt_parameters.ly_max_disparity_far,//5.0, // double max_disparity_far, // 5.0 reduce weights of near tiles proportional to sqrt(max_disparity_far/disparity)
clt_parameters.ly_max_disparity_use,//5.0, // double max_disparity_use, // 5.0 (default 1000)disable near objects completely - use to avoid ERS
// clt_parameters.ly_inf_force, // boolean force_convergence, // if true try to adjust convergence (disparity, symmetrical parameter 0) even with no disparity
// clt_parameters.ly_inf_force, // boolean force_convergence, // if true try to adjust convergence (disparity, symmetrical parameter 0) even with no disparity
...
@@ -7966,8 +7981,23 @@ public class QuadCLTCPU {
...
@@ -7966,8 +7981,23 @@ public class QuadCLTCPU {
clt_parameters.ly_ers_vert,// boolean ers_vert, // Enable ERS correction of the camera linear movement in y direction
clt_parameters.ly_ers_vert,// boolean ers_vert, // Enable ERS correction of the camera linear movement in y direction
// add balancing-related here?
// add balancing-related here?
clt_parameters.ly_par_sel,// int manual_par_sel, // Manually select the parameter mask bit 0 - sym0, bit1 - sym1, ... (0 - use boolean flags, != 0 - ignore boolean flags)
clt_parameters.ly_par_sel,// int manual_par_sel, // Manually select the parameter mask bit 0 - sym0, bit1 - sym1, ... (0 - use boolean flags, != 0 - ignore boolean flags)
0.5,// double weight_disparity,
clt_parameters.ly_weight_infinity,//0.3, // double weight_infinity, // 0.3, total weight of infinity tiles fraction (0.0 - 1.0)
1.0,// double weight_lazyeye,
clt_parameters.ly_weight_disparity,//0.0, // double weight_disparity, // 0.0 disparity weight relative to the sum of 8 lazy eye values of the same tile
clt_parameters.ly_weight_disparity_inf,//0.5, // double weight_disparity_inf,// 0.5 disparity weight relative to the sum of 8 lazy eye values of the same tile for infinity
clt_parameters.ly_max_disparity_far,//5.0, // double max_disparity_far, // 5.0 reduce weights of near tiles proportional to sqrt(max_disparity_far/disparity)
clt_parameters.ly_max_disparity_use,//5.0, // double max_disparity_use, // 5.0 (default 1000)disable near objects completely - use to avoid ERS