gd.addCheckbox("Debug rig/bi-camera functionality ",this.rig_mode_debug,"Enable debugging of the methods related to dual camera rig");
gd.addCheckbox("Debug rig/bi-camera functionality ",this.rig_mode_debug,"Enable debugging of the methods related to dual camera rig");
gd.addCheckbox("Use poly for main/aux/rig correlations (false - CM)",this.use_poly,"Use LMA/polynomial if correlation is strong enough");
gd.addCheckbox("Use poly for main/aux/rig correlations (false - CM)",this.use_poly,"Use LMA/polynomial if correlation is strong enough");
...
@@ -59,6 +86,50 @@ public class BiQuadParameters {
...
@@ -59,6 +86,50 @@ public class BiQuadParameters {
"Do not use tile for infinity adjustment if absolute value of the main camera disparity is too high");
"Do not use tile for infinity adjustment if absolute value of the main camera disparity is too high");
gd.addNumericField("Maximal absolute value of inter-camera disparity to use for infinity rig adjustment",this.inf_max_disp_rig,3,6,"pix",
gd.addNumericField("Maximal absolute value of inter-camera disparity to use for infinity rig adjustment",this.inf_max_disp_rig,3,6,"pix",
"Do not use tile for infinity adjustment if absolute value of the inter-camera disparity is too high");
"Do not use tile for infinity adjustment if absolute value of the inter-camera disparity is too high");
gd.addNumericField("Maximal absolute value of main camera disparity difference near objects, before refinement",this.first_max_disp_main,3,6,"pix",
"First pass for near objects, before refinement pass");
gd.addNumericField("Maximal absolute value of aux camera disparity difference near objects, before refinement",this.first_max_disp_aux,3,6,"pix",
"First pass for near objects, before refinement pass");
gd.addNumericField("Maximal absolute value of inter-camera disparity difference near objects, before refinement",this.first_max_disp_rig,3,6,"pix",
"First pass for near objects, before refinement pass");
gd.addNumericField("Number of disparity refinement passes for the non-infinity measurements, master camera",this.num_refine_master,0,3,"",
"Remeasure after setting per-tile expected disparity (phase shift before correlation)");
gd.addNumericField("Number of disparity refinement passes for the non-infinity measurements, inter-cameras",this.num_refine_inter,0,3,"",
"Remeasure after setting per-tile expected disparity (phase shift before correlation)");
gd.addNumericField("Maximal absolute value of main camera disparity difference near objects, after refinement",this.near_max_disp_main,3,6,"pix",
"After refinement pass (target disparity set to the measured one");
gd.addNumericField("Maximal absolute value of aux camera disparity difference near objects, after refinement",this.near_max_disp_aux,3,6,"pix",
"After refinement pass (target disparity set to the measured one");
gd.addNumericField("Maximal absolute value of inter-camera disparity difference near objects, after refinement",this.near_max_disp_rig,3,6,"pix",
"After refinement pass (target disparity set to the measured one");
gd.addNumericField("Minimal correlation strength to try to refine disparity",this.refine_min_strength,3,6,"",
"Re-scan tile with updated expected disparity if previously measured strength was above this");
gd.addNumericField("Refine tolerance - do not try to refine if residual disparity is lower",this.refine_tolerance,3,6,"pix",
"Re-scan tile only if residual disparity absolute value is lower that this");
gd.addNumericField("Maximal disparity to try for the rig adjustment",this.rig_disp_range,3,6,"pix",
"Maximal disparity of the main camera when adjusting auxiliary camera pose");
gd.addNumericField("Number of disparity values to try between zero (infinity) and the maximal one",this.rig_num_disp_steps,0,3,"",
"1 - only infinity, 2 - infinity and maximal, 3 - infinuty, half-maximal and maximal");
gd.addNumericField("Number of full rig adjustment cycles",this.rig_adjust_full_cycles,0,3,"",
"Includes full-frame scanning and re-creating the sample tile list");
gd.addNumericField("Number of short rig adjustment cycles",this.rig_adjust_short_cycles,0,3,"",
"Re-scan only previously selected tiles");
gd.addNumericField("Minimal RMS improvement after short cycle to exit",this.rig_adjust_short_threshold,3,6,"",
"Short cycle iteration finish after relative RMS improvement is less than this of maximal number of steps is exceeded");
gd.addCheckbox("Adjust orientation (azimuth, tilt, roll) of the auxiliary camera",this.rig_adjust_orientation,"3 angles, most basic adjustment");
gd.addCheckbox("Adjust orientation relative zoom of the auxiliary camera",this.rig_adjust_zoom,"Not likely to change, may be frozen");
gd.addCheckbox("Adjust position of the aux camera in the main camera pricipal plane",this.rig_adjust_angle,"0 - exactly to the right, positive - higher than main");
gd.addCheckbox("Adjust aux camera distance from the main",this.rig_adjust_distance,"Normally not practical, rely on direct measurement");
gd.addCheckbox("Adjust aux camera distance from the main principal plane",this.rig_adjust_forward,"Not implemented, assumed zero");
gd.addNumericField("Scale calculated correction before applying",this.rig_correction_scale,3,6,"",
"Debug feature");
}
}
publicvoiddialogAnswers(GenericJTabbedDialoggd){
publicvoiddialogAnswers(GenericJTabbedDialoggd){
this.rig_mode_debug=gd.getNextBoolean();
this.rig_mode_debug=gd.getNextBoolean();
...
@@ -72,7 +143,32 @@ public class BiQuadParameters {
...
@@ -72,7 +143,32 @@ public class BiQuadParameters {
double_stacks[0],// final double [][][] image_data_main, // first index - number of image in a quad
double_stacks[0],// final double [][][] image_data_main, // first index - number of image in a quad
double_stacks[1],// final double [][][] image_data_aux, // first index - number of image in a quad
double_stacks[1],// final double [][][] image_data_aux, // first index - number of image in a quad
...
@@ -944,24 +1399,24 @@ public class TwoQuadCLT {
...
@@ -944,24 +1399,24 @@ public class TwoQuadCLT {
clt_parameters.corr_magic_scale,// final double corr_magic_scale, // still not understood coefficient that reduces reported disparity value. Seems to be around 0.85
clt_parameters.corr_magic_scale,// final double corr_magic_scale, // still not understood coefficient that reduces reported disparity value. Seems to be around 0.85
false,// true, // final boolean keep_clt_data,
false,// true, // final boolean keep_clt_data,
threadsMax,// final int threadsMax, // maximal number of threads to launch
threadsMax,// final int threadsMax, // maximal number of threads to launch