Changeset 89f3b66 in sasview for park_integration/ScipyFitting.py
- Timestamp:
- Oct 19, 2010 9:02:08 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:
- 4ddb7a4
- Parents:
- 74b1770
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
park_integration/ScipyFitting.py
raa36f96 r89f3b66 10 10 from scipy import optimize 11 11 12 from AbstractFitEngine import FitEngine, SansAssembly, FitAbort12 from AbstractFitEngine import FitEngine, SansAssembly, FitAbort 13 13 14 14 class fitresult(object): … … 17 17 """ 18 18 def __init__(self, model=None, paramList=None): 19 self.calls 20 self.fitness 21 self.chisqr 22 self.pvec 23 self.cov 24 self.info 25 self.mesg 26 self.success 27 self.stderr 19 self.calls = None 20 self.fitness = None 21 self.chisqr = None 22 self.pvec = None 23 self.cov = None 24 self.info = None 25 self.mesg = None 26 self.success = None 27 self.stderr = None 28 28 self.parameters = None 29 29 self.model = model … … 48 48 49 49 result_param = zip(xrange(n), self.model.parameterset) 50 L = ["P%-3d %s......|.....%s"%(p[0], p[1], p[1].value) for p in result_param if p[1].name in self.paramList ] 51 L.append("=== goodness of fit: %s"%(str(self.fitness))) 50 L = ["P%-3d %s......|.....%s"%(p[0], p[1], p[1].value)\ 51 for p in result_param if p[1].name in self.paramList] 52 L.append("=== goodness of fit: %s" % (str(self.fitness))) 52 53 return "\n".join(L) 53 54 … … 89 90 with Uid as keys 90 91 """ 91 self.fitArrangeDict ={}92 self.paramList =[]92 self.fitArrangeDict = {} 93 self.paramList = [] 93 94 #def fit(self, *args, **kw): 94 95 # return profile(self._fit, *args, **kw) … … 97 98 """ 98 99 """ 99 fitproblem =[]100 for id ,fproblem in self.fitArrangeDict.iteritems():101 if fproblem.get_to_fit() ==1:100 fitproblem = [] 101 for id, fproblem in self.fitArrangeDict.iteritems(): 102 if fproblem.get_to_fit() == 1: 102 103 fitproblem.append(fproblem) 103 if len(fitproblem) >1 :104 if len(fitproblem) > 1 : 104 105 msg = "Scipy can't fit more than a single fit problem at a time." 105 106 raise RuntimeError, msg 106 107 return 107 elif len(fitproblem) ==0 :108 elif len(fitproblem) == 0 : 108 109 raise RuntimeError, "No Assembly scheduled for Scipy fitting." 109 110 return 110 111 111 listdata =[]112 listdata = [] 112 113 model = fitproblem[0].get_model() 113 114 listdata = fitproblem[0].get_data() 114 115 # Concatenate dList set (contains one or more data)before fitting 115 116 data = listdata 116 self.curr_thread = curr_thread117 self.curr_thread = curr_thread 117 118 result = fitresult(model=model, paramList=self.paramList) 118 119 if handler is not None: … … 120 121 #try: 121 122 functor = SansAssembly(self.paramList, model, data, handler=handler, 122 fitresult=result,curr_thread= self.curr_thread)123 fitresult=result, curr_thread= self.curr_thread) 123 124 124 125 … … 146 147 return result 147 148 else: 148 raise ValueError, "SVD did not converge" +str(success)149 raise ValueError, "SVD did not converge" + str(success) 149 150 150 151
Note: See TracChangeset
for help on using the changeset viewer.