Changeset 3c56da87 in sasmodels for sasmodels/core.py


Ignore:
Timestamp:
Mar 5, 2015 12:55:38 AM (9 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
3a45c2c
Parents:
b89f519
Message:

lint cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/core.py

    r9890053 r3c56da87  
    1212try: 
    1313    from .kernelcl import load_model as load_model_cl 
    14 except Exception,exc: 
     14except: 
     15    # pylint: disable=invalid-name 
    1516    load_model_cl = None 
    1617from .kerneldll import load_model as load_model_dll 
     
    3132    Return a computation kernel from the model definition and the q input. 
    3233    """ 
    33     input = model.make_input(q_vectors) 
    34     return model(input) 
     34    model_input = model.make_input(q_vectors) 
     35    return model(model_input) 
    3536 
    36 def get_weights(kernel, pars, name): 
     37def get_weights(info, pars, name): 
    3738    """ 
    3839    Generate the distribution for parameter *name* given the parameter values 
     
    4142    Searches for "name", "name_pd", "name_pd_type", "name_pd_n", "name_pd_sigma" 
    4243    """ 
    43     relative = name in kernel.info['partype']['pd-rel'] 
    44     limits = kernel.info['limits'] 
     44    relative = name in info['partype']['pd-rel'] 
     45    limits = info['limits'] 
    4546    disperser = pars.get(name+'_pd_type', 'gaussian') 
    46     value = pars.get(name, kernel.info['defaults'][name]) 
     47    value = pars.get(name, info['defaults'][name]) 
    4748    npts = pars.get(name+'_pd_n', 0) 
    4849    width = pars.get(name+'_pd', 0.0) 
    4950    nsigma = pars.get(name+'_pd_nsigma', 3.0) 
    50     v,w = weights.get_weights( 
     51    value,weight = weights.get_weights( 
    5152        disperser, npts, width, nsigma, 
    5253        value, limits[name], relative) 
    53     return v,w/np.sum(w) 
     54    return value,weight/np.sum(weight) 
    5455 
    5556def dispersion_mesh(pars): 
     
    6162    parameter set in the vector. 
    6263    """ 
    63     values, weights = zip(*pars) 
    64     if len(values) > 1: 
    65         values = [v.flatten() for v in np.meshgrid(*values)] 
    66         weights = np.vstack([v.flatten() for v in np.meshgrid(*weights)]) 
    67         weights = np.prod(weights, axis=0) 
    68     return values, weights 
     64    value, weight = zip(*pars) 
     65    if len(value) > 1: 
     66        value = [v.flatten() for v in np.meshgrid(*value)] 
     67        weight = np.vstack([v.flatten() for v in np.meshgrid(*weight)]) 
     68        weight = np.prod(weight, axis=0) 
     69    return value, weight 
    6970 
    7071def call_kernel(kernel, pars, cutoff=1e-5): 
    7172    fixed_pars = [pars.get(name, kernel.info['defaults'][name]) 
    7273                  for name in kernel.fixed_pars] 
    73     pd_pars = [get_weights(kernel, pars, name) for name in kernel.pd_pars] 
     74    pd_pars = [get_weights(kernel.info, pars, name) for name in kernel.pd_pars] 
    7475    return kernel(fixed_pars, pd_pars, cutoff=cutoff) 
    7576 
    76 def call_ER(kernel, pars): 
    77     ER = kernel.info.get('ER', None) 
     77def call_ER(info, pars): 
     78    ER = info.get('ER', None) 
    7879    if ER is None: 
    7980        return 1.0 
    8081    else: 
    81         vol_pars = [get_weights(kernel, pars, name) 
    82                     for name in kernel.info['partype']['volume']] 
    83         values, weights = dispersion_mesh(vol_pars) 
    84         fv = ER(*values) 
     82        vol_pars = [get_weights(info, pars, name) 
     83                    for name in info['partype']['volume']] 
     84        value, weight = dispersion_mesh(vol_pars) 
     85        individual_radii = ER(*value) 
    8586        #print values[0].shape, weights.shape, fv.shape 
    86         return np.sum(weights*fv) / np.sum(weights) 
     87        return np.sum(weight*individual_radii) / np.sum(weight) 
    8788 
    88 def call_VR(kernel, pars): 
    89     VR = kernel.info.get('VR', None) 
     89def call_VR(info, pars): 
     90    VR = info.get('VR', None) 
    9091    if VR is None: 
    9192        return 1.0 
    9293    else: 
    93         vol_pars = [get_weights(kernel, pars, name) 
    94                     for name in kernel.info['partype']['volume']] 
    95         values, weights = dispersion_mesh(vol_pars) 
    96         whole,part = VR(*values) 
    97         return np.sum(weights*part)/np.sum(weights*whole) 
     94        vol_pars = [get_weights(info, pars, name) 
     95                    for name in info['partype']['volume']] 
     96        value, weight = dispersion_mesh(vol_pars) 
     97        whole,part = VR(*value) 
     98        return np.sum(weight*part)/np.sum(weight*whole) 
    9899 
Note: See TracChangeset for help on using the changeset viewer.