Commit 3db21f77 authored by Andrey Filippov's avatar Andrey Filippov

Merge branch 'foliage-gpu' of git.elphel.com:Elphel/imagej-elphel into foliage-gpu

parents 96cca29d 8946631f
...@@ -241,6 +241,7 @@ public class CuasRanging { ...@@ -241,6 +241,7 @@ public class CuasRanging {
targets = disparity_targets; targets = disparity_targets;
System.out.println("processMovingTargetsMulti(): re-using target disparities from "+disparity_path+", generating radar mode images"); System.out.println("processMovingTargetsMulti(): re-using target disparities from "+disparity_path+", generating radar mode images");
} }
cuasMotion.setTargets(targets);
} else { } else {
cuasMotion.processMovingTargetsMulti( // will remove rendering cuasMotion.processMovingTargetsMulti( // will remove rendering
batch_mode, // final boolean batch_mode, batch_mode, // final boolean batch_mode,
...@@ -326,8 +327,8 @@ public class CuasRanging { ...@@ -326,8 +327,8 @@ public class CuasRanging {
cuasMotion.getTilesX()); // int tilesX) { cuasMotion.getTilesX()); // int tilesX) {
center_CLT.saveImagePlusInModelDirectory(imp_with_range); // ImagePlus imp) center_CLT.saveImagePlusInModelDirectory(imp_with_range); // ImagePlus imp)
} }
} else if (recalc_target_id){// if (disparity_targets == null) { } else if (recalc_target_id){// if (disparity_targets == null) { // at com.elphel.imagej.cuas.CuasMotion$46.run(CuasMotion.java:7269)
cuasMotion.recalcOmegas( cuasMotion.recalcOmegas( // does not work -
false, // boolean recalc, false, // boolean recalc,
targets, // final double [][][] target_single_in, targets, // final double [][][] target_single_in,
batch_mode, // boolean batch_mode, batch_mode, // boolean batch_mode,
...@@ -2761,18 +2762,21 @@ public class CuasRanging { ...@@ -2761,18 +2762,21 @@ public class CuasRanging {
sb.append("\n"); // there will be 1 extra blank column sb.append("\n"); // there will be 1 extra blank column
String [] slice_titles = cuasMotion.getSliceTitles(); // timestamps String [] slice_titles = cuasMotion.getSliceTitles(); // timestamps
UasLogReader uasLogReader = cuasMotion.getUasLogReader(); UasLogReader uasLogReader = cuasMotion.getUasLogReader();
ErsCorrection ersCorrection = center_CLT.getErsCorrection();
for (int nseq = 0; nseq < num_seq; nseq++) { for (int nseq = 0; nseq < num_seq; nseq++) {
String timestamp = slice_titles[nseq]; String timestamp = slice_titles[nseq];
sb.append(nseq+"\t"+timestamp+"\t"); sb.append(nseq+"\t"+timestamp+"\t");
// get azimuth, elevation, target disparity from the log plus infinity, log range // get azimuth, elevation, target disparity from the log plus infinity, log range
double [] uas_pXpYDRange = uasLogReader.getUasPxPyDRange(timestamp); // px, py, d- cuas_infinity (true disparity), range double [] uas_pXpYDRange = uasLogReader.getUasPxPyDRange(timestamp); // px, py, d- cuas_infinity (true disparity), range
double [][] az_el_oaz_oel= CuasMotion.getPixToAzElev( double [][] az_el_oaz_oel= CuasMotion.getPixToAzElev(
clt_parameters, // CLTParameters clt_parameters, ersCorrection, // ErsCorrection ersCorrection,
gc, // GeometryCorrection gc, uasLogReader, // UasLogReader uasLogReader,
Double.NaN, // double fps, // if NaN, will use default 60Hz. Used only for omegas
uas_pXpYDRange[0], // double target_x, uas_pXpYDRange[0], // double target_x,
uas_pXpYDRange[1], // double target_y, uas_pXpYDRange[1], // double target_y,
0, // double target_vx, 0, // double target_vx,
0); // double target_vy); 0); // double target_vy);
sb.append(uas_pXpYDRange[0]+"\t"+uas_pXpYDRange[1]+"\t"+az_el_oaz_oel[0][0]+"\t"+az_el_oaz_oel[0][1]+"\t"+(uas_pXpYDRange[2]+cuas_infinity)+"\t"+uas_pXpYDRange[3]+"\t"); sb.append(uas_pXpYDRange[0]+"\t"+uas_pXpYDRange[1]+"\t"+az_el_oaz_oel[0][0]+"\t"+az_el_oaz_oel[0][1]+"\t"+(uas_pXpYDRange[2]+cuas_infinity)+"\t"+uas_pXpYDRange[3]+"\t");
for (int ntarg = 0; ntarg < num_targets; ntarg++) { for (int ntarg = 0; ntarg < num_targets; ntarg++) {
...@@ -2793,15 +2797,16 @@ public class CuasRanging { ...@@ -2793,15 +2797,16 @@ public class CuasRanging {
double yc = tileSize * tileY + tileSize/2 + target[CuasMotionLMA.RSLT_Y]; double yc = tileSize * tileY + tileSize/2 + target[CuasMotionLMA.RSLT_Y];
double vx = target[CuasMotionLMA.RSLT_VX]; double vx = target[CuasMotionLMA.RSLT_VX];
double vy = target[CuasMotionLMA.RSLT_VY]; double vy = target[CuasMotionLMA.RSLT_VY];
// calculate and output target azimuth, elevation, disparity (full) and range // calculate and output target azimuth, elevation, disparity (full) and range
az_el_oaz_oel= CuasMotion.getPixToAzElev( az_el_oaz_oel= CuasMotion.getPixToAzElev(
clt_parameters, // CLTParameters clt_parameters, ersCorrection, // ErsCorrection ersCorrection,
gc, // GeometryCorrection gc, uasLogReader, // UasLogReader uasLogReader,
xc, // double target_x, // null Double.NaN, // double fps, // if NaN, will use default 60Hz. Used only for omegas
yc, // double target_y, xc, // double px, // null
vx, // double target_vx, yc, // double py,
vy); // double target_vy); vx, // double vx,
vy); // double vy);
sb.append(xc+"\t"+yc+"\t"+az_el_oaz_oel[0][0]+"\t"+az_el_oaz_oel[0][1]+"\t"+ sb.append(xc+"\t"+yc+"\t"+az_el_oaz_oel[0][0]+"\t"+az_el_oaz_oel[0][1]+"\t"+
target[CuasMotionLMA.RSLT_DISPARITY]+"\t"+target[CuasMotionLMA.RSLT_RANGE]+"\t"); target[CuasMotionLMA.RSLT_DISPARITY]+"\t"+target[CuasMotionLMA.RSLT_RANGE]+"\t");
if (target[CuasMotionLMA.RSLT_GLENGTH] > 0) { if (target[CuasMotionLMA.RSLT_GLENGTH] > 0) {
......
...@@ -6089,6 +6089,27 @@ public class QuadCLTCPU { ...@@ -6089,6 +6089,27 @@ public class QuadCLTCPU {
return file_path; return file_path;
} }
public static String saveImagePlusInDirectory(
ImagePlus imp,
String dir) {
String file_name = imp.getTitle();
if (!file_name.endsWith(".tiff")) {
file_name +=".tiff";
}
if (!dir.endsWith(Prefs.getFileSeparator())) {
dir += Prefs.getFileSeparator();
}
String file_path = dir + file_name; // + ".tiff";
FileSaver fs=new FileSaver(imp);
fs.saveAsTiff(file_path); // image processor null?
System.out.println("saveImagePlusInDirectory(): saved "+file_path);
return file_path;
}
/*
File list_to_concat = new File (video_dir,concat_list_name);
*/
public String saveConfInModelDirectory() public String saveConfInModelDirectory()
{ {
String x3d_path = getX3dDirectory(); String x3d_path = getX3dDirectory();
......
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