Commit 8a35a76a authored by Andrey Filippov's avatar Andrey Filippov

Improving terrain view generation

parent 347ad4b0
......@@ -152,6 +152,7 @@ public class CuasRanging {
true, // center_CLT.hasCenterClt(), // boolean mode_cuas,
false, // clt_parameters.imp.um_mono, // boolean um_mono,
clt_parameters.imp.calculate_average, // boolean insert_average, // then add new parameter, keep add average
null, // int [] average_range,
average_channels, // average_slice,
clt_parameters.imp.subtract_average, // boolean subtract_average,
clt_parameters.imp.running_average, // int running_average,
......
......@@ -527,6 +527,9 @@ public class ErsCorrection extends GeometryCorrection {
return scene.getErsATR_d2t();
}
public boolean contains(String timestamp) {
return (scenes_poses.get(timestamp) != null);
}
/**
......
......@@ -1140,7 +1140,10 @@ min_str_neib_fpn 0.35
public double video_bitrate_m = 50; // video bitrate in megabits/sec
public String video_codec_combo = "vp8"; // applies when combining videos
public int video_crf_combo = 40; // lower - better, larger file size applies when combining videos
public boolean add_average = true;
public boolean add_average = true; // calculate and add average of all scenes
public boolean add_center_average = true; // calculate and add average of the center fraction of all scenes
public double center_avg_frac = 0.5; // center fraction of all scenes
public boolean calculate_average = false; // Calculate average from the slices. False - use CLT average if available.
public boolean subtract_average = false;
public int running_average = 0;
......@@ -3292,7 +3295,12 @@ min_str_neib_fpn 0.35
gd.addNumericField("Video CRF for combining", this.video_crf_combo, 0,3,"",
"Quality - the lower the better. 40 - OK. Applies when merging segments.");
gd.addCheckbox ("Insert average slice", this.add_average,
"Insert average slice before scene slices");
"Calculate and insert averaging of all scenes in a sequence as the first slice.");
gd.addCheckbox ("Insert average of the center scenes", this.add_center_average,
"Calculate and insert averaging of the center scenes in a sequence as the second slice slice.");
gd.addNumericField("Center fraction of all scenes", this.center_avg_frac, 5,7,"pix",
"Second average slice of the center scenes. 0.5 means averaging from 25% to 75% af the scene sequence .");
gd.addCheckbox ("Calculate average from slices", this.calculate_average,
"Calculate average slice from other slices. If false - try to use average CLT if available.");
gd.addCheckbox ("Subtract average", this.subtract_average,
......@@ -4544,6 +4552,8 @@ min_str_neib_fpn 0.35
this.video_codec_combo= gd.getNextString();
this.video_crf_combo = (int) gd.getNextNumber();
this.add_average = gd.getNextBoolean();
this.add_center_average = gd.getNextBoolean();
this.center_avg_frac = gd.getNextNumber();
this.calculate_average = gd.getNextBoolean();
this.subtract_average = gd.getNextBoolean();
this.running_average = (int) gd.getNextNumber();
......@@ -5746,6 +5756,8 @@ min_str_neib_fpn 0.35
properties.setProperty(prefix+"video_codec_combo", this.video_codec_combo+""); // String
properties.setProperty(prefix+"video_crf_combo", this.video_crf_combo+""); // int
properties.setProperty(prefix+"add_average", this.add_average+""); // boolean
properties.setProperty(prefix+"add_center_average", this.add_center_average+""); // boolean
properties.setProperty(prefix+"center_avg_frac", this.center_avg_frac+""); // double
properties.setProperty(prefix+"calculate_average", this.calculate_average+""); // boolean
properties.setProperty(prefix+"subtract_average", this.subtract_average+""); // boolean
properties.setProperty(prefix+"running_average", this.running_average+""); // int
......@@ -6942,8 +6954,12 @@ min_str_neib_fpn 0.35
if (properties.getProperty(prefix+"video_codec_combo")!=null) this.video_codec_combo=(String) properties.getProperty(prefix+"video_codec_combo");
if (properties.getProperty(prefix+"video_crf_combo")!=null) this.video_crf_combo=Integer.parseInt(properties.getProperty(prefix+"video_crf_combo"));
if (properties.getProperty(prefix+"add_average")!=null) this.add_average=Boolean.parseBoolean(properties.getProperty(prefix+"add_average"));
if (properties.getProperty(prefix+"add_center_average")!=null) this.add_center_average=Boolean.parseBoolean(properties.getProperty(prefix+"add_center_average"));
if (properties.getProperty(prefix+"center_avg_frac")!=null) this.center_avg_frac=Double.parseDouble(properties.getProperty(prefix+"center_avg_frac"));
if (properties.getProperty(prefix+"calculate_average")!=null) this.calculate_average=Boolean.parseBoolean(properties.getProperty(prefix+"calculate_average"));
//
if (properties.getProperty(prefix+"subtract_average")!=null) this.subtract_average=Boolean.parseBoolean(properties.getProperty(prefix+"subtract_average"));
if (properties.getProperty(prefix+"running_average")!=null) this.running_average=Integer.parseInt(properties.getProperty(prefix+"running_average"));
if (properties.getProperty(prefix+"extract_center_orientation")!=null)this.extract_center_orientation=Boolean.parseBoolean(properties.getProperty(prefix+"extract_center_orientation"));
......@@ -8113,6 +8129,9 @@ min_str_neib_fpn 0.35
imp.video_codec_combo = this.video_codec_combo;
imp.video_crf_combo = this.video_crf_combo;
imp.add_average = this.add_average;
imp.add_center_average = this.add_center_average;
imp.center_avg_frac = this.center_avg_frac;
imp.calculate_average = this.calculate_average;
imp.subtract_average = this.subtract_average;
imp.running_average = this.running_average;
......
......@@ -8620,6 +8620,7 @@ if (debugLevel > -100) return true; // temporarily !
IJ.d2s(0.000000001*(System.nanoTime()-start_time_all),3)+" sec from the overall start\n");
break;
}
// first_in_series = false; // at least once success in this series
System.out.println("adding to video_sets_list start="+start_ref_pointers[0]+", end="+ref_index); // start_ref_pointers[1]);
// if ((video_list != null) && (video_list.length>0) && (video_list[0] == null)) {
......@@ -8634,7 +8635,19 @@ if (debugLevel > -100) return true; // temporarily !
start_ref_pointers[0], // int earliest_scene,
ref_index)); // start_ref_pointers[1])); // int reference_scene);
// testing half-step
if (start_ref_pointers[0] >= (min_num_scenes-1)) {
System.out.println("testing half-step: start_ref_pointers[0]="+start_ref_pointers[0]+
", start_ref_pointers[1]="+start_ref_pointers[1]+", ref_index="+ref_index);
int offset = (start_ref_pointers[1] - start_ref_pointers[0])/2;
start_ref_pointers[0] += offset;
start_ref_pointers[1] += offset;
System.out.println("testing half-step: start_ref_pointers[0]="+start_ref_pointers[0]+
", start_ref_pointers[1]="+start_ref_pointers[1]+", ref_index="+ref_index);
}
String series_action = (start_ref_pointers[0] < (min_num_scenes-1))?"is FINISHED ":("will continue down from scene "+(start_ref_pointers[0]));
System.out.println("\n ----- PROCESSING SCENE SEQUENCE "+nseq+" (last is "+(num_seq-1)+") "+series_action+" in "+
IJ.d2s(0.000000001*(System.nanoTime()-start_time_seq),3)+" sec ("+
IJ.d2s(0.000000001*(System.nanoTime()-start_time_all),3)+" sec from the overall start\n");
......
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