filt_dist=newdouble[]{5.0,2.5};// full offset and perpendicular to images offsets
filt_roundness[0]=0.55;// 0.6;214-213_1694565491_890936-1694565488_589836 is 0.589
filt_best[0]=0.0064;// tune
filt_other_frac=newdouble[]{0.75,0.68};// no pixels around max at filt_other_rad should be higher than this fraction of max
// adv_radius = 20; // pix?
}
// adv_radius = 20; // pix?
}
//++++++++++++++++++++++++++++ show altitude mode +++++++++++++++++++++++
GenericJTabbedDialoggd=newGenericJTabbedDialog("Correlate "+((indices.length==1)?"one image":"two images")+" with patterns, altitude "+alt_mode,1200,1100);
gd.addTab("General","General parameters");
...
...
@@ -2059,6 +2083,7 @@ public class OrthoMapsCollection implements Serializable{
gd.addNumericField("Low-pass sigma main",lpf_sigma[0],3,7,"","Low-pass sigma for phase correlation. 0 - no filtering, 0.25 - 4 pix.");
gd.addNumericField("Low-pass sigma other",lpf_sigma[1],3,7,"","Low-pass sigma for phase correlation. 0 - no filtering, 0.25 - 4 pix.");
gd.addNumericField("Minimal relative full correlation",min_corr_full_rel,5,7,"","Minimal relative correlation value with full circular pattern to keep.");
gd.addNumericField("Minimal relative half correlation",min_corr_half_rel,5,7,"","Increase correlation threshold for partial patterns relative to min_corrs.");
gd.addNumericField("Prefer full pattern",full_preference,3,7,"","Prefer full pattern to partial; scale by this value.");
gd.addNumericField("Max/min halves ratio",max_min_ratio,3,7,"","Ratio of halves best/worst to use half-pattern.");
gd.addCheckbox("Combine with full pattern, main",combine_full[0],"Multiply by normalized full pattern correlation maximum.");
...
...
@@ -2107,6 +2132,7 @@ public class OrthoMapsCollection implements Serializable{
gd.addNumericField("Full/half corr minimal ratio, main",filt_full_half_frac[0],5,7,"","Minimal correlation with full pattern strength ratio to correlation with a half-pattern.");
gd.addNumericField("Full/half corr minimal ratio, other",filt_full_half_frac[1],5,7,"","Minimal correlation with full pattern strength ratio to correlation with a half-pattern.");
gd.addNumericField("Minimal roundness of round, main",filt_roundness[0],5,7,"","Minimal ratio of worst half-pattern correlation to the full-pattern ones. Only for full patterns.");
gd.addNumericField("Minimal best corr , main",filt_best[0],5,7,"","Minimal best correlation for all patterns, even if selected is a full one.");
gd.addNumericField("Minimal absolute contrast",filt_abs_contrast,5,7,"","Minimal absolute difference between center and peripheral areas of the main scene objects.");
gd.addNumericField("Ease absolute contrast for halves",filt_abs_easepart,5,7,"","Ease absolute contast requirements for high AGL (low resolution).");
...
...
@@ -2131,6 +2157,7 @@ public class OrthoMapsCollection implements Serializable{
lpf_sigma[0]=gd.getNextNumber();
lpf_sigma[1]=gd.getNextNumber();
min_corr_full_rel=gd.getNextNumber();
min_corr_half_rel=gd.getNextNumber();
full_preference=gd.getNextNumber();
max_min_ratio=gd.getNextNumber();
combine_full[0]=gd.getNextBoolean();
...
...
@@ -2175,7 +2202,8 @@ public class OrthoMapsCollection implements Serializable{
filt_height=gd.getNextNumber();
filt_full_half_frac[0]=gd.getNextNumber();
filt_full_half_frac[1]=gd.getNextNumber();
filt_roundness[0]=gd.getNextNumber();
filt_roundness[0]=gd.getNextNumber();
filt_best[0]=gd.getNextNumber();
filt_abs_contrast=gd.getNextNumber();
filt_abs_easepart=gd.getNextNumber();
...
...
@@ -2196,6 +2224,7 @@ public class OrthoMapsCollection implements Serializable{
phaseCoeff,// double [] phaseCoeff
lpf_sigma,//double [] lpf_sigma, // one per, lpf_sigma
min_corr_full_rel,// double min_corr_full_rel,
min_corr_half_rel,// double min_corr_half_rel,
full_preference,// double full_preference,
max_min_ratio,// double max_min_ratio,
combine_full,// boolean[] combine_full,
...
...
@@ -2225,6 +2254,7 @@ public class OrthoMapsCollection implements Serializable{