Changeset 4dd63eb in sasview for park_integration/ParkFitting.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/ParkFitting.py
r792db7d5 r4dd63eb 185 185 self.fitArrangeList={} 186 186 187 def createProblem(self ,pars={}):187 def createProblem(self): 188 188 """ 189 189 Extract sansmodel and sansdata from self.FitArrangelist ={Uid:FitArrange} … … 211 211 212 212 213 def fit(self, pars=None,qmin=None, qmax=None):213 def fit(self, qmin=None, qmax=None): 214 214 """ 215 215 Performs fit with park.fit module.It can perform fit with one model … … 229 229 230 230 231 self.createProblem( pars)231 self.createProblem() 232 232 pars=self.problem.fit_parameters() 233 233 self.problem.eval() … … 240 240 fitter=fitter, 241 241 handler= fitresult.ConsoleUpdate(improvement_delta=0.1)) 242 242 print "result",result 243 243 return result.fitness,result.pvec,result.cov 244 244 245 def set_model(self,model,Uid): 246 """ 245 def set_model(self,model,name,Uid,pars={}): 246 """ 247 248 Receive a dictionary of parameter and save it Parameter list 249 For scipy.fit use. 247 250 Set model in a FitArrange object and add that object in a dictionary 248 251 with key Uid. 249 @param model: the model added 252 @param model: model on with parameter values are set 253 @param name: model name 250 254 @param Uid: unique key corresponding to a fitArrange object with model 251 """ 255 @param pars: dictionary of paramaters name and value 256 pars={parameter's name: parameter's value} 257 258 """ 259 self.parameters=[] 260 if model==None: 261 raise ValueError, "Cannot set parameters for empty model" 262 else: 263 model.name=name 264 for key, value in pars.iteritems(): 265 param = Parameter(model, key, value) 266 self.parameters.append(param) 267 252 268 #A fitArrange is already created but contains dList only at Uid 253 269 if self.fitArrangeList.has_key(Uid): … … 258 274 fitproblem.set_model(model) 259 275 self.fitArrangeList[Uid]=fitproblem 276 260 277 261 278 def set_data(self,data,Uid): … … 286 303 return None 287 304 288 def set_param(self,model,name, pars):289 """290 Recieve a dictionary of parameter and save it291 @param model: model on with parameter values are set292 @param name: model name293 @param pars: dictionary of paramaters name and value294 pars={parameter's name: parameter's value}295 @return list of Parameter instance296 """297 parameters=[]298 if model==None:299 raise ValueError, "Cannot set parameters for empty model"300 else:301 model.name=name302 for key, value in pars.iteritems():303 param = Parameter(model, key, value)304 parameters.append(param)305 return parameters306 307 def remove_data(self,Uid,data=None):308 """ remove one or all data.if data ==None will remove the whole309 list of data at Uid; else will remove only data in that list.310 @param Uid: unique id containing FitArrange object with data311 @param data:data to be removed312 """313 if data==None:314 # remove all element in data list315 if self.fitArrangeList.has_key(Uid):316 self.fitArrangeList[Uid].remove_datalist()317 else:318 #remove only data in dList319 if self.fitArrangeList.has_key(Uid):320 self.fitArrangeList[Uid].remove_data(data)321 322 def remove_model(self,Uid):323 """324 remove model in FitArrange object with Uid.325 @param Uid: Unique id corresponding to the FitArrange object326 where model must be removed.327 """328 if self.fitArrangeList.has_key(Uid):329 self.fitArrangeList[Uid].remove_model()330 305 def remove_Fit_Problem(self,Uid): 331 306 """remove fitarrange in Uid""" 332 307 if self.fitArrangeList.has_key(Uid): 333 308 del self.fitArrangeList[Uid] 309 334 310 def _concatenateData(self, listdata=[]): 335 311 """
Note: See TracChangeset
for help on using the changeset viewer.