gd.addNumericField("Minimal correlation",min_corr,5,7,"","Minimal correlation value to keep.");
gd.addNumericField("Minimal relative full correlation",min_corr_full_rel,5,7,"","Minimal relative correlation value with full circular pattern to keep.");
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",combine_full,"Multiply by normalized full pattern correlation maximum.");
gd.addNumericField("Adversarial distance",adv_radius,1,6,"pix","Suppress weaker if they have closer strong ones.");
gd.addNumericField("Correlation peak max radius",corr_radius,0,4,"pix","Limit correlation peak radius. Should be <= adversarial");
gd.addNumericField("Correlation size",corr_size,0,4,"pix","Should be power of 2.");
gd.addNumericField("Minimal relative full correlation",min_corr_full_rel,5,7,"","Minimal relative correlation value with full circular pattern to keep.");
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",combine_full,"Multiply by normalized full pattern correlation maximum.");
gd.addNumericField("Correlation size",corr_size,0,4,"pix","Should be power of 2.");
gd.addNumericField("Adversarial distance",adv_radius,1,6,"pix","Suppress weaker if they have closer strong ones.");