Changes in / [a006b63:ea7ffce] in sasmodels


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • example/sesansfit.py

    r0ac3db5 re806077  
    66 
    77 
    8 if True: # fix when data loader exists 
    9 #    from sas.dataloader.readers\ 
    10     from sas.dataloader.loader import Loader 
    11     loader=Loader() 
    12     data=loader.load('testsasview1.ses') 
    13      
    14 #    data = load_sesans('mydatfile.pz') 
    15 #    sans_data = load_sans('mysansfile.xml') 
    16  
     8radius = 1000 
     9if False: # fix when data loader exists 
     10    from sasmodels.dataloader import load_sesans, load_sans 
     11    data = load_sesans('mydatfile.pz') 
     12    sans_data = load_sans('mysansfile.xml') 
    1713else: 
    1814    SElength = np.linspace(0, 2400, 61) # [A] 
     
    2016    err_data = np.ones_like(SElength)*0.03 
    2117 
    22     class SESANSData1D: 
     18    class SesansData: 
    2319        #q_zmax = 0.23 # [A^-1] 
    24         zacceptance = 0.1 # [A^-1] 
    25         lam = 2e-10 # [m] 
     20        q_zmax = 0.1 # [A^-1] 
     21        SElength = np.linspace(0, 2400, 61) # [A] 
     22        Rmax = 3*radius # [A] 
     23        wavelength = 2e-10 # [m] 
    2624        thickness = 0.2 # [cm] 
    27         x = SElength 
    28         y = data 
    29         dy = err_data 
     25        SElength = SElength 
     26        data = data 
     27        err_data = err_data 
    3028    data = SesansData() 
    31 print dir(data) 
    32  
    33 radius = 1000 
    34 data.Rmax = 3*radius # [A] 
    3529 
    3630phi = Parameter(0.1, name="phi") 
  • sasmodels/bumps_model.py

    r0ac3db5 rc97724e  
    217217def _plot_sesans(data, theory, view): 
    218218    import matplotlib.pyplot as plt 
    219     resid = (theory - data.y)/data.dy 
     219    resid = (theory - data.data)/data.err_data 
    220220    plt.subplot(121) 
    221     plt.errorbar(data.x, data.y, yerr=data.dy) 
    222     plt.plot(data.x, theory, '-', hold=True) 
     221    plt.errorbar(data.SElength, data.data, yerr=data.err_data) 
     222    plt.plot(data.SElength, theory, '-', hold=True) 
    223223    plt.xlabel('spin echo length (A)') 
    224224    plt.ylabel('polarization') 
    225225    plt.subplot(122) 
    226     plt.plot(data.x, resid, 'x') 
     226    plt.plot(data.SElength, resid, 'x') 
    227227    plt.xlabel('spin echo length (A)') 
    228228    plt.ylabel('residuals') 
     
    267267        self.model = model 
    268268        self.cutoff = cutoff 
    269 # TODO       if  isinstance(data,SESANSData1D)         
    270         if hasattr(data, 'lam'): 
     269        if hasattr(data, 'SElength'): 
    271270            self.data_type = 'sesans' 
    272271        elif hasattr(data, 'qx_data'): 
     
    279278        # interpret data 
    280279        if self.data_type == 'sesans': 
    281             q = sesans.make_q(data.sample.zacceptance, data.Rmax) 
     280            q = sesans.make_q(data.q_zmax, data.Rmax) 
    282281            self.index = slice(None,None) 
    283             self.iq = data.y 
    284             self.diq = data.dy 
     282            self.iq = data.data 
     283            self.diq = data.err_data 
    285284            self._theory = np.zeros_like(q) 
    286285            q_vectors = [q] 
     
    354353            #self._theory[:] = self._fn.eval(pars, pd_pars) 
    355354            if self.data_type == 'sesans': 
    356                 P = sesans.hankel(self.data.x, self.data.lam, 
    357                                   self.data.sample.thickness/10, self._fn_inputs[0], 
     355                P = sesans.hankel(self.data.SElength, self.data.wavelength, 
     356                                  self.data.thickness, self._fn_inputs[0], 
    358357                                  self._theory) 
    359358                self._cache['theory'] = P 
     
    402401            self.data.data[self.index] = y 
    403402        elif self.data_type == 'sesans': 
    404             self.data.y[self.index] = y 
     403            self.data.data[self.index] = y 
    405404        else: 
    406405            raise ValueError("Unknown model") 
Note: See TracChangeset for help on using the changeset viewer.