# -*- coding: utf-8 -*-
#
-# Copyright (C) 2008-2010 Alberto Gomez-Casado
+# Copyright (C) 2008-2011 Alberto Gomez-Casado
# Fabrizio Benedetti
# Massimo Sandal <devicerandom@gmail.com>
# W. Trevor King <wking@drexel.edu>
>>> info['Kuhn length (m)'] = 2*a
>>> model = FJC(d_data, info=info, rescale=True)
- >>> L = model.fit(outqueue=outqueue)
+ >>> L, = model.fit(outqueue=outqueue)
>>> fit_info = outqueue.get(block=False)
>>> print L # doctest: +ELLIPSIS
3.199...e-08
def fit(self, *args, **kwargs):
params = super(FJC, self).fit(*args, **kwargs)
- if is_iterable(params):
- params[0] = self.L(params[0]) # convert Lp -> L
+ params[0] = self.L(params[0]) # convert Lp -> L
+ if len(params) > 1:
params[1] = abs(params[1]) # take the absolute value of `a`
- else: # params is a float
- params = self.L(params) # convert Lp -> L
return params
def guess_initial_params(self, outqueue=None):
>>> info['Kuhn length (m)'] = 2*kwargs['a']
>>> model = FJC_PEG(d_data, info=info, rescale=True)
- >>> N = model.fit(outqueue=outqueue)
+ >>> N, = model.fit(outqueue=outqueue)
>>> fit_info = outqueue.get(block=False)
>>> print N # doctest: +ELLIPSIS
96.931...
def fit(self, *args, **kwargs):
params = super(FJC_PEG, self).fit(*args, **kwargs)
- if is_iterable(params):
- params[0] = self.L(params[0]) # convert Nr -> N
+ params[0] = self.L(params[0]) # convert Nr -> N
+ if len(params) > 1:
params[1] = abs(params[1]) # take the absolute value of `a`
- else: # params is a float
- params = self.L(params) # convert Nr -> N
return params
def guess_initial_params(self, outqueue=None):
>>> info['persistence length (m)'] = 2*p
>>> model = WLC(d_data, info=info, rescale=True)
- >>> L = model.fit(outqueue=outqueue)
+ >>> L, = model.fit(outqueue=outqueue)
>>> fit_info = outqueue.get(block=False)
>>> print L # doctest: +ELLIPSIS
3.318...e-08
def fit(self, *args, **kwargs):
params = super(WLC, self).fit(*args, **kwargs)
- if is_iterable(params):
- params[0] = self.L(params[0]) # convert Lp -> L
+ params[0] = self.L(params[0]) # convert Lp -> L
+ if len(params) > 1:
params[1] = abs(params[1]) # take the absolute value of `p`
- else: # params is a float
- params = self.L(params) # convert Lp -> L
return params
def guess_initial_params(self, outqueue=None):
help=self.__doc__, plugin=plugin)
def _run(self, hooke, inqueue, outqueue, params):
- params = self.__setup_params(hooke, params)
+ params = self._setup_params(hooke, params)
data = self._block(hooke, params)
model = params['polymer model']
dist_data = self._get_column(
column_name='output tension column',
values=tension_data)
- def __setup_params(self, hooke, params):
+ def _setup_params(self, hooke, params):
for key,value in params.items():
if value == None: # Use configured default value.
params[key] = self.plugin.config[key]
queue = Queue()
params = model.fit(outqueue=queue)
if True: # TODO: if Kuhn length fixed
- params = [params]
a = info['Kuhn length (m)']
else:
a = params[1]
queue = Queue()
params = model.fit(outqueue=queue)
if True: # TODO: if Kuhn length fixed
- params = [params]
a = info['Kuhn length (m)']
else:
a = params[1]
queue = Queue()
params = model.fit(outqueue=queue)
if True: # TODO: if persistence length fixed
- params = [params]
p = info['persistence length (m)']
else:
p = params[1]
def _run(self, hooke, inqueue, outqueue, params):
data = self._block(hooke, params)
- fit_command = [c for c in hooke.commands
- if c.name=='polymer fit'][0]
+ fit_command = hooke.command_by_name['polymer fit']
inq = Queue()
outq = Queue()
curve = params['curve']