use of uk.ac.sussex.gdsc.smlm.results.filter.AndFilter in project GDSC-SMLM by aherbert.
the class CreateFilters method logDemoFilters.
private void logDemoFilters() {
comment(TITLE + " example template filters");
IJ.log("");
comment("Filters are described using XML");
comment("Filter attibutes that take the form 'min:max:increment' will be enumerated");
comment("Note: This example is a subset. All filters are described in the user manual");
IJ.log("");
comment("Single filters");
IJ.log("");
demo(new SnrFilter(10), "10:20:1");
demo(new PrecisionFilter(30), "30:50:2");
IJ.log("");
comment("Combined filters");
IJ.log("");
demo(new AndFilter(new SnrFilter(10), new WidthFilter(2)), "10:20:1", "1.5:2.5:0.2");
demo(new OrFilter(new PrecisionFilter(30), new AndFilter(new SnrFilter(10), new WidthFilter(2))), "30:40:2", "10:20:1", "1.5:2.5:0.2");
IJ.log("");
}
use of uk.ac.sussex.gdsc.smlm.results.filter.AndFilter in project GDSC-SMLM by aherbert.
the class FreeFilterResults method logDemoFilters.
private static void logDemoFilters(String title) {
comment(title + " example filters");
IJ.log("");
comment("Filters are described using XML");
comment("Multiple filters can be combined using AND/OR filters");
IJ.log("");
comment("Single filters");
IJ.log("");
demo(new WidthFilter(2));
demo(new WidthFilter2(0.7, 2));
demo(new XyWidthFilter(2));
demo(new XyWidthFilter2(0.7, 2));
demo(new SbrFilter(15));
demo(new ShiftFilter(0.7));
demo(new EShiftFilter(0.8));
demo(new SignalFilter(1000));
demo(new SnrFilter(10));
demo(new AnrFilter(11));
demo(new PrecisionFilter(30));
demo(new PrecisionFilter2(30));
demo(new SnrHysteresisFilter(50, 1, 2, 1, 10, 20));
demo(new PrecisionHysteresisFilter(2, 0, 1, 0, 20, 30));
demo(new TraceFilter(0.5, 1));
demo(new CoordinateFilter(15.5f, 234.5f, 80.99f, 133f));
demo(new MultiFilter(30, 45f, 0.7, 1.5, 0.5, 0.6, 45, -10, 10));
demo(new MultiFilter2(30, 45f, 0.7, 1.5, 0.5, 0.6, 45, -10, 10));
demo(new MultiHysteresisFilter(2, 0, 1, 0, 20, 10, 40f, 20f, 0.8, 0.2, 1.2, 0.4, 0.3, 0.8, 20, 30));
demo(new MultiHysteresisFilter2(2, 0, 2, 1, 20, 10, 40f, 20f, 0.8, 0.2, 1.2, 0.4, 0.3, 0.8, 20, 30));
comment("Combined filters");
IJ.log("");
demo(new AndFilter(new SnrFilter(10), new WidthFilter(2)));
demo(new OrFilter(new SnrFilter(10), new PrecisionFilter(30)));
demo(new OrFilter(new AndFilter(new SnrFilter(10), new PrecisionFilter(30)), new TraceFilter(0.5, 1)));
}
use of uk.ac.sussex.gdsc.smlm.results.filter.AndFilter in project GDSC-SMLM by aherbert.
the class FilterAnalysis method addSnrFilters.
private void addSnrFilters(List<FilterSet> filterSets) {
if (!settings.snrFilter) {
return;
}
for (double w = settings.minWidth; w <= settings.maxWidth; w += settings.incWidth) {
final WidthFilter wf = new WidthFilter((float) w);
final List<Filter> filters = new LinkedList<>();
for (int snr = settings.minSnr; snr <= settings.maxSnr; snr++) {
filters.add(new AndFilter(wf, new SnrFilter(snr)));
}
filterSets.add(new FilterSet(filters));
}
}
use of uk.ac.sussex.gdsc.smlm.results.filter.AndFilter in project GDSC-SMLM by aherbert.
the class FilterAnalysis method addSnrHysteresisFilters.
private void addSnrHysteresisFilters(List<FilterSet> filterSets) {
if (!settings.hysteresisSnrFilter) {
return;
}
for (double w = settings.minWidth; w <= settings.maxWidth; w += settings.incWidth) {
final WidthFilter wf = new WidthFilter((float) w);
for (int snrGap = settings.minSnrGap; snrGap <= settings.maxSnrGap; snrGap += settings.incSnrGap) {
final List<Filter> filters = new LinkedList<>();
for (int snr = settings.minSnr; snr <= settings.maxSnr; snr++) {
filters.add(new AndFilter(wf, new SnrHysteresisFilter(2, 0, 1, 0, snr, snrGap)));
}
filterSets.add(new FilterSet(filters));
}
}
}
Aggregations