Commit 5075dfa3 authored by Andrey Filippov's avatar Andrey Filippov

compositeScan() with multi-plane (FG/BG) results

parent 28f7044c
...@@ -5335,7 +5335,7 @@ private Panel panel1, ...@@ -5335,7 +5335,7 @@ private Panel panel1,
if(ds_list.get(nt).isEmpty()) continue; if(ds_list.get(nt).isEmpty()) continue;
Collections.sort(ds_list.get(nt), new Comparator<DS>() { Collections.sort(ds_list.get(nt), new Comparator<DS>() {
@Override @Override
public int compare(DS lhs, DS rhs) { public int compare(DS lhs, DS rhs) { // ascending
return rhs.disparity > lhs.disparity ? -1 : (rhs.disparity < lhs.disparity ) ? 1 : 0; return rhs.disparity > lhs.disparity ? -1 : (rhs.disparity < lhs.disparity ) ? 1 : 0;
} }
}); });
......
...@@ -446,7 +446,7 @@ public class CLTPass3d{ ...@@ -446,7 +446,7 @@ public class CLTPass3d{
} }
/** /**
* Get Get combine per-tile disparity values from correlation combined with pre-programmed initial disparity shift. * Combine per-tile disparity values from correlation combined with pre-programmed initial disparity shift.
* @return line-scan array of per-tile disparity by reference (not a copy), so it can be modified * @return line-scan array of per-tile disparity by reference (not a copy), so it can be modified
*/ */
......
...@@ -5973,8 +5973,41 @@ public class QuadCLT { ...@@ -5973,8 +5973,41 @@ public class QuadCLT {
threadsMax, // maximal number of threads to launch threadsMax, // maximal number of threads to launch
updateStatus, updateStatus,
debugLevel); debugLevel);
// Add here composite scans and show FG and BG images
// adjust extrinsics here // adjust extrinsics here
ArrayList<CLTPass3d> combo_pass_list = tp.compositeScan(
2, // just FG and BG
tp.clt_3d_passes, // final ArrayList <CLTPass3d> passes,
0, // bg_pass, // final int firstPass,
tp.clt_3d_passes.size(), // final int lastPassPlus1,
tp.getTrustedCorrelation(), // final double trustedCorrelation,
tp.getMaxOverexposure(), // final double max_overexposure,
0.0, // clt_parameters.bgnd_range, // final double disp_far, // limit results to the disparity range
clt_parameters.grow_disp_max, // final double disp_near,
clt_parameters.combine_min_strength, // final double minStrength,
clt_parameters.combine_min_hor, // final double minStrengthHor,
clt_parameters.combine_min_vert, // final double minStrengthVert,
false, // final boolean no_weak,
false, // final boolean use_last, //
// TODO: when useCombo - pay attention to borders (disregard)
false, // final boolean usePoly) // use polynomial method to find max), valid if useCombo == false
true, // final boolean copyDebug)
debugLevel);
tp.ShowScansSFB(
combo_pass_list, // ArrayList<CLTPass3d> scans, // list of composite scans
this.image_name+"-SFB"); // String title);
/*
if (show_init_refine) tp.showScan(
combo_pass, // CLTPass3d scan,
"after_compositeScan-"+tp.clt_3d_passes.size());
*/
} }
if (adjust_extrinsics) { if (adjust_extrinsics) {
if (use_rig) { if (use_rig) {
...@@ -6010,6 +6043,30 @@ public class QuadCLT { ...@@ -6010,6 +6043,30 @@ public class QuadCLT {
debugLevel); debugLevel);
} }
ArrayList<CLTPass3d> combo_pass_list = tp.compositeScan(
2, // just FG and BG
tp.clt_3d_passes, // final ArrayList <CLTPass3d> passes,
0, // bg_pass, // final int firstPass,
tp.clt_3d_passes.size(), // final int lastPassPlus1,
tp.getTrustedCorrelation(), // final double trustedCorrelation,
tp.getMaxOverexposure(), // final double max_overexposure,
0.0, // clt_parameters.bgnd_range, // final double disp_far, // limit results to the disparity range
clt_parameters.grow_disp_max, // final double disp_near,
clt_parameters.combine_min_strength, // final double minStrength,
clt_parameters.combine_min_hor, // final double minStrengthHor,
clt_parameters.combine_min_vert, // final double minStrengthVert,
false, // final boolean no_weak,
false, // final boolean use_last, //
// TODO: when useCombo - pay attention to borders (disregard)
false, // final boolean usePoly) // use polynomial method to find max), valid if useCombo == false
true, // final boolean copyDebug)
debugLevel);
tp.ShowScansSFB(
combo_pass_list, // ArrayList<CLTPass3d> scans, // list of composite scans
this.image_name+"-SFB"); // String title);
Runtime.getRuntime().gc(); Runtime.getRuntime().gc();
// if (debugLevel >-1) System.out.println("Processing set "+(nSet+1)+" (of "+setNames.size()+") finished at "+ // if (debugLevel >-1) System.out.println("Processing set "+(nSet+1)+" (of "+setNames.size()+") finished at "+
...@@ -6457,14 +6514,11 @@ public class QuadCLT { ...@@ -6457,14 +6514,11 @@ public class QuadCLT {
if (show_init_refine) tp.showScan( if (show_init_refine) tp.showScan(
tp.clt_3d_passes.get(refine_pass), // CLTPass3d scan, tp.clt_3d_passes.get(refine_pass), // CLTPass3d scan,
"after_measure-"+tp.clt_3d_passes.size()); "after_measure-"+tp.clt_3d_passes.size());
// if (nnn < (num_macro_refine-1)) {
// if (clt_parameters.combine_refine){
CLTPass3d combo_pass = tp.compositeScan( CLTPass3d combo_pass = tp.compositeScan(
tp.clt_3d_passes, // final ArrayList <CLTPass3d> passes, tp.clt_3d_passes, // final ArrayList <CLTPass3d> passes,
bg_pass, // final int firstPass, bg_pass, // final int firstPass,
tp.clt_3d_passes.size(), // final int lastPassPlus1, tp.clt_3d_passes.size(), // final int lastPassPlus1,
// tp.clt_3d_passes.get(bg_pass).getSelected(), // selected , // final boolean [] bg_tiles, // get from selected in clt_3d_passes.get(0);
// clt_parameters.ex_min_over,// final double ex_min_over, // when expanding over previously detected (by error) background, disregard far tiles
tp.getTrustedCorrelation(), // final double trustedCorrelation, tp.getTrustedCorrelation(), // final double trustedCorrelation,
tp.getMaxOverexposure(), // final double max_overexposure, tp.getMaxOverexposure(), // final double max_overexposure,
0.0, // clt_parameters.bgnd_range, // final double disp_far, // limit results to the disparity range 0.0, // clt_parameters.bgnd_range, // final double disp_far, // limit results to the disparity range
...@@ -6472,11 +6526,11 @@ public class QuadCLT { ...@@ -6472,11 +6526,11 @@ public class QuadCLT {
clt_parameters.combine_min_strength, // final double minStrength, clt_parameters.combine_min_strength, // final double minStrength,
clt_parameters.combine_min_hor, // final double minStrengthHor, clt_parameters.combine_min_hor, // final double minStrengthHor,
clt_parameters.combine_min_vert, // final double minStrengthVert, clt_parameters.combine_min_vert, // final double minStrengthVert,
false, // final boolean no_weak, false, // final boolean no_weak,
false, // final boolean use_last, // false, // final boolean use_last, //
// TODO: when useCombo - pay attention to borders (disregard) // TODO: when useCombo - pay attention to borders (disregard)
false, // final boolean usePoly) // use polynomial method to find max), valid if useCombo == false false, // final boolean usePoly) // use polynomial method to find max), valid if useCombo == false
true, // final boolean copyDebug) true, // final boolean copyDebug)
debugLevel); debugLevel);
if (show_init_refine) tp.showScan( if (show_init_refine) tp.showScan(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment