Changeset 4dd63eb in sasview for park_integration/ScipyFitting.py
- Timestamp:
- Jul 10, 2008 6:05:09 PM (16 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:
- 49b3ddd
- Parents:
- 83ca047
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
park_integration/ScipyFitting.py
r792db7d5 r4dd63eb 88 88 self.fitArrangeList={} 89 89 90 def fit(self, pars,qmin=None, qmax=None):90 def fit(self,qmin=None, qmax=None): 91 91 """ 92 92 Performs fit with scipy optimizer.It can only perform fit with one model … … 107 107 listdata = fitproblem.get_data() 108 108 109 #Create list of Parameter instances and save parameters values in model110 parameters = self.set_param(model,model.name,pars)111 109 112 110 # Concatenate dList set (contains one or more data)before fitting … … 119 117 if qmax==None: 120 118 qmax= max(xtemp) 121 119 122 120 #perform the fit 123 chisqr, out, cov = fitHelper(model,parameters, xtemp,ytemp, dytemp ,qmin,qmax) 121 chisqr, out, cov = fitHelper(model,self.parameters, xtemp,ytemp, dytemp ,qmin,qmax) 122 124 123 return chisqr, out, cov 125 124 … … 158 157 return xtemp, ytemp,dytemp 159 158 160 def set_model(self,model,Uid): 161 """ 159 def set_model(self,model,name,Uid,pars={}): 160 """ 161 162 Receive a dictionary of parameter and save it Parameter list 163 For scipy.fit use. 162 164 Set model in a FitArrange object and add that object in a dictionary 163 165 with key Uid. 164 @param model: the model added 166 @param model: model on with parameter values are set 167 @param name: model name 165 168 @param Uid: unique key corresponding to a fitArrange object with model 166 """ 169 @param pars: dictionary of paramaters name and value 170 pars={parameter's name: parameter's value} 171 172 """ 173 self.parameters=[] 174 if model==None: 175 raise ValueError, "Cannot set parameters for empty model" 176 else: 177 model.name=name 178 for key, value in pars.iteritems(): 179 param = Parameter(model, key, value) 180 self.parameters.append(param) 181 167 182 #A fitArrange is already created but contains dList only at Uid 168 183 if self.fitArrangeList.has_key(Uid): … … 201 216 return None 202 217 203 def set_param(self,model,name, pars): 204 """ 205 Recieve a dictionary of parameter and save it 206 @param model: model on with parameter values are set 207 @param name: model name 208 @param pars: dictionary of paramaters name and value 209 pars={parameter's name: parameter's value} 210 @return list of Parameter instance 211 """ 212 parameters=[] 213 if model==None: 214 raise ValueError, "Cannot set parameters for empty model" 215 else: 216 model.name=name 217 for key, value in pars.iteritems(): 218 param = Parameter(model, key, value) 219 parameters.append(param) 220 return parameters 221 222 def remove_data(self,Uid,data=None): 223 """ remove one or all data.if data ==None will remove the whole 224 list of data at Uid; else will remove only data in that list. 225 @param Uid: unique id containing FitArrange object with data 226 @param data:data to be removed 227 """ 228 if data==None: 229 # remove all element in data list 230 if self.fitArrangeList.has_key(Uid): 231 self.fitArrangeList[Uid].remove_datalist() 232 else: 233 #remove only data in dList 234 if self.fitArrangeList.has_key(Uid): 235 self.fitArrangeList[Uid].remove_data(data) 236 237 def remove_model(self,Uid): 238 """ 239 remove model in FitArrange object with Uid. 240 @param Uid: Unique id corresponding to the FitArrange object 241 where model must be removed. 242 """ 218 219 220 def remove_Fit_Problem(self,Uid): 221 """remove fitarrange in Uid""" 243 222 if self.fitArrangeList.has_key(Uid): 244 self.fitArrangeList[Uid].remove_model()223 del self.fitArrangeList[Uid] 245 224 246 225
Note: See TracChangeset
for help on using the changeset viewer.