X-Git-Url: http://git.tremily.us/?p=hooke.git;a=blobdiff_plain;f=hooke%2Fplugin%2Fflatfilt.py;h=21665fecbc3e6412829deffdd39a123df69209f7;hp=2688bba32dff41b1b531463304de47188197d414;hb=07189adf9b2bea4d5ead900693972ebc2dc631e1;hpb=caed53651737331ad30de45a9342ca7947e47a3d diff --git a/hooke/plugin/flatfilt.py b/hooke/plugin/flatfilt.py index 2688bba..21665fe 100644 --- a/hooke/plugin/flatfilt.py +++ b/hooke/plugin/flatfilt.py @@ -21,7 +21,7 @@ # License along with Hooke. If not, see # . -"""The ``flatfilt`` module provides :class:`~FlatFiltPlugin` and +"""The ``flatfilt`` module provides :class:`FlatFiltPlugin` and several associated :class:`~hooke.command.Command`\s for removing flat (featureless) :mod:`~hooke.curve.Curve`\s from :class:`~hooke.playlist.Playlist`\s. @@ -42,13 +42,13 @@ from ..command import Argument, Success, Failure, UncaughtException from ..config import Setting from ..curve import Data from ..experiment import VelocityClamp -from ..plugin import Plugin, argument_to_setting -from ..plugin.curve import ColumnAddingCommand -from ..plugin.playlist import FilterCommand from ..util.fit import PoorFit from ..util.peak import (find_peaks, peaks_to_mask, find_peaks_arguments, Peak, _kwargs) from ..util.si import join_data_label, split_data_label +from . import Plugin, argument_to_setting +from .curve import ColumnAddingCommand +from .playlist import FilterCommand class FlatFiltPlugin (Plugin): @@ -131,20 +131,20 @@ Name of the column to use as the deflection input. new_columns=[ ('output peak column', 'flat filter peaks', """ Name of the column (without units) to use as the peak output. -""".split()), +""".strip()), ], arguments=[ Argument(name='peak info name', type='string', default='flat filter peaks', help=""" -Name (without units) for storing the list of peaks in the `.info` -dictionary. +Name for storing the list of peaks in the `.info` dictionary. """.strip()), ] + plugin_arguments, help=self.__doc__, plugin=plugin) def _run(self, hooke, inqueue, outqueue, params): - params = self.__setup_params(hooke=hooke, params=params) + self._add_to_command_stack(params) + params = self._setup_params(hooke=hooke, params=params) block = self._block(hooke=hooke, params=params) dist_data = self._get_column(hooke=hooke, params=params, column_name='distance column') @@ -165,12 +165,12 @@ dictionary. values=peaks_to_mask(def_data, peaks) * def_data) outqueue.put(peaks) - def __setup_params(self, hooke, params): + def _setup_params(self, hooke, params): """Setup `params` from config and return the z piezo and deflection arrays. """ curve = self._curve(hooke=hooke, params=params) - if curve.info['experiment'] != VelocityClamp: + if not isinstance(curve.info['experiment'], VelocityClamp): raise Failure('%s operates on VelocityClamp experiments, not %s' % (self.name, curve.info['experiment'])) for key,value in params.items(): @@ -181,8 +181,6 @@ dictionary. name,def_unit = split_data_label(params['deflection column']) params['output peak column'] = join_data_label( params['output peak column'], def_unit) - params['peak info name'] = join_data_label( - params['peak info name'], def_unit) return params def _peak_name(self, params, index): @@ -215,10 +213,12 @@ class FlatFilterCommand (FilterCommand): def __init__(self, plugin): flat_peaks = [c for c in plugin._commands if c.name == 'flat filter peaks'][0] - flat_peaks_arg_names = [a.name for a in flat_peaks.arguments] + flat_peaks_arguments = [a for a in flat_peaks.arguments + if a.name not in ['help', 'stack']] + flat_peaks_arg_names = [a.name for a in flat_peaks_arguments] plugin_arguments = [a for a in plugin._arguments if a.name not in flat_peaks_arg_names] - arguments = flat_peaks.arguments + plugin_arguments + arguments = flat_peaks_arguments + plugin_arguments super(FlatFilterCommand, self).__init__( plugin, name='flat filter playlist') self.arguments.extend(arguments)