Changes in src/sas/qtgui/Perspectives/Fitting/ModelThread.py [40975f8:dcabba7] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Fitting/ModelThread.py
r40975f8 rdcabba7 101 101 elapsed = time.time() - self.starttime 102 102 103 res = dict(image = output, data = self.data, page_id = self.page_id, 104 model = self.model, state = self.state, 105 toggle_mode_on = self.toggle_mode_on, elapsed = elapsed, 106 index = index_model, fid = self.fid, 107 qmin = self.qmin, qmax = self.qmax, 108 weight = self.weight, update_chisqr = self.update_chisqr, 109 source = self.source) 110 103 111 if LocalConfig.USING_TWISTED: 104 return (output, 105 self.data, 106 self.page_id, 107 self.model, 108 self.state, 109 self.toggle_mode_on, 110 elapsed, 111 index_model, 112 self.fid, 113 self.qmin, 114 self.qmax, 115 self.weight, 116 self.update_chisqr, 117 self.source) 118 else: 119 self.completefn((output, 120 self.data, 121 self.page_id, 122 self.model, 123 self.state, 124 self.toggle_mode_on, 125 elapsed, 126 index_model, 127 self.fid, 128 self.qmin, 129 self.qmax, 130 self.weight, 131 #qstep=self.qstep, 132 self.update_chisqr, 133 self.source)) 134 112 return res 113 else: 114 self.completefn(res) 135 115 136 116 class Calc1D(CalcThread): … … 215 195 output[index] = self.model.evalDistribution(self.data.x[index]) 216 196 217 results_eval = {} 218 intermediate_results = getattr(self.model, "_intermediate_results", None) 219 if callable(intermediate_results): 220 # support for future sasmodels (beta approx support) - it returns a dict of intermediate results, keyed by 221 # name 222 results_eval = intermediate_results() 223 else: 224 sq_values = None 225 pq_values = None 226 s_model = None 227 p_model = None 228 if isinstance(self.model, MultiplicationModel): 229 s_model = self.model.s_model 230 p_model = self.model.p_model 231 elif hasattr(self.model, "calc_composition_models"): 232 results = self.model.calc_composition_models(self.data.x[index]) 233 if results is not None: 234 pq_values, sq_values = results 235 236 if pq_values is None or sq_values is None: 237 if p_model is not None and s_model is not None: 238 sq_values = numpy.zeros((len(self.data.x))) 239 pq_values = numpy.zeros((len(self.data.x))) 240 sq_values[index] = s_model.evalDistribution(self.data.x[index]) 241 pq_values[index] = p_model.evalDistribution(self.data.x[index]) 242 243 if pq_values is not None and sq_values is not None: 244 results_eval = { 245 "P(Q)": pq_values, 246 "S(Q)": sq_values 247 } 197 sq_values = None 198 pq_values = None 199 s_model = None 200 p_model = None 201 if isinstance(self.model, MultiplicationModel): 202 s_model = self.model.s_model 203 p_model = self.model.p_model 204 elif hasattr(self.model, "calc_composition_models"): 205 results = self.model.calc_composition_models(self.data.x[index]) 206 if results is not None: 207 pq_values, sq_values = results 208 209 if pq_values is None or sq_values is None: 210 if p_model is not None and s_model is not None: 211 sq_values = numpy.zeros((len(self.data.x))) 212 pq_values = numpy.zeros((len(self.data.x))) 213 sq_values[index] = s_model.evalDistribution(self.data.x[index]) 214 pq_values[index] = p_model.evalDistribution(self.data.x[index]) 248 215 249 216 elapsed = time.time() - self.starttime 250 217 218 res = dict(x = self.data.x[index], y = output[index], 219 page_id = self.page_id, state = self.state, weight = self.weight, 220 fid = self.fid, toggle_mode_on = self.toggle_mode_on, 221 elapsed = elapsed, index = index, model = self.model, 222 data = self.data, update_chisqr = self.update_chisqr, 223 source = self.source, unsmeared_output = unsmeared_output, 224 unsmeared_data = unsmeared_data, unsmeared_error = unsmeared_error, 225 pq_values = pq_values, sq_values = sq_values) 226 251 227 if LocalConfig.USING_TWISTED: 252 return (self.data.x[index], output[index], 253 self.page_id, 254 self.state, 255 self.weight, 256 self.fid, 257 self.toggle_mode_on, 258 elapsed, index, self.model, 259 self.data, 260 self.update_chisqr, 261 self.source, 262 unsmeared_output, unsmeared_data, unsmeared_error, 263 results_eval) 264 else: 265 self.completefn((self.data.x[index], output[index], 266 self.page_id, 267 self.state, 268 self.weight, 269 self.fid, 270 self.toggle_mode_on, 271 elapsed, index, self.model, 272 self.data, 273 self.update_chisqr, 274 self.source, 275 unsmeared_output, unsmeared_data, unsmeared_error, 276 results_eval)) 228 return res 229 else: 230 self.completefn(res) 277 231 278 232 def results(self):
Note: See TracChangeset
for help on using the changeset viewer.