Changeset 444c900e in sasview for park_integration/src/sans/fit/ScipyFitting.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/ScipyFitting.py
r425e49ca r444c900e 15 15 from sans.fit.AbstractFitEngine import FitAbort 16 16 from sans.fit.AbstractFitEngine import Model 17 IS_MAC = True 18 if sys.platform.count("win32") > 0: 19 IS_MAC = False 20 21 class fitresult(object): 22 """ 23 Storing fit result 24 """ 25 def __init__(self, model=None, param_list=None, data=None): 26 self.calls = None 27 self.fitness = None 28 self.chisqr = None 29 self.pvec = None 30 self.cov = None 31 self.info = None 32 self.mesg = None 33 self.success = None 34 self.stderr = None 35 self.parameters = None 36 self.is_mac = IS_MAC 37 if issubclass(model.__class__, Model): 38 model = model.model 39 self.model = model 40 self.data = data 41 self.theory = None 42 self.param_list = param_list 43 self.iterations = 0 44 45 self.inputs = [(self.model, self.data)] 46 47 def set_model(self, model): 48 """ 49 """ 50 self.model = model 51 52 def set_fitness(self, fitness): 53 """ 54 """ 55 self.fitness = fitness 56 57 def __str__(self): 58 """ 59 """ 60 if self.pvec == None and self.model is None and self.param_list is None: 61 return "No results" 62 n = len(self.model.parameterset) 63 self.iterations += 1 64 result_param = zip(xrange(n), self.model.parameterset) 65 msg1 = ["[Iteration #: %s ]" % self.iterations] 66 msg3 = ["=== goodness of fit: %s ===" % (str(self.fitness))] 67 if not self.is_mac: 68 msg2 = ["P%-3d %s......|.....%s" % \ 69 (p[0], p[1], p[1].value)\ 70 for p in result_param if p[1].name in self.param_list] 71 msg = msg1 + msg3 + msg2 72 else: 73 msg = msg1 + msg3 74 msg = "\n".join(msg) 75 return msg 76 77 def print_summary(self): 78 """ 79 """ 80 print self 17 from sans.fit.AbstractFitEngine import FResult 81 18 82 19 class ScipyFit(FitEngine): … … 146 83 self._check_param_range(model) 147 84 148 result = fitresult(model=model, data=data.sans_data, param_list=self.param_list)85 result = FResult(model=model, data=data, param_list=self.param_list) 149 86 if handler is not None: 150 87 handler.set_result(result=result) … … 197 134 if success < 1 or success > 5: 198 135 result = None 199 return result 136 return [result] 137 """ 200 138 else: 201 139 return None 140 """ 202 141 # Error will be present to the client, not here 203 142 #else:
Note: See TracChangeset
for help on using the changeset viewer.