Changeset 445d1c0 in sasmodels for sasmodels/core.py


Ignore:
Timestamp:
Mar 21, 2016 4:08:33 PM (8 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:
88aa3ee
Parents:
a4e2ae5
Message:

restrict polydispersity checks in bumps to 1d parameters for 1d data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/core.py

    r1edf610 r445d1c0  
    222222    """ 
    223223    if mono: 
    224         values = [pars.get(p.name, p.default) for p in kernel.info['parameters']] 
    225         weights = [1.0]*len(values) 
     224        active = set() 
     225    elif kernel.dim == '1d': 
     226        active = set(kernel.info['par_type']['1d']) 
     227    elif kernel.dim == '2d': 
     228        active = set(kernel.info['par_type']['2d']) 
    226229    else: 
    227230        vw_pairs = [get_weights(p, pars) for p in kernel.info['parameters']] 
    228         values, weights = zip(*vw_pairs) 
    229  
    230     #TODO: This is what we thought to do if max([len(w) for w in weights]) > 1: 
    231     print("from") 
    232     import pprint; pprint.pprint(weights) 
    233     print("to") 
     231 
     232    vw_pairs = [(get_weights(p, pars) if p.name in active else ([p.default], [1])) 
     233                for p in kernel.info['parameters']] 
     234    values, weights = zip(*vw_pairs) 
     235 
    234236    if max([len(w) for w in weights]) > 1: 
    235237        details = generate.poly_details(kernel.info, weights) 
Note: See TracChangeset for help on using the changeset viewer.