Search in sources :

Example 1 with MultiFilter

use of gdsc.smlm.results.filter.MultiFilter in project GDSC-SMLM by aherbert.

the class FitConfiguration method getDefaultSmartFilter.

/**
	 * This returns the representation of this object as a smart filter. This ignores any current smart filter and
	 * only uses the standard filtering settings.
	 * 
	 * @return the smart filter if using this object as a smart filter.
	 */
public DirectFilter getDefaultSmartFilter() {
    double signal = getMinPhotons();
    float snr = (float) getSignalStrength();
    double minWidth = getMinWidthFactor();
    double maxWidth = getWidthFactor();
    double shift = getCoordinateShiftFactor();
    double eshift = 0;
    double precision = getPrecisionThreshold();
    DirectFilter f = (isPrecisionUsingBackground()) ? new MultiFilter2(signal, snr, minWidth, maxWidth, shift, eshift, precision) : new MultiFilter(signal, snr, minWidth, maxWidth, shift, eshift, precision);
    return f;
}
Also used : MultiFilter2(gdsc.smlm.results.filter.MultiFilter2) IDirectFilter(gdsc.smlm.results.filter.IDirectFilter) DirectFilter(gdsc.smlm.results.filter.DirectFilter) MultiFilter(gdsc.smlm.results.filter.MultiFilter)

Example 2 with MultiFilter

use of gdsc.smlm.results.filter.MultiFilter in project GDSC-SMLM by aherbert.

the class FreeFilterResults method logDemoFilters.

public 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 SBRFilter(15));
    demo(new ShiftFilter(0.7));
    demo(new EShiftFilter(0.8));
    demo(new SignalFilter(1000));
    demo(new SNRFilter(10));
    demo(new SNRFilter2(10, 0.7, 2));
    demo(new ANRFilter(11));
    demo(new ANRFilter2(11, 0.75, 1.95));
    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));
    demo(new MultiFilter2(30, 45f, 0.7, 1.5, 0.5, 0.6, 45));
    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)));
}
Also used : PrecisionFilter(gdsc.smlm.results.filter.PrecisionFilter) MultiHysteresisFilter2(gdsc.smlm.results.filter.MultiHysteresisFilter2) OrFilter(gdsc.smlm.results.filter.OrFilter) MultiFilter(gdsc.smlm.results.filter.MultiFilter) WidthFilter(gdsc.smlm.results.filter.WidthFilter) SNRFilter2(gdsc.smlm.results.filter.SNRFilter2) SBRFilter(gdsc.smlm.results.filter.SBRFilter) AndFilter(gdsc.smlm.results.filter.AndFilter) EShiftFilter(gdsc.smlm.results.filter.EShiftFilter) ANRFilter(gdsc.smlm.results.filter.ANRFilter) WidthFilter2(gdsc.smlm.results.filter.WidthFilter2) SNRHysteresisFilter(gdsc.smlm.results.filter.SNRHysteresisFilter) MultiFilter2(gdsc.smlm.results.filter.MultiFilter2) SNRFilter(gdsc.smlm.results.filter.SNRFilter) PrecisionHysteresisFilter(gdsc.smlm.results.filter.PrecisionHysteresisFilter) PrecisionFilter2(gdsc.smlm.results.filter.PrecisionFilter2) TraceFilter(gdsc.smlm.results.filter.TraceFilter) SignalFilter(gdsc.smlm.results.filter.SignalFilter) ANRFilter2(gdsc.smlm.results.filter.ANRFilter2) CoordinateFilter(gdsc.smlm.results.filter.CoordinateFilter) EShiftFilter(gdsc.smlm.results.filter.EShiftFilter) ShiftFilter(gdsc.smlm.results.filter.ShiftFilter) MultiHysteresisFilter(gdsc.smlm.results.filter.MultiHysteresisFilter)

Aggregations

MultiFilter (gdsc.smlm.results.filter.MultiFilter)2 MultiFilter2 (gdsc.smlm.results.filter.MultiFilter2)2 ANRFilter (gdsc.smlm.results.filter.ANRFilter)1 ANRFilter2 (gdsc.smlm.results.filter.ANRFilter2)1 AndFilter (gdsc.smlm.results.filter.AndFilter)1 CoordinateFilter (gdsc.smlm.results.filter.CoordinateFilter)1 DirectFilter (gdsc.smlm.results.filter.DirectFilter)1 EShiftFilter (gdsc.smlm.results.filter.EShiftFilter)1 IDirectFilter (gdsc.smlm.results.filter.IDirectFilter)1 MultiHysteresisFilter (gdsc.smlm.results.filter.MultiHysteresisFilter)1 MultiHysteresisFilter2 (gdsc.smlm.results.filter.MultiHysteresisFilter2)1 OrFilter (gdsc.smlm.results.filter.OrFilter)1 PrecisionFilter (gdsc.smlm.results.filter.PrecisionFilter)1 PrecisionFilter2 (gdsc.smlm.results.filter.PrecisionFilter2)1 PrecisionHysteresisFilter (gdsc.smlm.results.filter.PrecisionHysteresisFilter)1 SBRFilter (gdsc.smlm.results.filter.SBRFilter)1 SNRFilter (gdsc.smlm.results.filter.SNRFilter)1 SNRFilter2 (gdsc.smlm.results.filter.SNRFilter2)1 SNRHysteresisFilter (gdsc.smlm.results.filter.SNRHysteresisFilter)1 ShiftFilter (gdsc.smlm.results.filter.ShiftFilter)1