Commit 9031d283 authored by Andrey Filippov's avatar Andrey Filippov

fixing ml generation during normal scene batch calculation

parent d594059c
...@@ -5030,7 +5030,7 @@ private Panel panel1, ...@@ -5030,7 +5030,7 @@ private Panel panel1,
if (DEBUG_LEVEL > -2){ if (DEBUG_LEVEL > -2){
System.out.println("++++++++++++++ Calculating geometryCorrection for the auxiliary camera ++++++++++++++"); System.out.println("++++++++++++++ Calculating geometryCorrection for the auxiliary camera ++++++++++++++");
} }
if (!QUAD_CLT_AUX.initGeometryCorrection(DEBUG_LEVEL+2)){ if (!QUAD_CLT_AUX.initGeometryCorrection(DEBUG_LEVEL+2)){//java.lang.NullPointerException
return false; return false;
} }
} }
......
...@@ -336,7 +336,7 @@ public class QuadCLT { ...@@ -336,7 +336,7 @@ public class QuadCLT {
// verify that all sensors have the same distortion parameters // verify that all sensors have the same distortion parameters
int numSensors = sensors.length; int numSensors = sensors.length;
for (int i = 1; i < numSensors; i++){ for (int i = 1; i < numSensors; i++){
if ( (sensors[0].focalLength != sensors[i].focalLength) || if ( (sensors[0].focalLength != sensors[i].focalLength) || // null pointer
(sensors[0].distortionC != sensors[i].distortionC) || (sensors[0].distortionC != sensors[i].distortionC) ||
(sensors[0].distortionB != sensors[i].distortionB) || (sensors[0].distortionB != sensors[i].distortionB) ||
(sensors[0].distortionA != sensors[i].distortionA) || (sensors[0].distortionA != sensors[i].distortionA) ||
......
...@@ -2056,12 +2056,16 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2056,12 +2056,16 @@ if (debugLevel > -100) return true; // temporarily !
} }
boolean post_poles = clt_parameters.rig.ml_poles; boolean post_poles = clt_parameters.rig.ml_poles;
double [][] rig_disparity_strength = clt_parameters.rig.ml_poles?quadCLT_main.tp.rig_post_poles_ds : quadCLT_main.tp.rig_pre_poles_ds; double [][] rig_disparity_strength = clt_parameters.rig.ml_poles?quadCLT_main.tp.rig_post_poles_ds : quadCLT_main.tp.rig_pre_poles_ds;
if ((quadCLT_main.tp.main_ds_ml == null) && (this.dsi != null) && (this.dsi[DSI_DISPARITY_MAIN] != null) && (this.dsi[DSI_STRENGTH_MAIN] != null)){
quadCLT_main.tp.main_ds_ml = new double[2][];
quadCLT_main.tp.main_ds_ml[0] = this.dsi[DSI_DISPARITY_MAIN];
quadCLT_main.tp.main_ds_ml[1] = this.dsi[DSI_STRENGTH_MAIN];
}
double [][] main_disparity_strength = quadCLT_main.tp.main_ds_ml; double [][] main_disparity_strength = quadCLT_main.tp.main_ds_ml;
if (rig_disparity_strength == null) { if (rig_disparity_strength == null) {
System.out.println("DSI data for the scene after poles extraction is not available. You may enable it and re-run \"Ground truth\" command or run \"Poles GT\""); System.out.println("DSI data for the scene after poles extraction is not available. You may enable it and re-run \"Ground truth\" command or run \"Poles GT\"");
rig_disparity_strength = quadCLT_main.tp.rig_pre_poles_ds; rig_disparity_strength = quadCLT_main.tp.rig_pre_poles_ds;
System.out.println("Using pre-poles data for ML output"); System.out.println("Using pre-poles data for ML output");
post_poles = false;
} }
if (debugLevel > -6) { if (debugLevel > -6) {
if (post_poles) { if (post_poles) {
...@@ -2071,7 +2075,10 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2071,7 +2075,10 @@ if (debugLevel > -100) return true; // temporarily !
} }
} }
// Create filtered/expanded min and rig DSI // Create filtered/expanded min and rig DSI
double [][] main_dsi = enhanceMainDSI( // FIXME: Make quadCLT_main.tp.main_ds_ml dusing COMBO_DSI write (too late) or just write earlier?
double [][] main_dsi = null;
if (main_disparity_strength != null) {
main_dsi = enhanceMainDSI(
main_disparity_strength, // double [][] main_dsi, main_disparity_strength, // double [][] main_dsi,
rig_disparity_strength, // double [][] rig_dsi, rig_disparity_strength, // double [][] rig_dsi,
clt_parameters.rig.ml_rig_tolerance, // double rig_tolerance, clt_parameters.rig.ml_rig_tolerance, // double rig_tolerance,
...@@ -2082,6 +2089,7 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2082,6 +2089,7 @@ if (debugLevel > -100) return true; // temporarily !
clt_parameters.rig.ml_new_strength, // double new_strength) clt_parameters.rig.ml_new_strength, // double new_strength)
// debugLevel + 3); // int debugLevel); // debugLevel + 3); // int debugLevel);
debugLevel + 0); // int debugLevel); debugLevel + 0); // int debugLevel);
}
double [][] rig_dsi = enhanceMainDSI( double [][] rig_dsi = enhanceMainDSI(
rig_disparity_strength, // double [][] main_dsi, rig_disparity_strength, // double [][] main_dsi,
rig_disparity_strength, // double [][] rig_dsi, rig_disparity_strength, // double [][] rig_dsi,
...@@ -2107,7 +2115,7 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2107,7 +2115,7 @@ if (debugLevel > -100) return true; // temporarily !
// Create test data that does not rely on the rig measurements // Create test data that does not rely on the rig measurements
String img_name_main =quadCLT_main.image_name+"-ML_DATA-"; String img_name_main =quadCLT_main.image_name+"-ML_DATA-";
// zero random offset: // zero random offset:
if ( clt_parameters.rig.ml_main) { if ( clt_parameters.rig.ml_main && (main_dsi != null)) {
double [][] ml_data_main = remeasureRigML( double [][] ml_data_main = remeasureRigML(
0.0, // double disparity_offset_low, 0.0, // double disparity_offset_low,
Double.NaN, // 0.0, // double disparity_offset_high, Double.NaN, // 0.0, // double disparity_offset_high,
...@@ -2149,7 +2157,7 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2149,7 +2157,7 @@ if (debugLevel > -100) return true; // temporarily !
} }
// Create images from main cameras, but adding random disparity offset // Create images from main cameras, but adding random disparity offset
if ( clt_parameters.rig.ml_main_rnd) { if ( clt_parameters.rig.ml_main_rnd && (main_dsi != null)) {
double [][] ml_data_main = remeasureRigML( double [][] ml_data_main = remeasureRigML(
0.0, // double disparity_offset_low, 0.0, // double disparity_offset_low,
clt_parameters.rig.ml_disparity_sweep, // 0.0, // double disparity_offset_high, clt_parameters.rig.ml_disparity_sweep, // 0.0, // double disparity_offset_high,
...@@ -2192,7 +2200,7 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -2192,7 +2200,7 @@ if (debugLevel > -100) return true; // temporarily !
} }
// Create images from main cameras, but adding random disparity offset // Create images from main cameras, but adding random disparity offset
if ( clt_parameters.rig.ml_rig_rnd) { if ( clt_parameters.rig.ml_rig_rnd && (rig_dsi != null)) {
double [][] ml_data_main = remeasureRigML( double [][] ml_data_main = remeasureRigML(
0.0, // double disparity_offset_low, 0.0, // double disparity_offset_low,
clt_parameters.rig.ml_disparity_sweep, // 0.0, // double disparity_offset_high, clt_parameters.rig.ml_disparity_sweep, // 0.0, // double disparity_offset_high,
...@@ -6413,14 +6421,22 @@ if (debugLevel > -100) return true; // temporarily ! ...@@ -6413,14 +6421,22 @@ if (debugLevel > -100) return true; // temporarily !
threadsMax, // final int threadsMax, // maximal number of threads to launch threadsMax, // final int threadsMax, // maximal number of threads to launch
updateStatus, // final boolean updateStatus, updateStatus, // final boolean updateStatus,
debugLevel); // final int debugLevel) debugLevel); // final int debugLevel)
/*
if (clt_parameters.rig.ml_copyJP4) { if (clt_parameters.rig.ml_copyJP4) {
copyJP4src( copyJP4src(
quadCLT_main, // QuadCLT quadCLT_main, // tiles should be set quadCLT_main, // QuadCLT quadCLT_main, // tiles should be set
quadCLT_aux, // QuadCLT quadCLT_aux, quadCLT_aux, // QuadCLT quadCLT_aux,
clt_parameters, // EyesisCorrectionParameters.CLTParameters clt_parameters, clt_parameters, // EyesisCorrectionParameters.CLTParameters clt_parameters,
debugLevel); // final int debugLevel) debugLevel); // final int debugLevel)
} }*/
}
// copy regardless of ML generation
if (clt_parameters.rig.ml_copyJP4) {
copyJP4src(
quadCLT_main, // QuadCLT quadCLT_main, // tiles should be set
quadCLT_aux, // QuadCLT quadCLT_aux,
clt_parameters, // EyesisCorrectionParameters.CLTParameters clt_parameters,
debugLevel); // final int debugLevel)
} }
if (quadCLT_main.correctionsParameters.clt_batch_gen3d) { if (quadCLT_main.correctionsParameters.clt_batch_gen3d) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment