X-Git-Url: http://git.tremily.us/?p=hooke.git;a=blobdiff_plain;f=hooke%2Fplugin%2Fflatfilt.py;h=716a4be7f61df45684d554e2915a1519d6664e7f;hp=1637ce3f6ed12f139e41d2316921f56b05b3dca1;hb=bbf2b7eb99e94cf82de4c4160c9fdf8702cd1ba4;hpb=65225fe0dd6dc6896f767a7598a47be3854aa2dc diff --git a/hooke/plugin/flatfilt.py b/hooke/plugin/flatfilt.py index 1637ce3..716a4be 100644 --- a/hooke/plugin/flatfilt.py +++ b/hooke/plugin/flatfilt.py @@ -38,13 +38,14 @@ from multiprocessing import Queue from numpy import diff from scipy.signal.signaltools import medfilt -from ..command import Command, Argument, Success, Failure +from ..command import Command, Argument, Success, Failure, UncaughtException from ..config import Setting from ..experiment import VelocityClamp from ..plugin import Plugin, argument_to_setting from ..plugin.curve import CurveArgument from ..plugin.playlist import FilterCommand from ..plugin.vclamp import scale +from ..util.fit import PoorFit from ..util.peak import find_peaks, find_peaks_arguments, Peak, _kwargs @@ -204,6 +205,9 @@ class FlatFilterCommand (FilterCommand): if c.name=='flat filter peaks'][0] filt_command.run(hooke, inq, outq, **params) peaks = outq.get() + if isinstance(peaks, UncaughtException) \ + and isinstance(peaks.exception, PoorFit): + return False if not (isinstance(peaks, list) and (len(peaks) == 0 or isinstance(peaks[0], Peak))): raise Failure('Expected a list of Peaks, not %s' % peaks)