// disparity_map[DISPARITY_VARIATIONS_INDEX][tIndex] = (rms[1]*tcorr_combo[1][max_index])/(rms[0]*tcorr_combo[0][max_index]); // correlation combo value at the integer maximum
// disparity_map[DISPARITY_VARIATIONS_INDEX][tIndex] = (rms[1]*tcorr_combo[1][max_index])/(rms[0]*tcorr_combo[0][max_index]); // correlation combo value at the integer maximum
disparity_map[DISPARITY_VARIATIONS_INDEX][tIndex]=(tcorr_combo[TCORR_COMBO_SUM][max_index])/(tcorr_combo[TCORR_COMBO_RSLT][max_index]);// correlation combo value at the integer maximum
disparity_map[DISPARITY_VARIATIONS_INDEX][tIndex]=(tcorr_combo[TCORR_COMBO_SUM][max_index])/(tcorr_combo[TCORR_COMBO_RSLT][max_index]);// correlation combo value at the integer maximum
// Calculate "center of mass" coordinates
// Calculate "center of mass" coordinates
double[]corr_max_XYm=getMaxXYCm(// get fractiona center as a "center of mass" inside circle/square from the integer max
double[]corr_max_XYm=getMaxXYCm(// get fractional center as a "center of mass" inside circle/square from the integer max
* @param smplWnd use window functions for the samples
* @param max_abs_tilt pix per tile
* @param max_rel_tilt pix / disparity) per tile
* @param damp_tilt Damp tilt to handle insufficient (co-linear)data
* @param min_tilt_disp Disparity switch between filtering modes - near objects use tilts, far - use max disparity
* @param transition Mode transition range (between tilted and maximal disparity)
* @param far_mode Far objects filtering mode (0 - off, 1 - power of disparity)
* @param far_power Raise disparity to this power before averaging for far objects
* @param plDiscrTolerance maximal disparity difference from the plane to consider tile
* @param plDiscrTolerance maximal disparity difference from the plane to consider tile
* @param plDiscrDispRange parallel move known planes around original know value for the best overall fit
* @param plDiscrDispRange parallel move known planes around original know value for the best overall fit
* @param plDiscrSteps number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
* @param plDiscrSteps number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
...
@@ -2782,6 +3037,15 @@ public class SuperTiles{
...
@@ -2782,6 +3037,15 @@ public class SuperTiles{
finalintsmplNum,// = 3; // Number after removing worst
finalintsmplNum,// = 3; // Number after removing worst
finaldoublesmplRms,// = 0.1; // Maximal RMS of the remaining tiles in a sample
finaldoublesmplRms,// = 0.1; // Maximal RMS of the remaining tiles in a sample
finalbooleansmplWnd,// use window functions for the samples
finalbooleansmplWnd,// use window functions for the samples
finaldoublemax_abs_tilt,// 2.0; // pix per tile
finaldoublemax_rel_tilt,// 0.2; // (pix / disparity) per tile
finaldoubledamp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
finaldoublemin_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
finaldoubletransition,// 1.0; // Mode transition range (between tilted and maximal disparity)
finalintfar_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
finaldoublefar_power,// 3.0; // Raise disparity to this power before averaging for far objects
finaldoubleplDiscrTolerance,// = 0.4; // Maximal disparity difference from the plane to consider tile
finaldoubleplDiscrTolerance,// = 0.4; // Maximal disparity difference from the plane to consider tile
finaldoubleplDiscrDispRange,// = 0.6; // Parallel move known planes around original know value for the best overall fit
finaldoubleplDiscrDispRange,// = 0.6; // Parallel move known planes around original know value for the best overall fit
finalintplDiscrSteps,// = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
finalintplDiscrSteps,// = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
...
@@ -2824,6 +3088,15 @@ public class SuperTiles{
...
@@ -2824,6 +3088,15 @@ public class SuperTiles{
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplWnd,// final boolean smplWnd, // use window functions for the samples
smplWnd,// final boolean smplWnd, // use window functions for the samples
max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
far_power,// 1.0; // Raise disparity to this power before averaging for far objects
plDiscrTolerance,//final double plDiscrTolerance, // = 0.4; // Maximal disparity difference from the plane to consider tile
plDiscrTolerance,//final double plDiscrTolerance, // = 0.4; // Maximal disparity difference from the plane to consider tile
plDiscrDispRange,// final double plDiscrDispRange, // = 0.6; // Parallel move known planes around original know value for the best overall fit
plDiscrDispRange,// final double plDiscrDispRange, // = 0.6; // Parallel move known planes around original know value for the best overall fit
plDiscrSteps,// final int plDiscrSteps, // = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
plDiscrSteps,// final int plDiscrSteps, // = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
...
@@ -2862,6 +3135,15 @@ public class SuperTiles{
...
@@ -2862,6 +3135,15 @@ public class SuperTiles{
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplWnd,// final boolean smplWnd, // use window functions for the samples
smplWnd,// final boolean smplWnd, // use window functions for the samples
max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
far_power,// 1.0; // Raise disparity to this power before averaging for far objects
debugLevel,// final int debugLevel,
debugLevel,// final int debugLevel,
dbg_X,// final int dbg_X,
dbg_X,// final int dbg_X,
dbg_Y);// final int dbg_Y)
dbg_Y);// final int dbg_Y)
...
@@ -2885,6 +3167,15 @@ public class SuperTiles{
...
@@ -2885,6 +3167,15 @@ public class SuperTiles{
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplNum,// final int smplNum, // = 3; // Number after removing worst
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
smplWnd,// final boolean smplWnd, // use window functions for the samples
smplWnd,// final boolean smplWnd, // use window functions for the samples
max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
far_power,// 1.0; // Raise disparity to this power before averaging for far objects
@@ -5162,6 +5245,13 @@ public class TileProcessor {
...
@@ -5162,6 +5245,13 @@ public class TileProcessor {
clt_parameters.stSmplNum,// Number after removing worst
clt_parameters.stSmplNum,// Number after removing worst
clt_parameters.stSmplRms,// Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplRms,// Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.fs_max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
clt_parameters.fs_max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
clt_parameters.fs_damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
clt_parameters.fs_min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
clt_parameters.fs_transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
clt_parameters.fs_far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
clt_parameters.fs_far_power,// 1.0; // Raise disparity to this power before averaging for far objects
clt_parameters.stMeasSel);// bitmask of the selected measurements for supertiles : +1 - combo, +2 - quad +4 - hor +8 - vert
clt_parameters.stMeasSel);// bitmask of the selected measurements for supertiles : +1 - combo, +2 - quad +4 - hor +8 - vert
}
}
...
@@ -5187,6 +5277,14 @@ public class TileProcessor {
...
@@ -5187,6 +5277,14 @@ public class TileProcessor {
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.fs_max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
clt_parameters.fs_max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
clt_parameters.fs_damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
clt_parameters.fs_min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
clt_parameters.fs_transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
clt_parameters.fs_far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
clt_parameters.fs_far_power,// 1.0; // Raise disparity to this power before averaging for far objects
clt_parameters.plBlurBinHor,// final double bin_blur_hor, // Blur disparity histograms for horizontal clusters by this sigma (in bins)
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)
clt_parameters.plBlurBinVert,// final double bin_blur_vert, // Blur disparity histograms for constant disparity clusters by this sigma (in bins)
clt_parameters.plMaxDiffHor,// final double max_diff_hor, // maximal disparity difference (to assign to a cluster (of Double.NaN) at first run for horizontal planes
clt_parameters.plMaxDiffHor,// final double max_diff_hor, // maximal disparity difference (to assign to a cluster (of Double.NaN) at first run for horizontal planes
...
@@ -5261,6 +5359,14 @@ public class TileProcessor {
...
@@ -5261,6 +5359,14 @@ public class TileProcessor {
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplWnd,// final boolean smplWnd, // use window functions for the samples
clt_parameters.stSmplWnd,// final boolean smplWnd, // use window functions for the samples
clt_parameters.fs_max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
clt_parameters.fs_max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
clt_parameters.fs_damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
clt_parameters.fs_min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
clt_parameters.fs_transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
clt_parameters.fs_far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
clt_parameters.fs_far_power,// 1.0; // Raise disparity to this power before averaging for far objects
clt_parameters.plDiscrTolerance,// final double plDiscrTolerance, // = 0.4; // Maximal disparity difference from the plane to consider tile
clt_parameters.plDiscrTolerance,// final double plDiscrTolerance, // = 0.4; // Maximal disparity difference from the plane to consider tile
clt_parameters.plDiscrDispRange,// final double plDiscrDispRange, // = 0.6; // Parallel move known planes around original know value for the best overall fit
clt_parameters.plDiscrDispRange,// final double plDiscrDispRange, // = 0.6; // Parallel move known planes around original know value for the best overall fit
clt_parameters.plDiscrSteps,// final int plDiscrSteps, // = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
clt_parameters.plDiscrSteps,// final int plDiscrSteps, // = 3; // Number of steps (each direction) for each plane to search for the best fit (0 - single, 1 - 1 each side)
...
@@ -5375,6 +5481,15 @@ public class TileProcessor {
...
@@ -5375,6 +5481,15 @@ public class TileProcessor {
clt_parameters.stSmplNum,// final int smplNum, // = 3; // Number after removing worst
clt_parameters.stSmplNum,// final int smplNum, // = 3; // Number after removing worst
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplRms,// final double smplRms, // = 0.1; // Maximal RMS of the remaining tiles in a sample
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.stSmplWnd,// boolean smplWnd, // use window functions for the samples
clt_parameters.fs_max_abs_tilt,// 2.0; // Maximal absolute tilt in pixels/tile
clt_parameters.fs_max_rel_tilt,// 0.2; // Maximal relative tilt in pixels/tile/disparity
clt_parameters.fs_damp_tilt,// 0.001; // Damp tilt to handle insufficient (co-linear)data
clt_parameters.fs_min_tilt_disp,// 4.0; // Disparity switch between filtering modes - near objects use tilts, far - use max disparity
clt_parameters.fs_transition,// 1.0; // Mode transition range (between tilted and maximal disparity)
clt_parameters.fs_far_mode,// 1; // Far objects filtering mode (0 - off, 1 - power of disparity)
clt_parameters.fs_far_power,// 1.0; // Raise disparity to this power before averaging for far objects
debugLevel,// 1, // final int debugLevel)
debugLevel,// 1, // final int debugLevel)
clt_parameters.tileX,
clt_parameters.tileX,
clt_parameters.tileY);
clt_parameters.tileY);
...
@@ -5967,6 +6082,9 @@ public class TileProcessor {
...
@@ -5967,6 +6082,9 @@ public class TileProcessor {
clt_parameters.or_threshold,// 1.5; // Minimal scaled offsetg ortho strength to normal strength needed for replacement
clt_parameters.or_threshold,// 1.5; // Minimal scaled offsetg ortho strength to normal strength needed for replacement