clt_parameters.ex_strength,// double this_sure, // minimal strength to be considered definitely good
clt_parameters.ex_nstrength,// double ex_nstrength, // minimal 4-corr strength divided by channel diff for new (border) tiles
clt_parameters.ex_strength,// double this_sure, // minimal strength to be considered definitely good
clt_parameters.ex_nstrength,// double ex_nstrength, // minimal 4-corr strength divided by channel diff for new (border) tiles
clt_parameters.bgnd_maybe,// double this_maybe, // maximal strength to ignore as non-background
clt_parameters.sure_smth,// sure_smth, // if 2-nd worst image difference (noise-normalized) exceeds this - do not propagate bgnd
clt_parameters.pt_super_trust,// final double super_trust, // If strength exceeds ex_strength * super_trust, do not apply ex_nstrength and plate_ds
// using plates disparity/strength - averaged for small square sets of tiles. If null - just use raw tiles
filtered_disp_strength,// final double [][] plate_ds, // disparity/strength last time measured for the multi-tile squares. Strength =-1 - not measured. May be null
clt_parameters.pt_keep_raw_fg,// final boolean keep_raw_fg, // do not replace raw tiles by the plates, if raw is closer (like poles)
clt_parameters.pt_scale_pre,// final double scale_filtered_strength_pre, // scale plate_ds[1] before comparing to raw strength
clt_parameters.pt_scale_post,// final double scale_filtered_strength_post,// scale plate_ds[1] when replacing raw (generally plate_ds is more reliable if it exists)
clt_parameters.pt_super_trust,// final double super_trust, // If strength exceeds ex_strength * super_trust, do not apply ex_nstrength and plate_ds
// using plates disparity/strength - averaged for small square sets of tiles. If null - just use raw tiles
filtered_disp_strength,// final double [][] plate_ds, // disparity/strength last time measured for the multi-tile squares. Strength =-1 - not measured. May be null
clt_parameters.pt_keep_raw_fg,// final boolean keep_raw_fg, // do not replace raw tiles by the plates, if raw is closer (like poles)
clt_parameters.pt_scale_pre,// final double scale_filtered_strength_pre, // scale plate_ds[1] before comparing to raw strength
clt_parameters.pt_scale_post,// final double scale_filtered_strength_post,// scale plate_ds[1] when replacing raw (generally plate_ds is more reliable if it exists)
ImageDtt.DISPARITY_INDEX_CM,// index of disparity value in disparity_map == 2 (0,2 or 4)
finaldoubleex_strength,// double this_sure, // minimal strength to be considered definitely good
finaldoubleex_nstrength,// double ex_nstrength, // minimal 4-corr strength divided by channel diff for new (border) tiles
finaldoublebgnd_maybe,// double this_maybe, // maximal strength to ignore as non-background
finaldoublesure_smth,// sure_smth, // if 2-nd worst image difference (noise-normalized) exceeds this - do not propagate bgnd
finaldoublept_super_trust,// final double super_trust, // If strength exceeds ex_strength * super_trust, do not apply ex_nstrength and plate_ds
// using plates disparity/strength - averaged for small square sets of tiles. If null - just use raw tiles
finalbooleanpt_keep_raw_fg,// final boolean keep_raw_fg, // do not replace raw tiles by the plates, if raw is closer (like poles)
finaldoublept_scale_pre,// final double scale_filtered_strength_pre, // scale plate_ds[1] before comparing to raw strength
finaldoublept_scale_post,// final double scale_filtered_strength_post,// scale plate_ds[1] when replacing raw (generally plate_ds is more reliable if it exists)
// Composite scan parameters
finaldoublecombine_min_strength,// final double minStrength,
finaldoublecombine_min_hor,// final double minStrengthHor,
finaldoublecombine_min_vert,// final double minStrengthVert,
//getFilteredDisparityStrength parameter
finaldoublefds_strength_floor,
finaldoublefds_strength_pow,
finalintfds_smpl_size,// == 5
finalintfds_smpl_points,// == 3
finaldoublefds_abs_rms,
finaldoublefds_rel_rms,
finalbooleanfds_use_wnd,// use window function fro the neighbors
finaldoublefds_tilt_damp,
finaldoublefds_abs_tilt,// = 2.0; // pix per tile
finaldoublefds_rel_tilt,// = 0.2; // (pix / disparity) per tile
// expansion from neighbors parameters:
finalintgr_min_new,// discard variant if there are less new tiles
finalintgr_steps_over,// how far to extend
finalbooleangr_var_new_sngl,
finalbooleangr_var_new_fg,
finalbooleangr_var_all_fg,
finalbooleangr_var_new_bg,
finalbooleangr_var_all_bg,
finalbooleangr_var_next,
finalintgr_smpl_size,// 5, // final int smpl_size, // == 5
finalintgr_min_pnts,// 5, // 4, // 3, // final int min_points, // == 3
finalbooleangr_use_wnd,// true, // final boolean use_wnd, // use window function fro the neighbors
finaldoublegr_tilt_damp,// 0.001, // final double tilt_cost,
finaldoublegr_split_rng,// 5.0, // final double split_threshold, // if full range of the values around the cell higher, need separate fg, bg
finaldoublegr_same_rng,// 3.0, // final double same_range, // modify
finaldoublegr_diff_cont,// 2.0, // final double diff_continue, // maximal difference from the old value (for previously defined tiles
finaldoublegr_abs_tilt,// 2.0, // final double max_abs_tilt, // = 2.0; // pix per tile
finaldoublegr_rel_tilt,// 0.2, // final double max_rel_tilt, // = 0.2; // (pix / disparity) per tile
finalintgr_smooth,// 50, // final int max_tries, // maximal number of smoothing steps
finaldoublegr_fin_diff,// 0.01, // final double final_diff, // maximal change to finish iterations
finaldoublegr_unique_pretol,// 1.0, // final double unique_pre_tolerance, // usually larger than clt_parameters.unique_tolerance
// legacy expansion
finaldoublegrow_min_diff,// = 0.5; // Grow more only if at least one channel has higher variance from others for the tile
finalbooleangrow_retry_far,// final boolean grow_retry_far, // Retry tiles around known foreground that have low max_tried_disparity
finalbooleangrow_pedantic,// final boolean grow_pedantic, // Scan full range between max_tried_disparity of the background and known foreground
finalbooleangrow_retry_inf,// final boolean grow_retry_inf, // Retry border tiles that were identified as infinity earlier
// common expansion
finalintgr_num_steps,// how far to extend
finaldoublegr_unique_tol,
finaldoublegrow_disp_min,// final double disp_near,
finaldoublegrow_disp_max,// final double disp_near,
finaldoublegrow_disp_step,// = 6.0; // Increase disparity (from maximal tried) if nothing found in that tile // TODO: handle enclosed dips?
// for debug level > 1, just corresponding clt_parameters.* will work, otherwise following 3 can override
finalbooleanlast_pass,// just for more debug?
finalbooleanremove_non_measurement,// save memory, true is OK
ex_strength,// double this_sure, // minimal strength to be considered definitely good
ex_nstrength,// double ex_nstrength, // minimal 4-corr strength divided by channel diff for new (border) tiles
bgnd_maybe,// double this_maybe, // maximal strength to ignore as non-background
sure_smth,// sure_smth, // if 2-nd worst image difference (noise-normalized) exceeds this - do not propagate bgnd
pt_super_trust,// final double super_trust, // If strength exceeds ex_strength * super_trust, do not apply ex_nstrength and plate_ds
// using plates disparity/strength - averaged for small square sets of tiles. If null - just use raw tiles
filtered_disp_strength,// final double [][] plate_ds, // disparity/strength last time measured for the multi-tile squares. Strength =-1 - not measured. May be null
pt_keep_raw_fg,// final boolean keep_raw_fg, // do not replace raw tiles by the plates, if raw is closer (like poles)
pt_scale_pre,// final double scale_filtered_strength_pre, // scale plate_ds[1] before comparing to raw strength
pt_scale_post,// final double scale_filtered_strength_post,// scale plate_ds[1] when replacing raw (generally plate_ds is more reliable if it exists)
ImageDtt.DISPARITY_INDEX_CM,// index of disparity value in disparity_map == 2 (0,2 or 4)
geometryCorrection,
tp.threadsMax,// maximal number of threads to launch
false,// updateStatus,
debugLevel);
passes.add(refined);
refine_pass++;// tp.refinePassSetup adds to the list
@@ -1333,9 +1391,10 @@ public class TileProcessor {
variants[num_var].expand_discontinuity,// final boolean expand_discontinuity, // true - expand discontinuity over known tiles
variants[num_var].smooth_only,// final boolean smooth_only, // Do not expand ambiguous cells (with discontinuity) (only valid for expand_discontinuity = false)
variants[num_var].extend_far,// final boolean extend_far, // extend far (false - extend near)
variants[num_var].try_next,// extend far (false - extend near)
variants[num_var].num_steps,// final int num_steps, // how far to extend
smpl_size,// final int smpl_size, // == 5
min_points,// final int min_points, // == 3
min_points,// final int min_points, // == 3
use_wnd,// final boolean use_wnd, // use window function fro the neighbors
tilt_cost,// final double tilt_cost,
variants[num_var].split_threshold,// final double split_threshold, // if full range of the values around the cell higher, need separate fg, bg
...
...
@@ -1345,7 +1404,9 @@ public class TileProcessor {
max_rel_tilt,// final double max_rel_tilt, // = 0.2; // (pix / disparity) per tile
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
grow_disp_min,// final double grow_disp_min,
grow_disp_max,// final double grow_disp_max,
grow_disp_step,// final double grow_disp_step,
unique_pre_tolerance,// final double unique_pre_tolerance, // usually larger than clt_parameters.unique_tolerance
show_expand,// final boolean show_expand,
dbg_x,// final int dbg_x,
...
...
@@ -1394,6 +1455,7 @@ public class TileProcessor {
finalbooleanexpand_discontinuity,// true - expand discontinuity over known tiles
finalbooleansmooth_only,// Do not expand ambiguous cells (with discontinuity) (only valid for expand_discontinuity = false)
finalbooleanextend_far,// extend far (false - extend near)
finalbooleantry_next,
finalintnum_steps,// how far to extend
finalintsmpl_size,// == 5
finalintmin_points,// == 3
...
...
@@ -1406,7 +1468,9 @@ public class TileProcessor {
finaldoublemax_rel_tilt,// = 0.2; // (pix / disparity) per tile
finalintmax_tries,// maximal number of smoothing steps
finaldoublefinal_diff,// maximal change to finish iterations
finaldoublegrow_disp_min,
finaldoublegrow_disp_max,
finaldoublegrow_disp_step,
finaldoubleunique_pre_tolerance,// usually larger than clt_parameters.unique_tolerance
finalbooleanshow_expand,
finalintdbg_x,
...
...
@@ -1464,8 +1528,11 @@ public class TileProcessor {
extend_far,// final boolean extend_far, // extend far (false - extend near)
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
grow_disp_max,// final double grow_disp_max,
grow_disp_min,// final double grow_disp_min,
grow_disp_max,// final double grow_disp_max,
grow_disp_step,// final double grow_disp_step,
unique_pre_tolerance,// final double unique_pre_tolerance, // usually larger than clt_parameters.unique_tolerance
try_next,// final boolean try_next, // try next disparity range if the current one was already tried
dbg_x,// final int dbg_x,
dbg_y,// final int dbg_y,
debugLevel);// final int debugLevel)
...
...
@@ -1491,8 +1558,11 @@ public class TileProcessor {
extend_far,// final boolean extend_far, // extend far (false - extend near)
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
grow_disp_max,// final double grow_disp_max,
grow_disp_min,// final double grow_disp_min,
grow_disp_max,// final double grow_disp_max,
grow_disp_step,// final double grow_disp_step,
unique_pre_tolerance,// final double unique_pre_tolerance, // usually larger than clt_parameters.unique_tolerance
try_next,// final boolean try_next, // try next disparity range if the current one was already tried
dbg_x,// final int dbg_x,
dbg_y,// final int dbg_y,
debugLevel);// final int debugLevel)
...
...
@@ -1519,7 +1589,7 @@ public class TileProcessor {
System.out.println("setupExpand(): set "+num_op+" tiles to be processed (some will be removed)");