Commit 6f8ae877 authored by Andrey Filippov's avatar Andrey Filippov

refactoring for ranging

parent 0d787dca
This diff is collapsed.
......@@ -57,6 +57,8 @@ import com.elphel.imagej.correction.CorrectionColorProc;
import com.elphel.imagej.cuas.CorrectionFPN;
import com.elphel.imagej.cuas.Cuas;
import com.elphel.imagej.cuas.CuasCenterLma;
import com.elphel.imagej.cuas.CuasMotion;
import com.elphel.imagej.cuas.CuasRanging;
import com.elphel.imagej.gpu.GPUTileProcessor;
import com.elphel.imagej.gpu.GpuQuad;
import com.elphel.imagej.gpu.TpTask;
......@@ -6221,6 +6223,20 @@ public class OpticalFlow {
// Moved to the very end, after 3D
boolean test_vegetation = true;
if (master_CLT.hasCenterClt()) { // cuas mode
CuasRanging cuasRanging = new CuasRanging (
clt_parameters, // CLTParameters clt_parameters,
master_CLT, // QuadCLT center_CLT,
quadCLTs, // QuadCLT [] scenes,
debugLevel); // int debugLevel) {
CuasMotion cuasMotion = cuasRanging.detectTargets(
uasLogReader, // UasLogReader uasLogReader,
batch_mode); // boolean batch_mode)
if (debugLevel > -4) {
System.out.println("Target detection DONE");
}
}
if (generate_mapped || reuse_video) { // modifies combo_dsn_final ?
int tilesX = master_CLT.getTileProcessor().getTilesX();
int tilesY = master_CLT.getTileProcessor().getTilesY();
......@@ -6394,6 +6410,23 @@ public class OpticalFlow {
if (generate_mapped) {
double [][] ds_vantage = new double[][] {selected_disparity,selected_strength};
if ((views[ibase][0] != 0) || (views[ibase][1] != 0) || (views[ibase][2] != 0) || (master_CLT.hasCenterClt()) && (mode3d > 0)) {
boolean debug_vantage = true;
//dls
double [][] dbg_vantage = debug_vantage ? (new double[7][]): null;
if (dbg_vantage != null) {
double [][] dls = {
combo_dsn_final[COMBO_DSN_INDX_DISP], // **** null on second scene sequence
combo_dsn_final[COMBO_DSN_INDX_LMA],
combo_dsn_final[COMBO_DSN_INDX_STRENGTH]
};
for (int i = 0; i < 3; i++) {
dbg_vantage[i] = dls[i].clone();
}
for (int i = 0; i < 2; i++) {
dbg_vantage[i+3] = ds_vantage[i].clone();
}
}
ds_vantage = transformCameraVew(
null, // (debug_ds_fg_virt?"transformCameraVew":null), // final String title,
ds_vantage, // final double [][] dsrbg_camera_in,
......@@ -6402,6 +6435,19 @@ public class OpticalFlow {
master_CLT, // quadCLTs[ref_index], // final QuadCLT scene_QuadClt,
master_CLT, // quadCLTs[ref_index], // final QuadCLT reference_QuadClt,
8); // iscale); // final int iscale);
if (dbg_vantage != null) {
for (int i = 0; i < 2; i++) {
dbg_vantage[i+5] = ds_vantage[i].clone();
}
ShowDoubleFloatArrays.showArrays(
dbg_vantage,
master_CLT.getTileProcessor().getTilesX(),
master_CLT.getTileProcessor().getTilesY(),
true,
center_CLT.getImageName()+"-ds_vantage-old", // "-corr2d"+"-"+frame0+"-"+frame1+"-"+corr_pairs,
new String[] {"disp0","lma0", "str0", "disp","str","virt_disp", "virt_str"});
}
}
if (master_CLT.getFPN() != null) {
scenes_suffix += "-FPN";
......@@ -6447,6 +6493,12 @@ public class OpticalFlow {
null, // "GPU-SHIFTED-D"+clt_parameters.disparity, // String suffix,
imp_scenes_pair[nstereo]); // imp_scenes); // ImagePlus imp)
if (master_CLT.hasCenterClt()) { // cuas mode
boolean new_cuas_mode = (debugLevel < 1000);
if (new_cuas_mode) {
System.out.println("CuasMotion should be already calculated, disabling old mode below.");
} else {
System.out.println("Detecting targets in old mode.");
boolean insert_average = (master_CLT.getCenterAverage() != null) || clt_parameters.imp.calculate_average;
boolean subtract_average = clt_parameters.imp.subtract_average && insert_average;
if (subtract_average && clt_parameters.imp.cuas_targets && (mode3d > 0)) {
......@@ -6475,6 +6527,7 @@ public class OpticalFlow {
}
}
}
}
} else {
if (fov_tiles==null) {
fov_tiles = new Rectangle(0, 0, tilesX, tilesY);
......
......@@ -5994,7 +5994,7 @@ if (debugLevel < -100) {
debugLevel);
}
@Deprecated
public void processMovingTargets(
CLTParameters clt_parameters,
final boolean batch_mode,
......@@ -6010,16 +6010,6 @@ if (debugLevel < -100) {
uasLogReader, // UasLogReader uasLogReader,
scene_titles, // String [] scene_titles, // recreate slice_titles from scene titles?
debugLevel); // final int debugLevel)
/*
CuasMotion.processMovingTargets(
clt_parameters, // CLTParameters clt_parameters,
batch_mode, // final boolean batch_mode,
this, // QuadCLT parentCLT, //
fpixels, // final float [][] fpixels,
uasLogReader, // UasLogReader uasLogReader,
scene_titles, // String [] scene_titles, // recreate slice_titles from scene titles?
debugLevel); // final int debugLevel)
*/
}
}
......@@ -3089,6 +3089,10 @@ public class QuadCLTCPU {
dls[5] = dsi[isAux()? TwoQuadCLT.DSI_TERRAIN_AUX : TwoQuadCLT.DSI_TERRAIN_MAIN];
return dls;
}
public double [][] comboFromMain(){
return comboFromMain(this.dsi);
}
public double [][] comboFromMain(double [][] dsi){
if (dsi == null) {
......
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