// clt_data does not need to be for the whole image
// final double [][][][][][] clt_data = new double[quad][nChn][tilesY][tilesX][][];
// final double [][][][][][][] clt_bidata = new double[2][quad][nChn][tilesY][tilesX][][]; // modify to have different number of sub-cameras in main/aux
"false - return (old) per-coor correlations, true - replace them with more pairs correlation (new)");
"false - return (old) per-coord correlations, true - replace them with more pairs correlation (new)");
gd.addCheckbox("Replace CM layer with mixed/new poly one",this.mix_corr_poly);
gd.addNumericField("Use poly mode if strength is greater than",this.min_poly_strength,3,6,"","AND condition");
gd.addNumericField("Maximal polynomial approximation half-width",this.max_poly_hwidth,3,6,"pix","Maximal polynomial approximation half-width (in both directions), Most now are ~2.0");
// temporary setting up tile task file (one integer per tile, bitmask
// for testing defined for a window, later the tiles to process will be calculated based on previous passes results
...
...
@@ -358,14 +331,17 @@ public class TwoQuadCLT {
double[][]disparity_bimap=newdouble[ImageDtt.BIDISPARITY_TITLES.length][];//[0] -residual disparity, [1] - orthogonal (just for debugging) last 4 - max pixel differences
doublemin_corr_selected=clt_parameters.min_corr;
ImageDttimage_dtt=newImageDtt();
finaldouble[][][][][][][]clt_bidata=// new double[2][quad][nChn][tilesY][tilesX][][]; // first index - main/aux
image_dtt.clt_bi_quad(
clt_parameters,// final EyesisCorrectionParameters.CLTParameters clt_parameters,
tile_op_main,// final int [][] tile_op_main, // [tilesY][tilesX] - what to do - 0 - nothing for this tile
tile_op_aux,// final int [][] tile_op_aux, // [tilesY][tilesX] - what to do - 0 - nothing for this tile
System.out.println("No files to process (of "+sourceFiles.length+")");
return;
}
double[]referenceExposures_main=quadCLT_main.eyesisCorrections.calcReferenceExposures(debugLevel);// multiply each image by this and divide by individual (if not NaN)
double[]referenceExposures_aux=quadCLT_aux.eyesisCorrections.calcReferenceExposures(debugLevel);// multiply each image by this and divide by individual (if not NaN)
thrownewException("Set naims for cameras do not match: main camera: '"+set_channels_main[nSet].name()+"', aux. camera: '"+set_channels_main[nSet].name()+"'");
finalintthreadsMax,// maximal number of threads to launch
finalbooleanupdateStatus,
finalintdebugLevel){
ImageDttimage_dtt=newImageDtt();
double[][]disparity_bimap=newdouble[ImageDtt.BIDISPARITY_TITLES.length][];//[0] -residual disparity, [1] - orthogonal (just for debugging) last 4 - max pixel differences
doublemin_corr_selected=clt_parameters.min_corr;
image_dtt.clt_bi_quad(
clt_parameters,// final EyesisCorrectionParameters.CLTParameters clt_parameters,
tile_op,// final int [][] tile_op_main, // [tilesY][tilesX] - what to do - 0 - nothing for this tile
tile_op,// final int [][] tile_op_aux, // [tilesY][tilesX] - what to do - 0 - nothing for this tile
double_stacks[0],// final double [][][] image_data_main, // first index - number of image in a quad
double_stacks[1],// final double [][][] image_data_aux, // first index - number of image in a quad
saturation_main,// final boolean [][] saturation_main, // (near) saturated pixels or null
saturation_aux,// final boolean [][] saturation_aux, // (near) saturated pixels or null
// correlation results - combo will be for the correation between two quad cameras
null,// final double [][][][] clt_corr_combo, // [type][tilesY][tilesX][(2*transform_size-1)*(2*transform_size-1)] // if null - will not calculate
disparity_bimap,// final double [][] disparity_bimap, // [23][tilesY][tilesX]
null,// final double [][][][] texture_tiles_main, // [tilesY][tilesX]["RGBA".length()][]; null - will skip images combining
null,// final double [][][][] texture_tiles_aux, // [tilesY][tilesX]["RGBA".length()][]; null - will skip images combining
quadCLT_main.tp.getTilesX()*clt_parameters.transform_size,// final int width,
min_corr_selected,// final double min_corr, // 0.02; // minimal correlation value to consider valid
quadCLT_main.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_main,
quadCLT_aux.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_aux,
quadCLT_main.getCLTKernels(),// final double [][][][][][] clt_kernels_main, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
quadCLT_aux.getCLTKernels(),// final double [][][][][][] clt_kernels_aux, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
clt_parameters.corr_magic_scale,// final double corr_magic_scale, // still not understood coefficient that reduces reported disparity value. Seems to be around 0.85
false,// true, // final boolean keep_clt_data,
threadsMax,// final int threadsMax, // maximal number of threads to launch