System.out.println("Using reference scene "+quadCLTs[ref_index].getImageName()+" ("+ref_index+
") even as it does not match latest_scene2="+latest_scene2+
" in LY mode that has shortened sequence for faster adjustment.");
}else{
System.out.println("*** setInitialOrientationsCenterIms(): assumed that latest_scene2("+latest_scene2+
") == ref_index ("+ref_index+"), but they are different. Decide what to do - see EstimateSceneRange.getPrescanRange(). ***");
System.out.println("The problem is that the center index will have pointers to the first and last, but the last will not have a pointrer back. Resolution - using a separate index scene (latest).");
quadCLTs[latest_scene2].setRefPointer(cent_ts);// write pointer to center scene to reference scene
quadCLTs[latest_scene2].saveInterProperties(// save properties for interscene processing (extrinsics, ers, ...) // null pointer
null,// String path, // full name with extension or w/o path to use x3d directory
debugLevel+1);
}
}
// Here we a
quadCLTs[cent_index].setFirstLastPointers(quadCLTs[earliest_scene2],quadCLTs[latest_scene2]);// set first/last to center scene
...
...
@@ -350,6 +364,7 @@ public class Interscene {
// TODO: add ref scene itself to the list?
cent_index=setInitialOrientationsIms(// process latest "half"
clt_parameters,// final CLTParameters clt_parameters,
operation_mode,// final int operation_mode, // 0 - normal, 1 - prepare for LY field calibration (reduced scenes)
compensate_ims_rotation,// final boolean compensate_ims_rotation,
inertial_only,// final boolean inertial_only,
min_num_scenes_half,// int min_num_scenes,
...
...
@@ -402,7 +417,7 @@ public class Interscene {
booleangenerate_egomotion=clt_parameters.imp.generate_egomotion;// generate egomotion table (image-based and ims)