System.out.println("lazyEyeCorrectionFromGT().1: nTile="+nTile);// filtered_scans[2][37005] = NaN
}
// double w = filtered_scans[ns * NUM_SLICES + 1][nTile];
// if ((w > 0.0) && (gt_disparity_strength[ns][1][nTile] > 0.0)){ // filtered strength may be non-zero where gt_disparity_strength[ns][1][nTile] is -> NaN
// reversing - use GT strength, but skip if there is no filtered?
doublew=gt_disparity_strength[ns][1][nTile];// GT data
if((w>0.0)&&(filtered_scans[ns*NUM_SLICES+1][nTile]>0.0)){// filtered strength may be non-zero where gt_disparity_strength[ns][1][nTile] is -> NaN
clt_parameters.lyf_smpl_side,// 8, // final int smpl_side, // 8 x8 masked, 16x16 sampled
clt_parameters.lyf_rms_max,// 0.25, // final double rms_max, TODO: find reasonable one not critical?
clt_parameters.lyf_frac_keep,// 0.5, // final double frac_keep,
clt_parameters.lyf_min_samples,// 5, // final int min_samples,
clt_parameters.lyf_norm_center,// true, // final boolean norm_center, // if there are more tiles that fit than minsamples, replace with a single equal weight
System.out.println("There are already more far tiles than requested (weights[0]="+weights[0]+", weights[1]="+weights[1]+", so keeping original weights");
clt_parameters.ly_inf_force,// boolean force_convergence, // if true try to adjust convergence (disparity, symmetrical parameter 0) even with no disparity
clt_parameters.ly_com_roll,// boolean common_roll, // Enable common roll (valid for high disparity range only)
@@ -2856,11 +2856,29 @@ public class EyesisCorrectionParameters {
publicdoublegr_unique_tol=0.15;// Do not re-measure correlation if target disparity differs from some previous by this
publicdoublegr_unique_pretol=0.5;// Larger tolerance for expanding (not refining)
publicbooleanft_mod_strength=true;// When set, multiply each tile strength by the number of selected neighbors
publicbooleanft_clusterize_by_highest=true;// Clusterize using disparity horizontal maximums for fronto planes and minimums - for horizontal. False - use histograms
publicdoubleft_clust_sigma=0.7;// Blur disparity before argmax/argmin for initial clusterization
publicdoubleft_disp_arange_vert=0.07;// Absolute disparity range for fronto clusters
publicdoubleft_disp_rrange_vert=0.01;// Relative disparity range for fronto clusters
publicdoubleft_disp_arange_hor=0.035;// Absolute disparity range for horizontal clusters
publicdoubleft_disp_rrange_hor=0.005;// Relative disparity range for horizontal clusters
publicdoubleft_tolerance_above_near=100.0;// Actual disparity positive tolerance over blurred disparity argmax range
publicdoubleft_tolerance_below_near=-0.01;// Actual disparity negative tolerance under blurred disparity argmax range
publicdoubleft_tolerance_above_far=0.07;// Actual disparity positive tolerance over blurred disparity argmin range
publicdoubleft_tolerance_below_far=0.1;// Actual disparity negative tolerance under blurred disparity argmin range
publicintft_hor_vert_overlap=2;// Allow clusters tile sharing between fronto and horizontal. 2 - 1 tile in 8 directions, 1 - 1 tile in 4 directions
publicintft_used_companions=5;// Cell that has this many new used companions is considered used (borders and already use3d are considered used too)
publicintft_used_true_companions=1;// There should be at least this many new selected tiles among neighbors.,
publicbooleanplPreferDisparity=false;// Always start with disparity-most axis (false - lowest eigenvalue)
publicdoubleplDispNorm=5.0;// Normalize disparities to the average if above (now only for eigenvalue comparison)
publicdoubleplFrontoTol=0.0;// for compatibility with old //0.1; // Fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
publicdoubleplFrontoRms=0.05;// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
publicdoubleplFrontoOffs=0.2;// increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
publicdoublePlFrontoPow=1.0;// increase weight even more
publicdoubleplBlurBinVert=1.2;// Blur disparity histograms for constant disparity clusters by this sigma (in bins)
publicdoubleplBlurBinHor=0.8;// Blur disparity histograms for horizontal clusters by this sigma (in bins)
publicdoubleplMaxDiffVert=0.4;// Maximal normalized disparity difference when initially assigning to vertical plane
...
...
@@ -3100,6 +3118,8 @@ public class EyesisCorrectionParameters {
publicbooleanreplaceWeakOutliers=true;// false;
publicbooleandebug_initial_discriminate=false;
publicbooleandbg_migrate=true;
// other debug images
...
...
@@ -3522,11 +3542,27 @@ public class EyesisCorrectionParameters {
"Increasing weights of the near tiles by using difference between tile disparity and reduced by this value average as weight. If <= 0 - disable feature");
publicdoubleplFrontoTol;// = 0.2; plFrontoTol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
publicdoubleplFrontoRms;// = 0.05; // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
publicdoubleplFrontoOffs;// = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
publicdoublePlFrontoPow;// = 1.0; // increase weight even more
publicdoubleplMinStrength;// = 0.1; // Minimal total strength of a plane
publicdoubleplMaxEigen;// = 0.05; // Maximal eigenvalue of a plane
publicdoubleplEigenFloor;// = 0.01; // Add to eigenvalues of each participating plane and result to validate connections
...
...
@@ -139,6 +141,7 @@ public class LinkPlanes {
plFrontoTol=clt_parameters.plFrontoTol;
plFrontoRms=clt_parameters.plFrontoRms;
plFrontoOffs=clt_parameters.plFrontoOffs;
PlFrontoPow=clt_parameters.PlFrontoPow;
plMaxOverlap=clt_parameters.plMaxOverlap;
...
...
@@ -3994,6 +3997,7 @@ public class LinkPlanes {
plFrontoTol,// final double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
plFrontoRms,// final double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
plFrontoOffs,// final double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
debugLevel,// final int debugLevel)
dbg_tileX,
dbg_tileY);
...
...
@@ -4519,6 +4523,7 @@ public class LinkPlanes {
plFrontoTol,// final double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
plFrontoRms,// final double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
plFrontoOffs,// final double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
debugLevel,// final int debugLevel)
dbg_tileX,
dbg_tileY);
...
...
@@ -4613,6 +4618,7 @@ public class LinkPlanes {
plFrontoTol,// final double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
plFrontoRms,// final double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
plFrontoOffs,// final double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
// use lazyEyeCorrectionFromGT(..) when ground truth data is available
double[][][]new_corr=ac.lazyEyeCorrection(
adjust_poly,// final boolean use_poly,
true,// final boolean restore_disp_inf, // Restore subtracted disparity for scan #0 (infinity)
...
...
@@ -6454,53 +6499,221 @@ public class QuadCLT {
tp.getTilesX(),// int tilesX,
clt_parameters.corr_magic_scale,// double magic_coeff, // still not understood coefficent that reduces reported disparity value. Seems to be around 8.5
debugLevelInner-1);// + (clt_parameters.fine_dbg ? 1:0)); // int debugLevel)
comp_diff=0.0;
intnum_pars=0;
if(adjust_poly){
comp_diff=0.0;
intnum_pars=0;
if(adjust_poly){
apply_fine_corr(
new_corr,
debugLevelInner+2);
for(intn=0;n<new_corr.length;n++){
for(intd=0;d<new_corr[n].length;d++){
for(inti=0;i<new_corr[n][d].length;i++){
comp_diff+=new_corr[n][d][i]*new_corr[n][d][i];
num_pars++;
}
}
}
comp_diff=Math.sqrt(comp_diff/num_pars);
if(debugLevel>-2){
if((debugLevel>-1)||(comp_diff<min_poly_update)){
System.out.println("#### fine correction iteration step = "+(num_iter+1)+" ( of "+max_tries+") change = "+
comp_diff+" ("+min_poly_update+")");
}
}
if(comp_diff<min_poly_update){// add other parameter to exit from poly
gt_disparity_strength,// double [][][] gt_disparity_strength, // 1 pair for each 14 entries of scans_14 (normally - just 1 scan
filter_ds,// final boolean filter_ds, //
filter_lyf,// final boolean filter_lyf, // ~clt_parameters.lyf_filter, but may be different, now off for a single cameras
tp.getTilesX(),// int tilesX,
clt_parameters.corr_magic_scale,// double magic_coeff, // still not understood coefficent that reduces reported disparity value. Seems to be around 8.5
debugLevelInner-1);// + (clt_parameters.fine_dbg ? 1:0)); // int debugLevel)
comp_diff=0.0;
intnum_pars=0;
if(adjust_poly){
apply_fine_corr(
new_corr,
debugLevelInner+2);
for(intn=0;n<new_corr.length;n++){
for(intd=0;d<new_corr[n].length;d++){
for(inti=0;i<new_corr[n][d].length;i++){
comp_diff+=new_corr[n][d][i]*new_corr[n][d][i];
num_pars++;
}
}
}
comp_diff=Math.sqrt(comp_diff/num_pars);
if(debugLevel>-2){
if((debugLevel>-1)||(comp_diff<min_poly_update)){
System.out.println("#### fine correction iteration step = "+(num_iter+1)+" ( of "+max_tries+") change = "+
comp_diff+" ("+min_poly_update+")");
}
}
for(intn=0;n<new_corr.length;n++){
for(intd=0;d<new_corr[n].length;d++){
for(inti=0;i<new_corr[n][d].length;i++){
comp_diff+=new_corr[n][d][i]*new_corr[n][d][i];
num_pars++;
}
}
}
comp_diff=Math.sqrt(comp_diff/num_pars);
if(debugLevel>-2){
if((debugLevel>-1)||(comp_diff<min_poly_update)){
System.out.println("#### fine correction iteration step = "+(num_iter+1)+" ( of "+max_tries+") change = "+
comp_diff+" ("+min_poly_update+")");
}
}
if(comp_diff<min_poly_update){// add other parameter to exit from poly
clt_parameters.img_dtt,// final ImageDttParameters imgdtt_params, // Now just extra correlation parameters, later will include, most others
1,// final int macro_scale, // to correlate tile data instead of the pixel data: 1 - pixels, 8 - tiles
tile_op,// per-tile operation bit codes
disparity_array,// clt_parameters.disparity, // final double disparity,
image_data,// final double [][][] imade_data, // first index - number of image in a quad
saturation_imp,// boolean [][] saturation_imp, // (near) saturated pixels or null
// correlation results - final and partial
clt_corr_combo,// [tp.tilesY][tp.tilesX][(2*transform_size-1)*(2*transform_size-1)] // if null - will not calculate
null,// clt_corr_partial, // [tp.tilesY][tp.tilesX][quad]color][(2*transform_size-1)*(2*transform_size-1)] // if null - will not calculate
mismatch,// null, // [tp.tilesY][tp.tilesX][pair]{dx,dy,weight}[(2*transform_size-1)*(2*transform_size-1)] // transpose unapplied. null - do not calculate
// Use it with disparity_maps[scan_step]? clt_mismatch, // [tp.tilesY][tp.tilesX][pair]{dx,dy,weight}[(2*transform_size-1)*(2*transform_size-1)] // transpose unapplied. null - do not calculate
vert_disp_strength,// final double [][][][] disparity_strengths, // either normal or tilted disparity/strengths
null,// final boolean [][][] selected, // tiles OK to be assigned [supertile][measurement layer] [tile index] or null (or null or per-measurement layer)
used_vert,// final boolean [][][] prohibited, // already assigned tiles [supertile][measurement layer] [tile index] or null
false,// final boolean search_min,
stMeasSel,// final int stMeasSel, // = 1; // Select measurements for supertiles : +1 - combo, +2 - quad +4 - hor +8 - vert
plDispNorm,// final double plDispNorm, // to increase weight of nearer planes
clust_sigma,// final double sigma,
disp_arange,// final double disp_arange,
disp_rrange,// final double disp_rrange,
tolerance_above_near,// final double tolerance_above,
tolerance_below_near,// final double tolerance_below,
plMinPoints,// final int plMinPoints, // = 5; // Minimal number of points for plane detection
"vert",// final String suffix,
debugLevel+0,// final int debugLevel,
dbg_X,// final int dbg_X,
dbg_Y):// final int dbg_Y)
vert_disp_strength,// final double [][][][] disparity_strengths, // either normal or tilted disparity/strengths
null,// final boolean [][][] selected, // tiles OK to be assigned [supertile][measurement layer] [tile index] or null (or null or per-measurement layer)
used_vert,// final boolean [][][] prohibited, // already assigned tiles [supertile][measurement layer] [tile index] or null
false,// final boolean search_min,
stMeasSel,// final int stMeasSel, // = 1; // Select measurements for supertiles : +1 - combo, +2 - quad +4 - hor +8 - vert
plDispNorm,// final double plDispNorm, // to increase weight of nearer planes
clust_sigma,// final double sigma,
disp_arange_vert,// final double disp_arange,
disp_rrange_vert,// final double disp_rrange,
tolerance_above_near,// final double tolerance_above,
tolerance_below_near,// final double tolerance_below,
plMinPoints,// final int plMinPoints, // = 5; // Minimal number of points for plane detection
"vert",// final String suffix,
debugLevel+0,// final int debugLevel,
dbg_X,// final int dbg_X,
dbg_Y):// final int dbg_Y)
dispClusterize(
vert_disp_strength,// final double [][][][] disparity_strengths, // either normal or tilted disparity/strengths
mmm_vert,// final double [][][] hist_max_min_max, // histogram data: per tile array of odd number of disparity/strengths pairs, starting with first maximum
...
...
@@ -3127,6 +3132,7 @@ public class SuperTiles{
//FIXME: use following 2 parameters
finaldoublefronto_rms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
finaldoublefronto_offs,// = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
finaldoublefronto_pow,// = 1.0; // increase weight even more
// now for regenerated planes - just null as it is not known if it is hor or vert
fronto_tol,// double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
dl);// int debugLevel);
if((st_planes!=null)&&(!st_planes.isEmpty())){
...
...
@@ -3238,6 +3245,7 @@ public class SuperTiles{
fronto_tol,// double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
dl-1);// int debugLevel);
}
...
...
@@ -3313,6 +3321,7 @@ public class SuperTiles{
finaldoubleplFrontoTol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
finaldoubleplFrontoRms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
finaldoubleplFrontoOffs,// increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
finaldoublePlFrontoPow,// = 1.0; // increase weight even more
finalGeometryCorrectiongeometryCorrection,
finalbooleancorrect_distortions,
...
...
@@ -3335,11 +3344,27 @@ public class SuperTiles{
finaldoublehighMix,//stHighMix = 0.4; // Consider merging initial planes if jumps between ratio above
finaldouble[]world_hor,// horizontal plane normal (default [0.0, 1.0, 0.0])
finalbooleanshow_histograms,
// Parameters for alternative initial planes that use lowest disparity for fronto planes, and farthest - for horizontal
finalbooleanmod_strength,// = true; // FIXME: make a parameter. when set, multiply each tile strength by the number of selected neighbors
// use both horizontal and const disparity tiles to create tile clusters
// Add max_diff (maximal disparity difference while extracting initial tile selection) and max_tries (2..3) parameters
...
...
@@ -3373,6 +3398,22 @@ public class SuperTiles{
show_histograms,// final boolean show_histograms,
hor_planes,// final boolean [][] hor_planes,
// Parameters for alternative initial planes that use lowest disparity for fronto planes, and farthest - for horizontal
mod_strength,// final boolean mod_strength, // = true; // FIXME: make a parameter. when set, multiply each tile strength by the number of selected neighbors
clusterize_by_highest,// final boolean clusterize_by_highest, // = true;
clust_sigma,// final double clust_sigma, // = 0.7;
disp_arange_vert,// final double disp_arange_vert, // = 0.07;
disp_rrange_vert,// final double disp_rrange_vert, // = 0.01;
disp_arange_hor,// final double disp_arange_hor, // = 0.035;
disp_rrange_hor,// final double disp_rrange_hor, // = 0.005;
tolerance_above_near,// final double tolerance_above_near, // = 100.0; // 0.07; any?
tolerance_below_near,// final double tolerance_below_near, // = -0.01;
tolerance_above_far,// final double tolerance_above_far, // = 0.07;
tolerance_below_far,// final double tolerance_below_far, // = 0.1; // 100.0; // any farther
hor_vert_overlap,// final int hor_vert_overlap, // = 2;
used_companions,// final int used_companions, // = 5; // cell that has this many new used companions is considered used (borders and already use3d are considered used too)
used_true_companions,// final int used_true_companions, // = 1; // there should be at least this many new selected tiles among neighbors.,
debugLevel+(debug_initial_discriminate?2:0),// final int debugLevel,
dbg_X,// final int dbg_X,
dbg_Y);// final int dbg_Y)
...
...
@@ -3413,8 +3454,9 @@ public class SuperTiles{
plFrontoTol,// final double plFrontoTol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
plFrontoRms,// final double plFrontoRms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
plFrontoOffs,// final double plFrontoOffs, // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
PlFrontoPow,// double fronto_pow, // = 1.0; // increase weight even more
hor_planes,// final boolean [][] hor_planes, // returns plane types (hor/vert)
debugLevel+1,// 0, // 1, // + 2, // 1, // final int debugLevel,
debugLevel+0,// 1, // 0, // 1, // + 2, // 1, // final int debugLevel,
dbg_X,// final int dbg_X,
dbg_Y);// final int dbg_Y)
this.planes=new_planes;// save as "measured" (as opposed to "smoothed" by neighbors) planes
...
...
@@ -3473,6 +3515,7 @@ public class SuperTiles{
finaldoubleplFrontoTol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
finaldoubleplFrontoRms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
finaldoubleplFrontoOffs,// increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
finaldoublePlFrontoPow,// = 1.0; // increase weight even more
finalGeometryCorrectiongeometryCorrection,
finalbooleancorrect_distortions,
...
...
@@ -3576,6 +3619,7 @@ public class SuperTiles{
plFrontoTol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
plFrontoRms,// final double plFrontoRms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
plFrontoOffs,// final double plFrontoOffs, // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0
PlFrontoPow,// double fronto_pow, // = 1.0; // increase weight even more
null,// final boolean [][] hor_planes, // plane types (hor/vert)
debugLevel,// + 2, // 1, // final int debugLevel,
dbg_X,// final int dbg_X,
...
...
@@ -6844,6 +6888,7 @@ public class SuperTiles{
// FIXME: the following 2 parameters are not yet used
finaldoublefronto_rms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
finaldoublefronto_offs,// = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
finaldoublefronto_pow,// = 1.0; // increase weight even more
finalintdebugLevel,
finalintdbg_X,
finalintdbg_Y)
...
...
@@ -6938,7 +6983,8 @@ public class SuperTiles{
booleanOK=this_pd.removeOutliers(// getPlaneFromMeas should already have run
fronto_tol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,//double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight.
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight.
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
disp_strength,
targetV,// double targetEigen, // target eigenvalue for primary axis (is disparity-dependent, so is non-constant)
max_outliers,// int maxRemoved, // maximal number of tiles to remove (not a constant)
...
...
@@ -7060,7 +7106,7 @@ public class SuperTiles{
//FIXME: use following 2 parameters
finaldoublefronto_rms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
finaldoublefronto_offs,// = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
finaldoublefronto_pow,// = 1.0; // increase weight even more
finalintdebugLevel,
finalintdbg_X,
finalintdbg_Y)
...
...
@@ -7284,7 +7330,8 @@ public class SuperTiles{
OK=bpd[np][npip].removeOutliers(// getPlaneFromMeas should already have run
fronto_tol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,//double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
disp_strength,
targetV,// double targetEigen, // target eigenvalue for primary axis (is disparity-dependent, so is non-constant)
max_outliers,// int maxRemoved, // maximal number of tiles to remove (not a constant)
doublefronto_tol,// fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
doublefronto_rms,// Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
doublefronto_offs,// = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
doublefronto_pow,// = 1.0; // increase weight even more
double[][][]disp_str,// calculate just once when removing outliers (null - OK, will generate it)
doubleinTargetEigen,// target eigenvalue for primary axis (is disparity-dependent, so is non-constant)
intmaxRemoved,// maximal number of tiles to remove (not a constant)
...
...
@@ -1470,7 +1471,7 @@ public class TilePlanes {
almost_fronto,// boolean fronto_mode,
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
this.mlfp,
debugLevel-1)!=null);
...
...
@@ -1516,6 +1517,8 @@ public class TilePlanes {
this.smplMode,
almost_fronto,// boolean fronto_mode,
fronto_offs,// double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
OK=pd.removeOutliers(// getPlaneFromMeas should already have run
fronto_tol,// double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,//double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_tol,// double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
fronto_rms,// double fronto_rms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes. May be tighter
fronto_offs,//double fronto_offs, // = 0.2; // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0 - disable
fronto_pow,// double fronto_pow, // = 1.0; // increase weight even more
disp_strength,
plTargetEigen,// targetV, // double targetEigen, // target eigenvalue for primary axis (is disparity-dependent, so is non-constant)
max_outliers,// int maxRemoved, // maximal number of tiles to remove (not a constant)
debugLevel);// int debugLevel)
plTargetEigen,// targetV, // double targetEigen, // target eigenvalue for primary axis (is disparity-dependent, so is non-constant)
max_outliers,// int maxRemoved, // maximal number of tiles to remove (not a constant)
@@ -5344,11 +5336,12 @@ public class TileProcessor {
clt_parameters.plFrontoTol,// final double plFrontoTol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
clt_parameters.plFrontoRms,// final double plFrontoRms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
clt_parameters.plFrontoOffs,// final double plFrontoOffs, // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0
clt_parameters.PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
geometryCorrection,
clt_parameters.correct_distortions,
clt_parameters.stSmplMode,// final boolean smplMode, // = true; // Use sample mode (false - regular tile mode)
clt_parameters.mlfp,// Filter parameters
clt_parameters.mlfp,// Filter parameters
clt_parameters.plBlurBinHor,// final double bin_blur_hor, // Blur disparity histograms for horizontal clusters by this sigma (in bins)
clt_parameters.plBlurBinVert,// final double bin_blur_vert, // Blur disparity histograms for constant disparity clusters by this sigma (in bins)
...
...
@@ -5365,6 +5358,24 @@ public class TileProcessor {
clt_parameters.stHighMix,// stHighMix = 0.4; // Consider merging initial planes if jumps between ratio above
world_hor,// final double [] world_hor, // horizontal plane normal (default [0.0, 1.0, 0.0])
clt_parameters.show_histograms,// final boolean show_histograms,
clt_parameters.ft_mod_strength,// final boolean mod_strength, // when set, multiply each tile strength by the number of selected neighbors
clt_parameters.ft_clusterize_by_highest,// final boolean clusterize_by_highest = true;
clt_parameters.ft_clust_sigma,// final double clust_sigma = 0.7;
clt_parameters.ft_disp_arange_vert,// final double disp_arange_vert = 0.07;
clt_parameters.ft_disp_rrange_vert,// final double disp_rrange_vert = 0.01;
clt_parameters.ft_disp_arange_hor,// final double disp_arange_hor = 0.035;
clt_parameters.ft_disp_rrange_hor,// final double disp_rrang_hor = 0.005;
clt_parameters.ft_tolerance_above_near,// final double tolerance_above_near = 100.0; // 0.07; any?
clt_parameters.ft_tolerance_below_near,// final double tolerance_below_near = -0.01;
clt_parameters.ft_tolerance_above_far,// final double tolerance_above_far = 0.07;
clt_parameters.ft_tolerance_below_far,// final double tolerance_below_far = 0.1; // 100.0; // any farther
clt_parameters.ft_hor_vert_overlap,// final int hor_vert_overlap = 2;
clt_parameters.ft_used_companions,// final int used_companions = 5; // cell that has this many new used companions is considered used (borders and already use3d are considered used too)
clt_parameters.ft_used_true_companions,// final int used_true_companions = 1; // there should be at least this many new selected tiles among neighbors.,
//clt_parameters.ft_
clt_parameters.debug_initial_discriminate,// final boolean debug_initial_discriminate,
clt_parameters.batch_run?-3:debugLevel,// -1, // debugLevel, // final int debugLevel)
clt_parameters.tileX,
clt_parameters.tileY);
...
...
@@ -5418,6 +5429,7 @@ public class TileProcessor {
clt_parameters.plFrontoTol,// final double plFrontoTol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable
clt_parameters.plFrontoRms,// final double plFrontoRms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
clt_parameters.plFrontoOffs,// final double plFrontoOffs, // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0
clt_parameters.PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
geometryCorrection,
clt_parameters.correct_distortions,
clt_parameters.stSmplMode,// final boolean smplMode, // = true; // Use sample mode (false - regular tile mode)
...
...
@@ -5531,6 +5543,7 @@ public class TileProcessor {
clt_parameters.plFrontoTol,//final double fronto_tol, // fronto tolerance (pix) - treat almost fronto as fronto (constant disparity). <= 0 - disable this feature
clt_parameters.plFrontoRms,// final double plFrontoRms, // Target rms for the fronto planes - same as sqrt(plMaxEigen) for other planes
clt_parameters.plFrontoOffs,// final double plFrontoOffs, // increasing weight of the near tiles by using difference between the reduced average as weight. <= 0
clt_parameters.PlFrontoPow,// final double PlFrontoPow, // = 1.0; // increase weight even more
debugLevel,// 1, // final int debugLevel)
clt_parameters.tileX,
clt_parameters.tileY);
...
...
@@ -5859,7 +5872,7 @@ public class TileProcessor {
0,// int nlayer, // over multi-layer - do not render more than nlayer on top of each other