Commit fa75f981 authored by Andrey Filippov's avatar Andrey Filippov

DEbugging SfM during initial orientation

parent cfbcc5e2
......@@ -435,7 +435,6 @@ public class MLStats {
public static boolean mlRecalc(String dir,
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
final int threadsMax, // maximal number of threads to launch
......
......@@ -4071,7 +4071,6 @@ public class OpticalFlow {
CLTParameters clt_parameters,
boolean fast,
boolean skip_photo,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
boolean batch_mode,
......@@ -4195,7 +4194,6 @@ public class OpticalFlow {
disp_scan_count, // int disp_scan_count,
no_bg_generate, // boolean no_bg_generate,
no_lma, // boolean no_lma,
debayerParameters,
colorProcParameters,
rgbParameters,
threadsMax, // maximal number of threads to launch
......@@ -4733,7 +4731,6 @@ public class OpticalFlow {
* @param quadCLT_main
* @param last_index
* @param clt_parameters
* @param debayerParameters
* @param colorProcParameters
* @param channelGainParameters
* @param rgbParameters
......@@ -4755,7 +4752,6 @@ public class OpticalFlow {
QuadCLT quadCLT_main, // tiles should be set
int last_index, // -1 - last
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -5234,7 +5230,6 @@ public class OpticalFlow {
clt_parameters, // CLTParameters clt_parameters,
fast, // boolean fast,
false, // boolean skip_photo,
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
colorProcParameters, // ColorProcParameters colorProcParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
batch_mode, // boolean batch_mode,
......@@ -5387,14 +5382,13 @@ public class OpticalFlow {
updateStatus, // final boolean updateStatus,
debugLevel);
OK = earliest_scene >=0;
} else if (center_reference) {
} else if (center_reference) { // currently the main branch, others may be broken
es1 = Interscene.setInitialOrientationsCenterIms(
clt_parameters, // final CLTParameters clt_parameters,
use_ims_rotation, // final boolean compensate_ims_rotation,
inertial_only, // final boolean inertial_only,
min_num_scenes, // int min_num_scenes,
colorProcParameters, // final ColorProcParameters colorProcParameters,
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
quadCLT_main, // QuadCLT quadCLT_main, // tiles should be set
quadCLTs, // final QuadCLT[] quadCLTs, //
......@@ -5583,7 +5577,7 @@ public class OpticalFlow {
*/
quadCLTs[ref_index].setQuadClt(); // just in case ?
/// quadCLTs[ref_index].setBlueSky(ref_blue_sky); //quadCLTs[ref_index].dsi has it
quadCLTs[ref_index].setDSRBG( // is it needed?
quadCLTs[ref_index].setDSRBG( // is it needed?
clt_parameters, // CLTParameters clt_parameters,
threadsMax, // int threadsMax, // maximal number of threads to launch
updateStatus, // boolean updateStatus,
......@@ -5904,6 +5898,7 @@ public class OpticalFlow {
double inf_disp = OpticalFlow.getImsDisparityCorrection(
scale_img, // double scale_img,
quadCLTs[ref_index], // QuadCLT master_CLT,
clt_parameters.imp.use_lma_dsi, // boolean use_lma_dsi,
debugLevel); // final int debugLevel) {
if (debugLevel > -3) {
System.out.println("Disparity at infinity ="+inf_disp+" in reference scene "+quadCLTs[ref_index].getImageName()+", scale_img="+scale_img);
......@@ -6145,7 +6140,6 @@ public class OpticalFlow {
clt_parameters, // CLTParameters clt_parameters,
run_ly_mode, // int run_ly_mode, // +1 - lazy eye, +2 - infinity
run_ly_ims, // boolean run_ly_ims, // adjust infinity (if enabled) using horizontal movement from the IMS
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
colorProcParameters, // ColorProcParameters colorProcParameters,
channelGainParameters, // CorrectionColorProc.ColorGainsParameters channelGainParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -6229,6 +6223,7 @@ public class OpticalFlow {
corr_index, // ref_index, // int ref_index,
master_CLT, // QuadCLT ref_scene, // may be one of quadCLTs or center_CLT
earliest_scene, // int earliest_scene,
-1, // int latest_scene,
quat_rms, // double [] rms // null or double[2];
null, // enu_corr, //double [] enu_corr,
debugLevel); // int debugLevel
......@@ -7660,8 +7655,9 @@ public class OpticalFlow {
public static double getImsDisparityCorrection(
double scale_img,
QuadCLT master_CLT,
boolean use_lma_dsi,
final int debugLevel) {
double [] disparity_dsi = master_CLT.getDLS()[1]; // null
double [] disparity_dsi = master_CLT.getDLS()[use_lma_dsi?1:0]; // [1]; // null
double [] strength = master_CLT.getDLS()[2];
double sw=0,swd=0; // old, new-old
for (int i = 0; i < disparity_dsi.length; i++) {
......@@ -7925,7 +7921,6 @@ public class OpticalFlow {
CLTParameters clt_parameters,
int run_ly_mode, // +1 - lazy eye, +2 - infinity
boolean run_ly_ims, // adjust infinity (if enabled) using horizontal movement from the IMS
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......
......@@ -871,7 +871,6 @@ public class QuadCLT extends QuadCLTCPU {
public void genSave4sliceImage(
CLTParameters clt_parameters,
String suffix,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -889,7 +888,6 @@ public class QuadCLT extends QuadCLTCPU {
null, // ImagePlus [] imp_quad, //null will be OK
null, // boolean [][] saturation_imp, // (near) saturated pixels or null // Not needed use this.saturation_imp
clt_parameters, // CLTParameters clt_parameters,
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
colorProcParameters, // ColorProcParameters colorProcParameters,
channelGainParameters, // CorrectionColorProc.ColorGainsParameters channelGainParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -906,7 +904,6 @@ public class QuadCLT extends QuadCLTCPU {
// added 12/21
public void processCLTQuadCorrs( // not used in lwir
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -961,7 +958,6 @@ public class QuadCLT extends QuadCLTCPU {
null, // imp_srcs, // [srcChannel], // should have properties "name"(base for saving results), "channel","path"
saturation_imp, // boolean [][] saturation_imp, // (near) saturated pixels or null
clt_parameters,
debayerParameters,
colorProcParameters,
channelGainParameters,
rgbParameters,
......@@ -3618,7 +3614,6 @@ public class QuadCLT extends QuadCLTCPU {
ImagePlus [] imp_quad, //null will be OK
boolean [][] saturation_imp, // (near) saturated pixels or null // Not needed use this.saturation_imp
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -3636,7 +3631,6 @@ public class QuadCLT extends QuadCLTCPU {
processCLTQuadCorrCPU(
saturation_imp, // boolean [][] saturation_imp, // (near) saturated pixels or null // Not needed use this.saturation_imp
clt_parameters, // CLTParameters clt_parameters,
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
colorProcParameters, // ColorProcParameters colorProcParameters,
channelGainParameters, // CorrectionColorProc.ColorGainsParameters channelGainParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -4197,7 +4191,6 @@ public class QuadCLT extends QuadCLTCPU {
boolean [][] saturation_aux, // (near) saturated pixels or null
CLTParameters clt_parameters,
EyesisCorrectionParameters.CorrectionParameters ecp,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
ColorProcParameters colorProcParameters_aux,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -6135,7 +6128,7 @@ if (debugLevel < -100) {
null, // final QuadCLTCPU ref_scene, // may be null if scale_fpn <= 0
threadsMax,
debugLevel);
quadCLT.isPhotometricUpdatedAndReset(); // reset changed 12/25/2025
return quadCLT;
}
public QuadCLT spawnNoModelQuadCLT( // copies quat_corr from this
......@@ -6146,8 +6139,7 @@ if (debugLevel < -100) {
int debugLevel)
{
QuadCLT quadCLT = new QuadCLT(this, set_name); //null
return (QuadCLT) quadCLT.restoreNoModel(
quadCLT.restoreNoModel(
clt_parameters,
colorProcParameters,
null, // double [] noise_sigma_level,
......@@ -6155,6 +6147,8 @@ if (debugLevel < -100) {
null, // final QuadCLTCPU ref_scene, // may be null if scale_fpn <= 0
threadsMax,
debugLevel);
quadCLT.isPhotometricUpdatedAndReset(); // reset changed 12/25/2025
return (QuadCLT) quadCLT;
}
public static double [][][] unsharpMaskSourceMono(
......
......@@ -48,6 +48,7 @@ public class TileNeibs{
final int sizeX;
final int sizeY;
public Rectangle inner2 = null;
public Rectangle inner = null;
public Rectangle full = null;
......@@ -64,6 +65,14 @@ public class TileNeibs{
}
return inner;
}
public Rectangle getStrongInnerRectangle() {
if (inner2 == null) {
inner2 = new Rectangle(2,2,sizeX-4, sizeY-4);
}
return inner2;
}
int last_grown; // actual grown until died
public int dirs = DIRS;
......
......@@ -51,7 +51,6 @@ public class LwirWorld {
int ref_index_unused, // -1 - last
int ref_step_unused, // not used here
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -128,7 +127,6 @@ public class LwirWorld {
quadCLT_main, // QuadCLT quadCLT_main, // tiles should be set
ref_index, // int ref_index, // -1 - last
clt_parameters, // CLTParameters clt_parameters,
debayerParameters, // EyesisCorrectionParameters.DebayerParameters debayerParameters,
colorProcParameters, // ColorProcParameters colorProcParameters,
channelGainParameters, // CorrectionColorProc.ColorGainsParameters channelGainParameters,
rgbParameters, // EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -173,7 +171,6 @@ public class LwirWorld {
QuadCLT quadCLT_main, // tiles should be set
int ref_index, // -1 - last
CLTParameters clt_parameters,
EyesisCorrectionParameters.DebayerParameters debayerParameters,
ColorProcParameters colorProcParameters,
CorrectionColorProc.ColorGainsParameters channelGainParameters,
EyesisCorrectionParameters.RGBParameters rgbParameters,
......@@ -349,7 +346,6 @@ public class LwirWorld {
clt_parameters.disp_scan_count, // double disp_scan_count,
false, // boolean no_bg_generate,
false, // boolean no_lma,
debayerParameters,
colorProcParameters,
rgbParameters,
MultiThreading.THREADS_MAX, // threadsMax,
......
......@@ -238,6 +238,7 @@ public class StructureFromMotion {
false, // initial_adjust, // boolean initial_adjust,
mb_vectors, // double [][] mb_vectors, // now [2][ntiles];
-1, // int niter,
false, // boolean img_debug, // generate debug images
clt_parameters.imp.debug_level, // int imp_debug_level,
debugLevel); // 1); // -1); // int debug_level);
return true;
......@@ -2238,7 +2239,18 @@ public class StructureFromMotion {
}
return tiles;
}
/**
* Get pX and pY derivatives with respect to disparity
* @param scenes_xyzatr {scene0_xyzatr,scene1_xyzatr}
* @param scene0 scene0 instance of QuadCLT (used if scenes_xyzatr[0]== null. Needed even if scenes_xyzatr[i] != null
* @param scene1 scene0 instance of QuadCLT (used if scenes_xyzatr[0]== null. Needed even if scenes_xyzatr[i] != null
* @param ref_QuadClt reference scene instance
* @param ref_pXpYD sparce reference array of {pX,pY,Disparity}
* @param range_disparity_offset disparity at infinity
* @param batch_mode batch mode (reduce images)
* @param debug_level debug level
* @return sparse per-tile array of dx, dy pairs or nulls
*/
public static double [][] getSfmDpxDpyDdisp(
final double [][][] scenes_xyzatr, // cameras center in world coordinates (or null to use instance)
final QuadCLT scene0,
......
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