def __init__(self):
super(FlatFiltPlugin, self).__init__(name='flatfilt')
self._arguments = [ # For Command initialization
- Argument('median filter', type='int', default=7, help="""
+ Argument('median window', type='int', default=7, help="""
Median window filter size (in points).
""".strip()),
Argument('blind window', type='float', default=20e-9, help="""
if value == None: # Use configured default value.
params[key] = self.plugin.config[key]
# TODO: better option parser to do this automatically by Argument.type
- for key in ['max cut', 'min deviations', 'min points', 'see double', 'stable']:
+ for key in ['blind window', 'median window', 'max cut', 'min deviations', 'min points', 'see double', 'stable']:
params[key] = float(params[key])
# TODO: convert 'see double' from nm to points
return z_data,d_data,params
def filter(self, curve, hooke, inqueue, outqueue, params):
inq = Queue()
outq = Queue()
- conv_command = [c for c in hooke.commands
+ filt_command = [c for c in hooke.commands
if c.name=='flat filter peaks'][0]
- conv_command.run(hooke, inq, outq, **params)
+ filt_command.run(hooke, inq, outq, **params)
peaks = outq.get()
if not (isinstance(peaks, list) and (len(peaks) == 0
or isinstance(peaks[0], Peak))):
ret = outq.get()
if not isinstance(ret, Success):
raise ret
- return len(peaks) >= params['min peaks']
+ return len(peaks) >= int(params['min peaks'])
data.info['columns'].extend(['surface z piezo (m)', 'deflection (N)'])
z_data = data[:,data.info['columns'].index('z piezo (m)')]
d_data = data[:,data.info['columns'].index('deflection (m)')]
- surface_offset = 0 # TODO
+ surface_offset = min(z_data) # TODO
data.info['surface offset (m)'] = surface_offset
data[:,-2] = z_data - surface_offset
data[:,-1] = d_data * data.info['spring constant (N/m)']