Loading src/main/java/EyesisCorrectionParameters.java +26 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,11 @@ public class EyesisCorrectionParameters { public String x3dSubdirSuffix= ""; // CLT 3d batch parameters public int rig_batch_adjust_main = 0; public int rig_batch_adjust_aux = 0; public int rig_batch_adjust_rig = 0; public boolean clt_batch_apply_man = true; // Apply (and disable) manual pixel shift public boolean clt_batch_apply_man = false; // Apply (and disable) manual pixel shift public boolean clt_batch_extrinsic = false; // Calibrate extrinsic parameters for each set public boolean clt_batch_poly = false; // Calculate fine polynomial correction for each set public boolean clt_batch_4img = true; // Create a set of 4 images, usually for disparity = 0 Loading Loading @@ -240,6 +243,12 @@ public class EyesisCorrectionParameters { cp.x3dSubdirPrefix= this.x3dSubdirPrefix; cp.x3dModelVersion= this.x3dModelVersion; cp.jp4SubDir= this.jp4SubDir; cp.rig_batch_adjust_main= this.rig_batch_adjust_main; cp.rig_batch_adjust_aux= this.rig_batch_adjust_aux; cp.rig_batch_adjust_rig= this.rig_batch_adjust_rig; cp.clt_batch_apply_man= this.clt_batch_apply_man; cp.clt_batch_extrinsic= this.clt_batch_extrinsic; cp.clt_batch_poly= this.clt_batch_poly; Loading Loading @@ -380,6 +389,10 @@ public class EyesisCorrectionParameters { properties.setProperty(prefix+"mlDirectory", this.mlDirectory); properties.setProperty(prefix+"rig_batch_adjust_main", this.rig_batch_adjust_main+""); properties.setProperty(prefix+"rig_batch_adjust_aux", this.rig_batch_adjust_aux+""); properties.setProperty(prefix+"rig_batch_adjust_rig", this.rig_batch_adjust_rig+""); properties.setProperty(prefix+"clt_batch_apply_man", this.clt_batch_apply_man+""); properties.setProperty(prefix+"clt_batch_extrinsic", this.clt_batch_extrinsic+""); properties.setProperty(prefix+"clt_batch_poly", this.clt_batch_poly+""); Loading Loading @@ -517,6 +530,10 @@ public class EyesisCorrectionParameters { if (properties.getProperty(prefix+"mlDirectory")!= null) this.mlDirectory=properties.getProperty(prefix+"mlDirectory"); if (properties.getProperty(prefix+"rig_batch_adjust_main")!=null) this.rig_batch_adjust_main=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_main")); if (properties.getProperty(prefix+"rig_batch_adjust_aux")!=null) this.rig_batch_adjust_aux=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_aux")); if (properties.getProperty(prefix+"rig_batch_adjust_rig")!=null) this.rig_batch_adjust_rig=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_rig")); if (properties.getProperty(prefix+"clt_batch_apply_man")!= null) this.clt_batch_apply_man=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_apply_man")); if (properties.getProperty(prefix+"clt_batch_extrinsic")!= null) this.clt_batch_extrinsic=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_extrinsic")); if (properties.getProperty(prefix+"clt_batch_poly")!= null) this.clt_batch_poly=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_poly")); Loading @@ -534,7 +551,6 @@ public class EyesisCorrectionParameters { if (properties.getProperty(prefix+"thumb_size") !=null) this.thumb_size= Double.parseDouble(properties.getProperty(prefix+"thumb_size")); if (properties.getProperty(prefix+"default_rating") !=null) this.default_rating= Integer.parseInt(properties.getProperty(prefix+"default_rating")); // copy common parameters to the auxiliary camera ones updateAuxFromMain(); String aux_prefix = prefix + AUX_PREFIX; Loading Loading @@ -853,6 +869,10 @@ public class EyesisCorrectionParameters { gd.addTab ("Batch", "Select Batch parameters"); gd.addNumericField("Repeat main camera field adjustment", this.rig_batch_adjust_main, 0); gd.addNumericField("Repeat aux camera field adjustment", this.rig_batch_adjust_aux, 0); gd.addNumericField("Repeat 2-quad camera rig field adjustment", this.rig_batch_adjust_rig, 0); gd.addCheckbox ("Apply (and disable) manual pixel shift", this.clt_batch_apply_man); // 21 gd.addCheckbox ("Calibrate extrinsic parameters for each set", this.clt_batch_extrinsic); // 22 gd.addCheckbox ("Calculate fine polynomial correction for each set", this.clt_batch_poly); // 23 Loading Loading @@ -914,6 +934,10 @@ public class EyesisCorrectionParameters { this.aux_camera.cltSuffix= gd.getNextString(); // 20b this.aux_camera.x3dSubdirSuffix= gd.getNextString(); // 20ba this.rig_batch_adjust_main = (int) gd.getNextNumber(); this.rig_batch_adjust_aux = (int) gd.getNextNumber(); this.rig_batch_adjust_rig = (int) gd.getNextNumber(); this.clt_batch_apply_man= gd.getNextBoolean(); // 21 this.clt_batch_extrinsic= gd.getNextBoolean(); // 22 this.clt_batch_poly= gd.getNextBoolean(); // 23 Loading src/main/java/Eyesis_Correction.java +72 −48 Original line number Diff line number Diff line Loading @@ -585,19 +585,19 @@ private Panel panel1, // addButton("CLT 2*4 images - 3", panelClt4, color_conf_process); addButton("SHOW extrinsics", panelClt4, color_configure); addButton("MAIN extrinsics", panelClt4, color_process); addButton("RIG extrinsics", panelClt4, color_conf_process); addButton("AUX extrinsics", panelClt4, color_process); addButton("RIG extrinsics", panelClt4, color_conf_process); addButton("Rig8 images", panelClt4, color_conf_process); // addButton("Rig enhance", panelClt4, color_conf_process); // /"Reset GT" addButton("Reset GT", panelClt4, color_stop); // addButton("Ground truth 0", panelClt4, color_configure); addButton("Ground truth", panelClt4, color_conf_process); addButton("Show biscan", panelClt4, color_configure); addButton("Poles GT", panelClt4, color_process); addButton("ML export", panelClt4, color_conf_process); addButton("JP4 copy", panelClt4, color_conf_process); addButton("Rig batch", panelClt4, color_process); add(panelClt4); Loading Loading @@ -4556,17 +4556,11 @@ private Panel panel1, EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages(); return; /* ======================================================================== */ } else if (label.equals("CLT 2*4 images - 2")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages2(false); return; /* ======================================================================== */ } else if (label.equals("Rig8 images")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages2(true); getPairImages2(); return; /* ======================================================================== */ } else if (label.equals("RIG extrinsics")) { Loading Loading @@ -4615,17 +4609,10 @@ private Panel panel1, return; /* ======================================================================== */ } else if (label.equals("Ground truth 0")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); enhanceByRig(false); return; /* ======================================================================== */ } else if (label.equals("Ground truth")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); enhanceByRig(true); groundTruth(); return; /* ======================================================================== */ } else if (label.equals("Show biscan")) { Loading Loading @@ -4659,6 +4646,13 @@ private Panel panel1, EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); copyJP4src(); return; /* ======================================================================== */ } else if (label.equals("Rig batch")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); CLT_PARAMETERS.batch_run = true; batchRig(); return; /* ======================================================================== */ } else if (label.equals("CLT rig edit")) { Loading Loading @@ -5015,12 +5009,11 @@ private Panel panel1, return true; } public boolean getPairImages2( boolean new_mode) { public boolean getPairImages2() { if (!prepareRigImages()) return false; String configPath=getSaveCongigPath(); if (configPath.equals("ABORT")) return false; if (new_mode) { if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Calculating combined correlations ++++++++++++++"); } Loading @@ -5041,29 +5034,6 @@ private Panel panel1, // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); } else { if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Calculating per quad camera correlations ++++++++++++++"); } try { TWO_QUAD_CLT.processCLTQuadCorrs( QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, DEBAYER_PARAMETERS, //EyesisCorrectionParameters.DebayerParameters debayerParameters, COLOR_PROC_PARAMETERS, //EyesisCorrectionParameters.ColorProcParameters colorProcParameters, CHANNEL_GAINS_PARAMETERS, //CorrectionColorProc.ColorGainsParameters channelGainParameters, CHANNEL_GAINS_PARAMETERS_AUX, //CorrectionColorProc.ColorGainsParameters channelGainParameters_aux, RGB_PARAMETERS, //EyesisCorrectionParameters.RGBParameters rgbParameters, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); } if (configPath!=null) { saveTimestampedProperties( // save config again Loading Loading @@ -5157,7 +5127,7 @@ private Panel panel1, true, PROPERTIES); } System.out.println("enhanceByRig(): Processing finished at "+ System.out.println("processPoles(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); Loading Loading @@ -5251,7 +5221,7 @@ private Panel panel1, return true; } public boolean enhanceByRig( boolean use_planes) { public boolean groundTruth() { long startTime=System.nanoTime(); if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.clt_3d_passes == null)) { boolean OK = clt3d( Loading @@ -5271,11 +5241,10 @@ private Panel panel1, if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Enhancing single-camera DSI by the dual-camera rig using planes ++++++++++++++"); } TWO_QUAD_CLT.enhanceByRig( // actually there is no sense to process multiple image sets. Combine with other processing? TWO_QUAD_CLT.groundTruth( // actually there is no sense to process multiple image sets. Combine with other processing? QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, use_planes, // final boolean use_planes, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL -2); Loading @@ -5286,13 +5255,68 @@ private Panel panel1, true, PROPERTIES); } System.out.println("enhanceByRig(): Processing finished at "+ System.out.println("groundTruth(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); return true; } public boolean batchRig() { long startTime=System.nanoTime(); /* if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.clt_3d_passes == null)) { boolean OK = clt3d( false, // boolean adjust_extrinsics, false); // boolean adjust_poly); if (! OK) { String msg = "DSI data is not available and \"CLT 3D\" failed"; IJ.showMessage("Error",msg); System.out.println(msg); return false; } } */ // load needed sensor and kernels files if (!prepareRigImages()) return false; String configPath=getSaveCongigPath(); if (configPath.equals("ABORT")) return false; if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Running batch processing of dual-quad camera rig ++++++++++++++"); } try { TWO_QUAD_CLT.batchRig( QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, DEBAYER_PARAMETERS, //EyesisCorrectionParameters.DebayerParameters debayerParameters, COLOR_PROC_PARAMETERS, //EyesisCorrectionParameters.ColorProcParameters colorProcParameters, CHANNEL_GAINS_PARAMETERS, //CorrectionColorProc.ColorGainsParameters channelGainParameters, RGB_PARAMETERS, //EyesisCorrectionParameters.RGBParameters rgbParameters, EQUIRECTANGULAR_PARAMETERS, // EyesisCorrectionParameters.EquirectangularParameters equirectangularParameters, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); if (configPath!=null) { saveTimestampedProperties( // save config again configPath, // full path or null null, // use as default directory if path==null true, PROPERTIES); } System.out.println("batchRig(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); return true; } public boolean exportMLData() { long startTime=System.nanoTime(); if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.rig_pre_poles_ds == null)) { Loading Loading
src/main/java/EyesisCorrectionParameters.java +26 −2 Original line number Diff line number Diff line Loading @@ -118,8 +118,11 @@ public class EyesisCorrectionParameters { public String x3dSubdirSuffix= ""; // CLT 3d batch parameters public int rig_batch_adjust_main = 0; public int rig_batch_adjust_aux = 0; public int rig_batch_adjust_rig = 0; public boolean clt_batch_apply_man = true; // Apply (and disable) manual pixel shift public boolean clt_batch_apply_man = false; // Apply (and disable) manual pixel shift public boolean clt_batch_extrinsic = false; // Calibrate extrinsic parameters for each set public boolean clt_batch_poly = false; // Calculate fine polynomial correction for each set public boolean clt_batch_4img = true; // Create a set of 4 images, usually for disparity = 0 Loading Loading @@ -240,6 +243,12 @@ public class EyesisCorrectionParameters { cp.x3dSubdirPrefix= this.x3dSubdirPrefix; cp.x3dModelVersion= this.x3dModelVersion; cp.jp4SubDir= this.jp4SubDir; cp.rig_batch_adjust_main= this.rig_batch_adjust_main; cp.rig_batch_adjust_aux= this.rig_batch_adjust_aux; cp.rig_batch_adjust_rig= this.rig_batch_adjust_rig; cp.clt_batch_apply_man= this.clt_batch_apply_man; cp.clt_batch_extrinsic= this.clt_batch_extrinsic; cp.clt_batch_poly= this.clt_batch_poly; Loading Loading @@ -380,6 +389,10 @@ public class EyesisCorrectionParameters { properties.setProperty(prefix+"mlDirectory", this.mlDirectory); properties.setProperty(prefix+"rig_batch_adjust_main", this.rig_batch_adjust_main+""); properties.setProperty(prefix+"rig_batch_adjust_aux", this.rig_batch_adjust_aux+""); properties.setProperty(prefix+"rig_batch_adjust_rig", this.rig_batch_adjust_rig+""); properties.setProperty(prefix+"clt_batch_apply_man", this.clt_batch_apply_man+""); properties.setProperty(prefix+"clt_batch_extrinsic", this.clt_batch_extrinsic+""); properties.setProperty(prefix+"clt_batch_poly", this.clt_batch_poly+""); Loading Loading @@ -517,6 +530,10 @@ public class EyesisCorrectionParameters { if (properties.getProperty(prefix+"mlDirectory")!= null) this.mlDirectory=properties.getProperty(prefix+"mlDirectory"); if (properties.getProperty(prefix+"rig_batch_adjust_main")!=null) this.rig_batch_adjust_main=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_main")); if (properties.getProperty(prefix+"rig_batch_adjust_aux")!=null) this.rig_batch_adjust_aux=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_aux")); if (properties.getProperty(prefix+"rig_batch_adjust_rig")!=null) this.rig_batch_adjust_rig=Integer.parseInt(properties.getProperty(prefix+"rig_batch_adjust_rig")); if (properties.getProperty(prefix+"clt_batch_apply_man")!= null) this.clt_batch_apply_man=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_apply_man")); if (properties.getProperty(prefix+"clt_batch_extrinsic")!= null) this.clt_batch_extrinsic=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_extrinsic")); if (properties.getProperty(prefix+"clt_batch_poly")!= null) this.clt_batch_poly=Boolean.parseBoolean(properties.getProperty(prefix+"clt_batch_poly")); Loading @@ -534,7 +551,6 @@ public class EyesisCorrectionParameters { if (properties.getProperty(prefix+"thumb_size") !=null) this.thumb_size= Double.parseDouble(properties.getProperty(prefix+"thumb_size")); if (properties.getProperty(prefix+"default_rating") !=null) this.default_rating= Integer.parseInt(properties.getProperty(prefix+"default_rating")); // copy common parameters to the auxiliary camera ones updateAuxFromMain(); String aux_prefix = prefix + AUX_PREFIX; Loading Loading @@ -853,6 +869,10 @@ public class EyesisCorrectionParameters { gd.addTab ("Batch", "Select Batch parameters"); gd.addNumericField("Repeat main camera field adjustment", this.rig_batch_adjust_main, 0); gd.addNumericField("Repeat aux camera field adjustment", this.rig_batch_adjust_aux, 0); gd.addNumericField("Repeat 2-quad camera rig field adjustment", this.rig_batch_adjust_rig, 0); gd.addCheckbox ("Apply (and disable) manual pixel shift", this.clt_batch_apply_man); // 21 gd.addCheckbox ("Calibrate extrinsic parameters for each set", this.clt_batch_extrinsic); // 22 gd.addCheckbox ("Calculate fine polynomial correction for each set", this.clt_batch_poly); // 23 Loading Loading @@ -914,6 +934,10 @@ public class EyesisCorrectionParameters { this.aux_camera.cltSuffix= gd.getNextString(); // 20b this.aux_camera.x3dSubdirSuffix= gd.getNextString(); // 20ba this.rig_batch_adjust_main = (int) gd.getNextNumber(); this.rig_batch_adjust_aux = (int) gd.getNextNumber(); this.rig_batch_adjust_rig = (int) gd.getNextNumber(); this.clt_batch_apply_man= gd.getNextBoolean(); // 21 this.clt_batch_extrinsic= gd.getNextBoolean(); // 22 this.clt_batch_poly= gd.getNextBoolean(); // 23 Loading
src/main/java/Eyesis_Correction.java +72 −48 Original line number Diff line number Diff line Loading @@ -585,19 +585,19 @@ private Panel panel1, // addButton("CLT 2*4 images - 3", panelClt4, color_conf_process); addButton("SHOW extrinsics", panelClt4, color_configure); addButton("MAIN extrinsics", panelClt4, color_process); addButton("RIG extrinsics", panelClt4, color_conf_process); addButton("AUX extrinsics", panelClt4, color_process); addButton("RIG extrinsics", panelClt4, color_conf_process); addButton("Rig8 images", panelClt4, color_conf_process); // addButton("Rig enhance", panelClt4, color_conf_process); // /"Reset GT" addButton("Reset GT", panelClt4, color_stop); // addButton("Ground truth 0", panelClt4, color_configure); addButton("Ground truth", panelClt4, color_conf_process); addButton("Show biscan", panelClt4, color_configure); addButton("Poles GT", panelClt4, color_process); addButton("ML export", panelClt4, color_conf_process); addButton("JP4 copy", panelClt4, color_conf_process); addButton("Rig batch", panelClt4, color_process); add(panelClt4); Loading Loading @@ -4556,17 +4556,11 @@ private Panel panel1, EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages(); return; /* ======================================================================== */ } else if (label.equals("CLT 2*4 images - 2")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages2(false); return; /* ======================================================================== */ } else if (label.equals("Rig8 images")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); getPairImages2(true); getPairImages2(); return; /* ======================================================================== */ } else if (label.equals("RIG extrinsics")) { Loading Loading @@ -4615,17 +4609,10 @@ private Panel panel1, return; /* ======================================================================== */ } else if (label.equals("Ground truth 0")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); enhanceByRig(false); return; /* ======================================================================== */ } else if (label.equals("Ground truth")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); enhanceByRig(true); groundTruth(); return; /* ======================================================================== */ } else if (label.equals("Show biscan")) { Loading Loading @@ -4659,6 +4646,13 @@ private Panel panel1, EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); copyJP4src(); return; /* ======================================================================== */ } else if (label.equals("Rig batch")) { DEBUG_LEVEL=MASTER_DEBUG_LEVEL; EYESIS_CORRECTIONS.setDebug(DEBUG_LEVEL); CLT_PARAMETERS.batch_run = true; batchRig(); return; /* ======================================================================== */ } else if (label.equals("CLT rig edit")) { Loading Loading @@ -5015,12 +5009,11 @@ private Panel panel1, return true; } public boolean getPairImages2( boolean new_mode) { public boolean getPairImages2() { if (!prepareRigImages()) return false; String configPath=getSaveCongigPath(); if (configPath.equals("ABORT")) return false; if (new_mode) { if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Calculating combined correlations ++++++++++++++"); } Loading @@ -5041,29 +5034,6 @@ private Panel panel1, // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); } else { if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Calculating per quad camera correlations ++++++++++++++"); } try { TWO_QUAD_CLT.processCLTQuadCorrs( QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, DEBAYER_PARAMETERS, //EyesisCorrectionParameters.DebayerParameters debayerParameters, COLOR_PROC_PARAMETERS, //EyesisCorrectionParameters.ColorProcParameters colorProcParameters, CHANNEL_GAINS_PARAMETERS, //CorrectionColorProc.ColorGainsParameters channelGainParameters, CHANNEL_GAINS_PARAMETERS_AUX, //CorrectionColorProc.ColorGainsParameters channelGainParameters_aux, RGB_PARAMETERS, //EyesisCorrectionParameters.RGBParameters rgbParameters, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); } if (configPath!=null) { saveTimestampedProperties( // save config again Loading Loading @@ -5157,7 +5127,7 @@ private Panel panel1, true, PROPERTIES); } System.out.println("enhanceByRig(): Processing finished at "+ System.out.println("processPoles(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); Loading Loading @@ -5251,7 +5221,7 @@ private Panel panel1, return true; } public boolean enhanceByRig( boolean use_planes) { public boolean groundTruth() { long startTime=System.nanoTime(); if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.clt_3d_passes == null)) { boolean OK = clt3d( Loading @@ -5271,11 +5241,10 @@ private Panel panel1, if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Enhancing single-camera DSI by the dual-camera rig using planes ++++++++++++++"); } TWO_QUAD_CLT.enhanceByRig( // actually there is no sense to process multiple image sets. Combine with other processing? TWO_QUAD_CLT.groundTruth( // actually there is no sense to process multiple image sets. Combine with other processing? QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, use_planes, // final boolean use_planes, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL -2); Loading @@ -5286,13 +5255,68 @@ private Panel panel1, true, PROPERTIES); } System.out.println("enhanceByRig(): Processing finished at "+ System.out.println("groundTruth(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); return true; } public boolean batchRig() { long startTime=System.nanoTime(); /* if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.clt_3d_passes == null)) { boolean OK = clt3d( false, // boolean adjust_extrinsics, false); // boolean adjust_poly); if (! OK) { String msg = "DSI data is not available and \"CLT 3D\" failed"; IJ.showMessage("Error",msg); System.out.println(msg); return false; } } */ // load needed sensor and kernels files if (!prepareRigImages()) return false; String configPath=getSaveCongigPath(); if (configPath.equals("ABORT")) return false; if (DEBUG_LEVEL > -2){ System.out.println("++++++++++++++ Running batch processing of dual-quad camera rig ++++++++++++++"); } try { TWO_QUAD_CLT.batchRig( QUAD_CLT, // QuadCLT quadCLT_main, QUAD_CLT_AUX, // QuadCLT quadCLT_aux, CLT_PARAMETERS, // EyesisCorrectionParameters.DCTParameters dct_parameters, DEBAYER_PARAMETERS, //EyesisCorrectionParameters.DebayerParameters debayerParameters, COLOR_PROC_PARAMETERS, //EyesisCorrectionParameters.ColorProcParameters colorProcParameters, CHANNEL_GAINS_PARAMETERS, //CorrectionColorProc.ColorGainsParameters channelGainParameters, RGB_PARAMETERS, //EyesisCorrectionParameters.RGBParameters rgbParameters, EQUIRECTANGULAR_PARAMETERS, // EyesisCorrectionParameters.EquirectangularParameters equirectangularParameters, THREADS_MAX, //final int threadsMax, // maximal number of threads to launch UPDATE_STATUS, //final boolean updateStatus, DEBUG_LEVEL); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //final int debugLevel); if (configPath!=null) { saveTimestampedProperties( // save config again configPath, // full path or null null, // use as default directory if path==null true, PROPERTIES); } System.out.println("batchRig(): Processing finished at "+ IJ.d2s(0.000000001*(System.nanoTime()-startTime),3)+" sec, --- Free memory="+ Runtime.getRuntime().freeMemory()+" (of "+Runtime.getRuntime().totalMemory()+")"); return true; } public boolean exportMLData() { long startTime=System.nanoTime(); if ((QUAD_CLT == null) || (QUAD_CLT.tp == null) || (QUAD_CLT.tp.rig_pre_poles_ds == null)) { Loading