clt_parameters.ex_strength,// double this_sure, // minimal strength to be considered definitely good
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_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.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.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
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
// 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
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_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_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_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)
ImageDtt.DISPARITY_INDEX_CM,// index of disparity value in disparity_map == 2 (0,2 or 4)
finaldoublept_super_trust,// final double super_trust, // If strength exceeds ex_strength * super_trust, do not apply ex_nstrength and plate_ds
scan_disparity[indx++]=scan.disparity[ty][tx];
// 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)
if(clt_parameters.avg_cluster_disp){
finaldoublept_scale_pre,// final double scale_filtered_strength_pre, // scale plate_ds[1] before comparing to raw strength
doublesw=0.0,sdw=0.0;
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)
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 {
...
@@ -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].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].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].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
variants[num_var].num_steps,// final int num_steps, // how far to extend
smpl_size,// final int smpl_size, // == 5
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
use_wnd,// final boolean use_wnd, // use window function fro the neighbors
tilt_cost,// final double tilt_cost,
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
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 {
...
@@ -1345,7 +1404,9 @@ public class TileProcessor {
max_rel_tilt,// final double max_rel_tilt, // = 0.2; // (pix / disparity) per tile
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
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
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_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
unique_pre_tolerance,// final double unique_pre_tolerance, // usually larger than clt_parameters.unique_tolerance
show_expand,// final boolean show_expand,
show_expand,// final boolean show_expand,
dbg_x,// final int dbg_x,
dbg_x,// final int dbg_x,
...
@@ -1394,6 +1455,7 @@ public class TileProcessor {
...
@@ -1394,6 +1455,7 @@ public class TileProcessor {
finalbooleanexpand_discontinuity,// true - expand discontinuity over known tiles
finalbooleanexpand_discontinuity,// true - expand discontinuity over known tiles
finalbooleansmooth_only,// Do not expand ambiguous cells (with discontinuity) (only valid for expand_discontinuity = false)
finalbooleansmooth_only,// Do not expand ambiguous cells (with discontinuity) (only valid for expand_discontinuity = false)
finalbooleanextend_far,// extend far (false - extend near)
finalbooleanextend_far,// extend far (false - extend near)
finalbooleantry_next,
finalintnum_steps,// how far to extend
finalintnum_steps,// how far to extend
finalintsmpl_size,// == 5
finalintsmpl_size,// == 5
finalintmin_points,// == 3
finalintmin_points,// == 3
...
@@ -1406,7 +1468,9 @@ public class TileProcessor {
...
@@ -1406,7 +1468,9 @@ public class TileProcessor {
finaldoublemax_rel_tilt,// = 0.2; // (pix / disparity) per tile
finaldoublemax_rel_tilt,// = 0.2; // (pix / disparity) per tile
finalintmax_tries,// maximal number of smoothing steps
finalintmax_tries,// maximal number of smoothing steps
finaldoublefinal_diff,// maximal change to finish iterations
finaldoublefinal_diff,// maximal change to finish iterations
finaldoublegrow_disp_min,
finaldoublegrow_disp_max,
finaldoublegrow_disp_max,
finaldoublegrow_disp_step,
finaldoubleunique_pre_tolerance,// usually larger than clt_parameters.unique_tolerance
finaldoubleunique_pre_tolerance,// usually larger than clt_parameters.unique_tolerance
finalbooleanshow_expand,
finalbooleanshow_expand,
finalintdbg_x,
finalintdbg_x,
...
@@ -1464,8 +1528,11 @@ public class TileProcessor {
...
@@ -1464,8 +1528,11 @@ public class TileProcessor {
extend_far,// final boolean extend_far, // extend far (false - extend near)
extend_far,// final boolean extend_far, // extend far (false - extend near)
max_tries,// final int max_tries, // maximal number of smoothing steps
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
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
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_x,// final int dbg_x,
dbg_y,// final int dbg_y,
dbg_y,// final int dbg_y,
debugLevel);// final int debugLevel)
debugLevel);// final int debugLevel)
...
@@ -1491,8 +1558,11 @@ public class TileProcessor {
...
@@ -1491,8 +1558,11 @@ public class TileProcessor {
extend_far,// final boolean extend_far, // extend far (false - extend near)
extend_far,// final boolean extend_far, // extend far (false - extend near)
max_tries,// final int max_tries, // maximal number of smoothing steps
max_tries,// final int max_tries, // maximal number of smoothing steps
final_diff,// final double final_diff, // maximal change to finish iterations
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
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_x,// final int dbg_x,
dbg_y,// final int dbg_y,
dbg_y,// final int dbg_y,
debugLevel);// final int debugLevel)
debugLevel);// final int debugLevel)
...
@@ -1519,7 +1589,7 @@ public class TileProcessor {
...
@@ -1519,7 +1589,7 @@ public class TileProcessor {
System.out.println("setupExpand(): set "+num_op+" tiles to be processed (some will be removed)");
System.out.println("setupExpand(): set "+num_op+" tiles to be processed (some will be removed)");