Changeset 444c900e in sasview for park_integration/src/sans/fit/ParkFitting.py
- Timestamp:
- Oct 11, 2011 5:51:37 PM (13 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:
- 6a4002d
- Parents:
- d59cb8c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
park_integration/src/sans/fit/ParkFitting.py
rd59cb8c r444c900e 25 25 #from Loader import Load 26 26 from sans.fit.AbstractFitEngine import FitEngine 27 from sans.fit.AbstractFitEngine import FResult 27 28 28 29 class SansFitResult(fitresult.FitResult): … … 208 209 class MyAssembly(Assembly): 209 210 def __init__(self, models, curr_thread=None): 210 Assembly.__init__(self, models) 211 """Build an assembly from a list of models.""" 212 self.parts = [] 213 for m in models: 214 self.parts.append(SansPart(m)) 211 215 self.curr_thread = curr_thread 212 216 self.chisq = None 213 217 self._cancel = False 214 218 self.theory = None 219 self._reset() 215 220 216 221 def fit_parameters(self): … … 398 403 if handler == None: 399 404 handler = fitresult.ConsoleUpdate(improvement_delta=0.1) 405 406 result_list = [] 400 407 try: 401 408 result = fit.fit(self.problem, fitter=fitter, handler=handler) 402 409 self.problem.all_results(result) 410 403 411 except LinAlgError: 404 412 raise ValueError, "SVD did not converge" 405 406 if result != None: 407 if q != None: 408 q.put(result) 409 return q 410 return result 411 else: 412 raise ValueError, "SVD did not converge" 413 413 414 for m in self.problem.parts: 415 residuals, theory = m.fitness.residuals() 416 small_result = FResult(model=m.model, data=m.data.sans_data) 417 small_result.theory = theory 418 small_result.residuals = residuals 419 small_result.pvec = [] 420 small_result.cov = [] 421 small_result.stderr = [] 422 small_result.param_list = [] 423 small_result.residuals = m.residuals 424 if result is not None: 425 for p in result.parameters: 426 if p.data.name == small_result.data.name: 427 small_result.index = m.data.idx 428 small_result.fitness = result.fitness 429 small_result.pvec.append(p.value) 430 small_result.stderr.append(p.stderr) 431 name = p.name.split('.')[1].strip() 432 small_result.param_list.append(name) 433 result_list.append(small_result) 434 if q != None: 435 q.put(result) 436 return q 437 print "park", len(result_list) 438 return result_list 439
Note: See TracChangeset
for help on using the changeset viewer.