booleanclean_video=clt_parameters.imp.cuas_clean_video;//true;// save video without any debug information for targets, output in TIFF files. False - same output for video and TIFFs
generateExtractFilterMovingTargets(// move parameters to clt_parameters
clt_parameters,// CLTParameters clt_parameters,
false,// final boolean video_pass, // if clt_parameters.cuas_clean_video=true, video_pass=0 - output TIFFS, but no video. If video_pass==1 - only video with no debug
batch_mode,// final boolean batch_mode,
parentCLT,// QuadCLT parentCLT, //
// three arrays needed
...
...
@@ -3488,6 +3490,7 @@ public class CuasMotion {
finalbooleanshow_true_rng,// show true range (from the flight log)
generateExtractFilterMovingTargets(// move parameters to clt_parameters
clt_parameters,// CLTParameters clt_parameters,
false,// final boolean video_pass, // if clt_parameters.cuas_clean_video=true, video_pass=0 - output TIFFS, but no video. If video_pass==1 - only video with no debug
batch_mode,// final boolean batch_mode,
parentCLT,// QuadCLT parentCLT, //
// three arrays needed
...
...
@@ -5344,6 +5348,7 @@ public class CuasMotion {
publicstaticvoidgenerateExtractFilterMovingTargets(// move parameters to clt_parameters
CLTParametersclt_parameters,
finalbooleanvideo_pass,// if clt_parameters.cuas_clean_video=true, video_pass=0 - output TIFFS, but no video. If video_pass==1 - only video with no debug
finalbooleanbatch_mode,
QuadCLTparentCLT,//
finalfloat[][]fpixels,
...
...
@@ -5353,7 +5358,8 @@ public class CuasMotion {
String[]scene_titles,// recreate slice_titles from scene titles?
booleanclean_video=clt_parameters.imp.cuas_clean_video;//true;// save video without any debug information for targets, output in TIFF files. False - same output for video and TIFFs
doublelma_rms=clt_parameters.imp.cuas_lma_rms;// = 1.5; // Maximal RMS, regardless of amplitude
doublelma_arms=clt_parameters.imp.cuas_lma_arms;// = 0.06; // Maximal absolute RMS, sufficient for any amplitude
doublelma_rrms=clt_parameters.imp.cuas_lma_rrms;// = 0.15; // Maximal relative to A rms. OK is when (RMS < cuas_lma_arms) || (RMS < cuas_lma_rrms * A)
doublelma_mina=clt_parameters.imp.cuas_lma_mina;// = 1.0; // Minimal A (amplitude)
doublefat_zero=clt_parameters.imp.cuas_fat_zero;
doublelmax_fraction=clt_parameters.imp.cuas_lmax_fraction;// 0.7; // Check if local maximum is separated from tye surrounding by this fraction of the maximum value
doublelmax_hack_ridge=clt_parameters.imp.cuas_lmax_hack_ridge;// 0.45; // Hack for ridges: remove horizontal streaks, where average(abs()) for the line exceeds fraction of abs max 0.32-good, 0.55 - bad
doublelmax_flt_neglim=clt_parameters.imp.cuas_lmax_flt_neglim;// -0.3; // limit negative data to reduce ridge influence (make -10 to disable)
doublelmax_flt_hsigma=clt_parameters.imp.cuas_lmax_flt_hsigma;// 1.0 // HPF (~UM) subtract GB with this sigma from the data tile
doublelmax_flt_lsigma=clt_parameters.imp.cuas_lmax_flt_lsigma;// 1.0 // LPF - GB result of the previous subtraction
doublelmax_flt_scale=clt_parameters.imp.cuas_lmax_flt_scale;// 5.0 // scale filtering result
intmin_seq=clt_parameters.imp.cuas_min_seq;// 3; // minimal number of consecutive key frames for the same target
intenough_seq=clt_parameters.imp.cuas_enough_seq;// 5; // minimal number of consecutive key frames for the same target
doubleseq_travel=clt_parameters.imp.cuas_seq_travel;// 3.0; // minimal diagonal of the bounding box that includes sequence to be considered "cuas_enough_seq". Filtering out atmospheric fluctuations
booleanclean_video=clt_parameters.imp.cuas_clean_video;//true;// save video without any debug information for targets, output in TIFF files. False - same output for video and TIFFs
booleanmulti_targ=clt_parameters.imp.cuas_multi_targ;// true; // Use multi-target for each tile mode
intseq_length=corr_offset+corr_pairs;
...
...
@@ -9093,6 +9159,21 @@ public class CuasMotion {
}
generateExtractFilterMovingTargets(// move parameters to clt_parameters
clt_parameters,// CLTParameters clt_parameters,
false,// final boolean video_pass, // if clt_parameters.cuas_clean_video=true, video_pass=0 - output TIFFS, but no video. If video_pass==1 - only video with no debug
batch_mode,// final boolean batch_mode,
parentCLT,// QuadCLT parentCLT, //
// three arrays needed
fpixels,// final float [][] fpixels,
targets_nonconflict,// final double [][][] vf_sequence, // center tiles (not extended), null /non-null only
cuasMotion,// final CuasMotion cuasMotion,
uasLogReader,// UasLogReader uasLogReader,
scene_titles,// String [] scene_titles, // recreate slice_titles from scene titles?
slice_titles,// String [] slice_titles,
debugLevel);// final int debugLevel)
if(clean_video){
generateExtractFilterMovingTargets(// move parameters to clt_parameters
clt_parameters,// CLTParameters clt_parameters,
true,// final boolean video_pass, // if clt_parameters.cuas_clean_video=true, video_pass=0 - output TIFFS, but no video. If video_pass==1 - only video with no debug
intmin_seq=clt_parameters.imp.cuas_min_seq;// 3; // minimal number of consecutive key frames for the same target
intenough_seq=clt_parameters.imp.cuas_enough_seq;// 5; // minimal number of consecutive key frames for the same target
doubleseq_travel=clt_parameters.imp.cuas_seq_travel;// 3.0; // minimal diagonal of the bounding box that includes sequence to be considered "cuas_enough_seq". Filtering out atmospheric fluctuations
publicbooleancuas_isolated=true;// remove targets that do not have neighbors before/after
publicintcuas_min_seq=3;// minimal number of consecutive key frames for the same target
publicintcuas_enough_seq=5;// number of consecutive key frames considered good regardless of individual scores (maybe add minimal travel in pixels)?
publicdoublecuas_seq_travel=3.0;// minimal diagonal of the bounding box that includes sequence to be considered "cuas_enough_seq". Filtering out atmospheric fluctuations
publicintcuas_min_seq_fl=2;// minimal number of consecutive key frames for the same target that includes first or last key frame
// public boolean cuas_remove_2seq = true; // Remove 2-long target sequences consisting of 2 consecutive key frames
// public boolean cuas_remove_2seq_all=true; // Remove 2-long first/last target sequences
...
...
@@ -836,6 +837,8 @@ min_str_neib_fpn 0.35
publicbooleancuas_save_mono=true;// save 32-bit monochrome target+backgrounds Tiffs (before optional scaling)
publicbooleancuas_save_color=true;// save color rendered images (same as videos)
publicbooleancuas_save_video=true;// save color rendered images (same as videos)
publicbooleancuas_clean_video=true;// save video without any debug information for targets, output in TIFF files. False - same output for video and TIFFs
publicbooleancuas_annotate=true;// save color rendered images (same as videos)
publicbooleancuas_annotate_uas=true;// indicate uas from log if available
...
...
@@ -2442,6 +2445,9 @@ min_str_neib_fpn 0.35
"Minimal number of consecutive key frames for the target to be detected.");