Changeset 1a8c11c in sasmodels


Ignore:
Timestamp:
Jul 19, 2018 9:56:00 AM (6 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
58a34f1
Parents:
4341dd4
Message:

fix handling of 1D data mask when no mask specified

Location:
sasmodels
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/data.py

    r65fbf7c r1a8c11c  
    503503            # Note: masks merge, so any masked theory points will stay masked, 
    504504            # and the data mask will be added to it. 
    505             mtheory = masked_array(theory, data.mask.copy()) 
     505            #mtheory = masked_array(theory, data.mask.copy()) 
     506            theory_x = data.x[~data.mask] 
     507            mtheory = masked_array(theory) 
    506508            mtheory[~np.isfinite(mtheory)] = masked 
    507509            if view is 'log': 
    508510                mtheory[mtheory <= 0] = masked 
    509             plt.plot(data.x, scale*mtheory, '-') 
     511            plt.plot(theory_x, scale*mtheory, '-') 
    510512            all_positive = all_positive and (mtheory > 0).all() 
    511513            some_present = some_present or (mtheory.count() > 0) 
     
    543545 
    544546    if use_resid: 
    545         mresid = masked_array(resid, data.mask.copy()) 
     547        theory_x = data.x[~data.mask] 
     548        mresid = masked_array(resid) 
    546549        mresid[~np.isfinite(mresid)] = masked 
    547550        some_present = (mresid.count() > 0) 
     
    549552        if num_plots > 1: 
    550553            plt.subplot(1, num_plots, use_calc + 2) 
    551         plt.plot(data.x, mresid, '.') 
     554        plt.plot(theory_x, mresid, '.') 
    552555        plt.xlabel("$q$/A$^{-1}$") 
    553556        plt.ylabel('residuals') 
  • sasmodels/direct_model.py

    rb9c19aa2 r1a8c11c  
    250250            qmax = getattr(data, 'qmax', np.inf) 
    251251            accuracy = getattr(data, 'accuracy', 'Low') 
    252             index = ~data.mask & (q >= qmin) & (q <= qmax) 
     252            index = (data.mask == 0) & (q >= qmin) & (q <= qmax) 
    253253            if data.data is not None: 
    254254                index &= ~np.isnan(data.data) 
     
    265265            mask = getattr(data, 'mask', None) 
    266266            if mask is not None: 
    267                 index &= ~mask 
     267                index &= (mask == 0) 
    268268            if data.y is not None: 
    269269                index &= ~np.isnan(data.y) 
Note: See TracChangeset for help on using the changeset viewer.