- Timestamp:
- Dec 20, 2016 7:45:00 AM (8 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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 505706a
- Parents:
- d7d0182
- Location:
- src/sas
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/data_util/qsmearing.py
rf8aa738 rd3911e3 41 41 elif data.dqx_data == None or data.dqy_data == None: 42 42 return None 43 return P inhole2D(data)43 return PySmear2D(data, model) 44 44 45 45 if not hasattr(data, "dx") and not hasattr(data, "dxl")\ … … 142 142 width = data.dx if data.dx is not None else 0 143 143 return PySmear(Pinhole1D(q, width), model) 144 145 146 class PySmear2D(object): 147 """ 148 Q smearing class for SAS 2d pinhole data 149 """ 150 151 def __init__(self, data=None, model=None): 152 self.data = data 153 self.model = model 154 self.accuracy = 'Low' 155 self.limit = 3.0 156 self.index = None 157 self.coords = 'polar' 158 self.smearer = True 159 160 def set_accuracy(self, accuracy='Low'): 161 """ 162 Set accuracy. 163 164 :param accuracy: string 165 """ 166 self.accuracy = accuracy 167 168 def set_smearer(self, smearer=True): 169 """ 170 Set whether or not smearer will be used 171 172 :param smearer: smear object 173 174 """ 175 self.smearer = smearer 176 177 def set_data(self, data=None): 178 """ 179 Set data. 180 181 :param data: DataLoader.Data_info type 182 """ 183 self.data = data 184 185 def set_model(self, model=None): 186 """ 187 Set model. 188 189 :param model: sas.models instance 190 """ 191 self.model = model 192 193 def set_index(self, index=None): 194 """ 195 Set index. 196 197 :param index: 1d arrays 198 """ 199 self.index = index 200 201 def get_value(self): 202 """ 203 Over sampling of r_nbins times phi_nbins, calculate Gaussian weights, 204 then find smeared intensity 205 """ 206 if self.smearer: 207 res = Pinhole2D(data=self.data, index=self.index, 208 nsigma=3.0, accuracy=self.accuracy, 209 coords=self.coords) 210 val = self.model.evalDistribution(res.q_calc) 211 return res.apply(val) 212 else: 213 index = self.index if self.index is not None else slice(None) 214 qx_data = self.data.qx_data[index] 215 qy_data = self.data.qy_data[index] 216 q_calc = [qx_data, qy_data] 217 val = self.model.evalDistribution(q_calc) 218 return val 219 -
src/sas/sascalc/fit/AbstractFitEngine.py
rfc18690 rd3911e3 359 359 if self.smearer != None: 360 360 fn.set_index(self.idx) 361 # Get necessary data from self.data and set the data for smearing362 fn.get_data()363 364 361 gn = fn.get_value() 365 362 else: -
src/sas/sasgui/guiframe/gui_manager.py
rc8e1996 rd3911e3 1990 1990 wx.PostEvent(self, 1991 1991 StatusEvent(status="Completed saving.")) 1992 except :1992 except Exception: 1993 1993 msg = "Error occurred while saving: " 1994 msg += traceback.format_exc() 1994 1995 msg += "To save, the application panel should have a data set.." 1995 1996 wx.PostEvent(self, StatusEvent(status=msg)) … … 2040 2041 logging.warning(msg) 2041 2042 wx.PostEvent(self, StatusEvent(status=msg, info="error")) 2042 except :2043 except Exception: 2043 2044 msg = "Error occurred while saving: " 2045 msg += traceback.format_exc() 2044 2046 msg += "To save, at least one application panel " 2045 2047 msg += "should have a data set.." -
src/sas/sasgui/perspectives/fitting/basepage.py
rd7d0182 rd3911e3 1528 1528 index_data = ((self.qmin_x <= self.data.x) & 1529 1529 (self.data.x <= self.qmax_x)) 1530 val = str(len(self.data.x[index_data is True]))1530 val = str(len(self.data.x[index_data])) 1531 1531 self.Npts_fit.SetValue(val) 1532 1532 else: -
src/sas/sasgui/perspectives/fitting/model_thread.py
r286c757 rd3911e3 82 82 fn.set_model(self.model) 83 83 fn.set_index(index_model) 84 # Get necessary data from self.data and set the data for smearing85 fn.get_data()86 84 # Calculate smeared Intensity 87 85 #(by Gaussian averaging): DataLoader/smearing2d/Smearer2D() … … 89 87 else: 90 88 # calculation w/o smearing 91 value = self.model.evalDistribution(\ 92 [self.data.qx_data[index_model], 93 self.data.qy_data[index_model]]) 89 value = self.model.evalDistribution([ 90 self.data.qx_data[index_model], 91 self.data.qy_data[index_model] 92 ]) 94 93 output = numpy.zeros(len(self.data.qx_data)) 95 94 # output default is None
Note: See TracChangeset
for help on using the changeset viewer.