st.planes,// final TilePlanes.PlaneData[][] planes,
merge_groups,// final int [][][] merge_groups,
// parameters to generate ellipsoids
0.0,// 3, // final double disp_far, // minimal disparity to select (or NaN)
Double.NaN,// final double disp_near, // maximal disparity to select (or NaN)
clt_parameters.plDispNorm,// final double dispNorm, // Normalize disparities to the average if above
0.0,// final double min_weight,
clt_parameters.plMinPoints,// final int min_tiles,
// parameters to reduce outliers
clt_parameters.plTargetEigen,// final double targetEigen, // = 0.1; // Remove outliers until main axis eigenvalue (possibly scaled by plDispNorm) gets below
clt_parameters.plFractOutliers,// final double fractOutliers, // = 0.3; // Maximal fraction of outliers to remove
clt_parameters.plMaxOutliers,// final int maxOutliers, // = 20; // Maximal number of outliers to remove
2,// -1, // debugLevel, // final int debugLevel)
clt_parameters.tileX,
clt_parameters.tileY);
System.out.println("Try "+num_merge_try+": removed "+num_removed_by_merging+" conflicting planes by merging, recalculating connections");
if(num_removed_by_merging==0){// re-calculate all links
break;
}
}
// Do the same as in conditionSuperTiles before smoothing again
...
...
@@ -4036,6 +4143,7 @@ public class TileProcessor {
// Just overwrite results of the previous method
lp.setExclusiveLinks(
st.planes,// final TilePlanes.PlaneData [][] planes,
2.5,//final double max_cost
2,// -1, // debugLevel, // final int debugLevel)
clt_parameters.tileX,
clt_parameters.tileY);
...
...
@@ -4099,6 +4207,11 @@ public class TileProcessor {
}
}else{
st.planes_mod=st.planes;// just use the measured ones