@@ -226,16 +226,19 @@ public class BiQuadParameters {
publicbooleanml_generate=false;// Generate ML data automatically when running ground truth
publicbooleanml_poles=true;// Generate ML data from the DSI that includes extracted poles
publicbooleanml_copyJP4=true;// Copy source jp4 files when running "Ground truth" command
publicintml_hwidth=2;// Half-width of the ML tiles to export (0-> 1x1, 1->3x3, 2 -> 5x5)
publicdoubleml_disparity_sweep=2.0;// Disparity sweep around ground truth, each side
publicintml_sweep_steps=5;// Number of disparity sweep steps
publicintml_hwidth=4;// Half-width of the ML tiles to export (0-> 1x1, 1->3x3, 2 -> 5x5)
publicdoubleml_disparity_sweep=1.0;// Disparity sweep around ground truth, each side
publicintml_sweep_steps=21;// Number of disparity sweep steps
publicbooleanml_keep_aux=true;// include auxiliary camera data in the ML output
publicbooleanml_keep_inter=true;// include inter-camera correlation data in the ML output
publicbooleanml_keep_aux=false;// true; // include auxiliary camera data in the ML output
publicbooleanml_keep_inter=false;// true; // include inter-camera correlation data in the ML output
publicbooleanml_keep_hor_vert=true;// include combined horizontal and vertical pairs data in the ML output
publicbooleanml_keep_tbrl=true;// include individual top, bottom, right, left pairs
publicbooleanml_keep_debug=true;// include debug layer(s) data in the ML output
publicbooleanml_keep_tbrl=false;// true; // include individual top, bottom, right, left pairs
publicbooleanml_keep_debug=false;// true; // include debug layer(s) data in the ML output
publicbooleanml_8bit=true;// output in 8-bit format (default - 32-bit TIFF
publicdoubleml_limit_extrim=0.00001;// ignore lowest and highest values when converting to 8 bpp
publicbooleanml_show_ml=true;// show each generated MLoutput file
...
...
@@ -311,7 +314,7 @@ public class BiQuadParameters {
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 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");
...
...
@@ -600,6 +603,13 @@ public class BiQuadParameters {
gd.addTab("ML","Parameters related to the ML files generation for the dual-quad camera rig");
gd.addCheckbox("Generate ML data automatically",this.ml_generate,
"Generate ML data automatically when running ground truth (may run separately from a command button)");
gd.addCheckbox("Generate ML data from the DSI that includes extracted poles",this.ml_poles,
"If unchecked - use DSI w/o poles data");
gd.addCheckbox("Copy JP4 source images when generating ML data",this.ml_copyJP4,
"Possible to run by a command button");
gd.addNumericField("Half-width of the ML tiles to export (0-> 1x1, 1->3x3, 2 -> 5x5)",this.ml_hwidth,0,3,"",
"Amount of data to export to the ML system");
gd.addNumericField("Disparity sweep around ground truth, each side",this.ml_disparity_sweep,3,6,"",
...
...
@@ -802,6 +812,10 @@ public class BiQuadParameters {
this.rf_min_disp=gd.getNextNumber();
this.rf_remove_unselected=gd.getNextBoolean();
this.ml_generate=gd.getNextBoolean();
this.ml_poles=gd.getNextBoolean();
this.ml_copyJP4=gd.getNextBoolean();
this.ml_hwidth=(int)gd.getNextNumber();
this.ml_disparity_sweep=gd.getNextNumber();
this.ml_sweep_steps=(int)gd.getNextNumber();
...
...
@@ -995,6 +1009,9 @@ public class BiQuadParameters {
@@ -1936,6 +1976,7 @@ public class PoleProcessor {
}
doublemax_target_diff=applyMeasuredDisparity(
clt_parameters.poles.min_refine_diff,// double min_diff, // do not update if last difference was smaller than requested
clt_parameters.poles.disparity_scale,// final double disparity_scale, // target disparity to differential disparity scale (baseline ratio)
clt_parameters.poles.diff_power,// final double diff_power, // bias towards higher disparities - (disparity+offset) is raised to this power and applied to weight
// if 0.0 - do not apply value to weight
...
...
@@ -1967,6 +2008,7 @@ public class PoleProcessor {
debugLevel+0);//final int debugLevel)
max_target_diff=applyMeasuredDisparity(
clt_parameters.poles.min_refine_diff,// double min_diff, // do not update if last difference was smaller than requested
clt_parameters.poles.disparity_scale,// final double disparity_scale, // target disparity to differential disparity scale (baseline ratio)
clt_parameters.poles.diff_power,// final double diff_power, // bias towards higher disparities - (disparity+offset) is raised to this power and applied to weight
// if 0.0 - do not apply value to weight
...
...
@@ -1976,10 +2018,9 @@ public class PoleProcessor {
pole_clusters,// final ArrayList<PoleCluster> clusters,
debugLevel);// final int debugLevel) // debug level
System.out.println("DSI data for the scene after poles extraction is not available. You may enable it and re-run \"Ground truth\" command or run \"Poles GT\"");
return;
}
if(debugLevel>-4){
if(clt_parameters.rig.ml_poles){
System.out.println("==== Generating ML data for the DSI that includes extracted vertical poles ====");
}else{
System.out.println("outputMLData(): failed to get ground truth data, aborting");
return;
System.out.println("==== Generating ML data for the DSI that DOES NOT include extracted vertical poles ====");