Changeset f72333f in sasview for sansview/perspectives/fitting/model_thread.py
- Timestamp:
- May 10, 2010 4:50:05 PM (14 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 4fbc93e
- Parents:
- 2d409fa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/model_thread.py
r51a71a3 rf72333f 3 3 import sys 4 4 import numpy,math 5 5 from DataLoader.smearing_2d import Smearer2D 6 import fitpage 6 7 class Calc2D(CalcThread): 7 8 """ … … 12 13 """ 13 14 14 def __init__(self, x, y, data,model, qmin, qmax,qstep,15 def __init__(self, x, y, data,model,smearer,qmin, qmax,qstep, 15 16 completefn = None, 16 17 updatefn = None, … … 31 32 # the model on to calculate 32 33 self.model = model 34 self.smearer = smearer#(data=self.data,model=self.model) 33 35 self.starttime = 0 34 36 … … 51 53 self.qx_data = self.data.qx_data 52 54 self.qy_data = self.data.qy_data 55 self.dqx_data = self.data.dqx_data 56 self.dqy_data = self.data.dqy_data 53 57 self.mask = self.data.mask 54 58 else: … … 86 90 # Only qmin value will be consider for the detector 87 91 index_model = index_data 88 89 value = self.model.evalDistribution([self.qx_data[index_model],self.qy_data[index_model]] ) 92 93 if self.smearer != None: 94 # Set smearer w/ data, model and index. 95 fn = self.smearer 96 fn.set_model(self.model) 97 fn.set_index(index_model) 98 # Get necessary data from self.data and set the data for smearing 99 fn.get_data() 100 # Calculate smeared Intensity (by Gaussian averaging): DataLoader/smearing2d/Smearer2D() 101 value = fn.get_value() 102 103 else: 104 # calculation w/o smearing 105 value = self.model.evalDistribution([self.qx_data[index_model],self.qy_data[index_model]]) 90 106 91 107 output = numpy.zeros(len(self.qx_data)) 92 108 93 109 # output default is None 94 # This method is to distinguish between masked point and data point = 0.110 # This method is to distinguish between masked point(nan) and data point = 0. 95 111 output = output/output 96 112 # set value for self.mask==True, else still None to Plottools 97 113 output[index_model] = value 114 98 115 elapsed = time.time()-self.starttime 99 116 self.complete( image = output, … … 101 118 model = self.model, 102 119 elapsed = elapsed, 120 index = index_model, 103 121 qmin = self.qmin, 104 122 qmax = self.qmax, 105 123 qstep = self.qstep ) 106 124 107 108 109 125 110 126 class Calc1D(CalcThread): … … 153 169 154 170 self.complete(x= self.x[index], y= output[index], 155 elapsed=elapsed, model= self.model, data=self.data) 156 157 171 elapsed=elapsed,index=index, model= self.model, data=self.data) 172 173 174 def results(self): 175 """ 176 Send resuts of the computation 177 """ 178 return [self.out, self.index] 158 179 159 180 class CalcCommandline:
Note: See TracChangeset
for help on using the changeset viewer.