Commit 29ff9963 authored by Andrey Filippov's avatar Andrey Filippov

tested with boosted exposure

parent 1bf9e9e4
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -128,7 +128,12 @@ public class CuasMotionLMA {
public static final int RSLT_VEL_RIGHT = 64; // lateral velocity, right ( calculated from angular and RSLT_GRANGE
public static final int RSLT_VEL_UP = 65; // lateral velocity, up ( calculated from angular and RSLT_GRANGE
public static final int RSLT_RANGE_LIN = 66; // range linear interpolated using previous/next series if the same target is present there
public static final int RSLT_LEN = RSLT_RANGE_LIN + 1;
public static final int RSLT_PHASE1_INDEX = 67; // target index in phase 1 (to trim) - debug feature
public static final int RSLT_PHASE1_SCORE = 68; // target index in phase 1 (to set minimal score for phase 1) - debug feature
public static final int RSLT_PHASE1_AMP = 69; // target index in phase 1 (to set minimal score for phase 1) - debug feature
public static final int RSLT_PHASE1_MSCORE = 70; // target index in phase 1 (to set minimal score for phase 1) - debug feature
public static final int RSLT_PHASE1_VSTR = 71; // target index in phase 1 (to set minimal score for phase 1) - debug feature
public static final int RSLT_LEN = RSLT_PHASE1_VSTR + 1;
public static final String [] LMA_TITLES =
{"X-OFFS","Y-OFFS", "AMPLITUDE", "RADIUS","RAD_POS", "OVERSHOOT","OFFSET","RMSE","RMSE/A","MAX2A","ITERATIONS",
......@@ -147,7 +152,8 @@ public class CuasMotionLMA {
"Disparity","Disparity-Diff","Strength","Range","Global-index",
"segment-length","segment-disparity","segment_disp-diff", "segment-strength", "segment-range",
"FLOG-px","FLOG-pY","FLOG-DISP","FLOG-range","infinity",
"GTarget-ID","Vel-away", "Vel-right", "Vel-up","Range-linear"};
"GTarget-ID","Vel-away", "Vel-right", "Vel-up","Range-linear",
"Phase1-index","Phase1-score","Phase1-amplitude","Phase1-mscore","Phase1-vstr"};
public static final String EXTRA_SLICE_DISCARD_ON_LOAD = "Targets";
public static final int FAIL_PENDING = -1; // By Claude on 05/07/2026: motion sentinel — tile tracked but not yet processed by LMA
public static final int FAIL_NONE = 0;
......
......@@ -419,7 +419,7 @@ public class CuasRanging {
saveTargetStats(targets); // final double [][][] targets_single) {
}
}
System.out.print((new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime())+": Ranging done"));
if (generate_output) {
cuasMotion.generateExtractFilterMovingTargets( // move parameters to clt_parameters
......
......@@ -796,6 +796,10 @@ min_str_neib_fpn 0.35
public double cuas_boost_slow = 4.0; // if >1 and the motion vector is below tile_size/cuas_boost_slow, scale corr_pairs
public double cuas_boost_mv_lim = 1.8; // Do not boost if motion vector faster than this (before in code equiv 1.8 pix)
public double cuas_boost_accum = 4.0; // if >1 increase tracking camera exposure (TODO: conditional / compete)
public boolean cuas_phase1_base = true; // Accumulate non-centered targets with base "exposure"
public boolean cuas_phase1_boosted = true; // Accumulate non-centered targets with boosted "exposure"
public boolean cuas_accum_base = true; // Accumulate centered targets with base "exposure"
public boolean cuas_accum_boosted = true; // Accumulate centered targets with boosted "exposure"
......@@ -2721,10 +2725,16 @@ min_str_neib_fpn 0.35
"Do not boost if motion vector faster than this (before in code equiv 1.8 pix).");
gd.addNumericField("Increase tracking camera exposure", this.cuas_boost_accum, 5,8,"",
"If >1 increase tracking camera exposure (later - conditional).");
gd.addCheckbox ("Accumulate phasae 1 base exposure", this.cuas_phase1_base,
"Accumulate non-centered targets (phase 1) with base \"exposure\".");
gd.addCheckbox ("Accumulate phase 1 boosted exposure", this.cuas_phase1_boosted,
"Accumulate non-centered targets (phASE 1) with boosted \"exposure\".");
gd.addCheckbox ("Accumulate tracking base exposure", this.cuas_accum_base,
"Accumulate centered targets with base \"exposure\".");
gd.addCheckbox ("Accumulate tracking boosted exposure", this.cuas_accum_boosted,
"Accumulate centered targets with boosted \"exposure\".");
gd.addNumericField("Boost pairs for weak targets", this.cuas_boost_mstr, 5,8,"",
"Scale corr_pairs if motion strength is below, regardless of speed.");
gd.addNumericField("Never boost stronger", this.cuas_boost_xstr, 5,8,"",
......@@ -4420,6 +4430,8 @@ min_str_neib_fpn 0.35
this.cuas_boost_slow = gd.getNextNumber();
this.cuas_boost_mv_lim = gd.getNextNumber();
this.cuas_boost_accum = gd.getNextNumber();
this.cuas_phase1_base = gd.getNextBoolean();
this.cuas_phase1_boosted = gd.getNextBoolean();
this.cuas_accum_base = gd.getNextBoolean();
this.cuas_accum_boosted = gd.getNextBoolean();
this.cuas_boost_mstr = gd.getNextNumber();
......@@ -5738,6 +5750,8 @@ min_str_neib_fpn 0.35
properties.setProperty(prefix+"cuas_boost_slow", this.cuas_boost_slow+""); // double
properties.setProperty(prefix+"cuas_boost_mv_lim", this.cuas_boost_mv_lim+""); // double
properties.setProperty(prefix+"cuas_boost_accum", this.cuas_boost_accum+""); // double
properties.setProperty(prefix+"cuas_phase1_base", this.cuas_phase1_base+""); // boolean
properties.setProperty(prefix+"cuas_phase1_boosted", this.cuas_phase1_boosted+""); // boolean
properties.setProperty(prefix+"cuas_accum_base", this.cuas_accum_base+""); // boolean
properties.setProperty(prefix+"cuas_accum_boosted", this.cuas_accum_boosted+""); // boolean
properties.setProperty(prefix+"cuas_boost_mstr", this.cuas_boost_mstr+""); // double
......@@ -6992,6 +7006,8 @@ min_str_neib_fpn 0.35
if (properties.getProperty(prefix+"cuas_boost_slow")!=null) this.cuas_boost_slow=Double.parseDouble(properties.getProperty(prefix+"cuas_boost_slow"));
if (properties.getProperty(prefix+"cuas_boost_mv_lim")!=null) this.cuas_boost_mv_lim=Double.parseDouble(properties.getProperty(prefix+"cuas_boost_mv_lim"));
if (properties.getProperty(prefix+"cuas_boost_accum")!=null) this.cuas_boost_accum=Double.parseDouble(properties.getProperty(prefix+"cuas_boost_accum"));
if (properties.getProperty(prefix+"cuas_phase1_base")!=null) this.cuas_phase1_base=Boolean.parseBoolean(properties.getProperty(prefix+"cuas_phase1_base"));
if (properties.getProperty(prefix+"cuas_phase1_boosted")!=null) this.cuas_phase1_boosted=Boolean.parseBoolean(properties.getProperty(prefix+"cuas_phase1_boosted"));
if (properties.getProperty(prefix+"cuas_accum_base")!=null) this.cuas_accum_base=Boolean.parseBoolean(properties.getProperty(prefix+"cuas_accum_base"));
if (properties.getProperty(prefix+"cuas_accum_boosted")!=null) this.cuas_accum_boosted=Boolean.parseBoolean(properties.getProperty(prefix+"cuas_accum_boosted"));
if (properties.getProperty(prefix+"cuas_boost_mstr")!=null) this.cuas_boost_mstr=Double.parseDouble(properties.getProperty(prefix+"cuas_boost_mstr"));
......@@ -8263,6 +8279,8 @@ min_str_neib_fpn 0.35
imp.cuas_boost_slow = this.cuas_boost_slow;
imp.cuas_boost_mv_lim = this.cuas_boost_mv_lim;
imp.cuas_boost_accum = this.cuas_boost_accum;
imp.cuas_phase1_base = this.cuas_phase1_base;
imp.cuas_phase1_boosted = this.cuas_phase1_boosted;
imp.cuas_accum_base = this.cuas_accum_base;
imp.cuas_accum_boosted = this.cuas_accum_boosted;
imp.cuas_boost_mstr = this.cuas_boost_mstr;
......
......@@ -37,8 +37,10 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
......@@ -9038,7 +9040,9 @@ if (debugLevel > -100) return true; // temporarily !
if (stop_now) {
break; // will still generate videos
}
System.out.println((new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime())+": Sequence done."));
} // for (int nseq = 0; nseq < num_seq; nseq++) {
System.out.println((new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime())+": All sequences done"));
// combine videos if generated
if ((video_sets_list.size() > 1) &&
......
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