Changeset b682c6a in sasview for src/sas/sasgui/perspectives/fitting
- Timestamp:
- Aug 17, 2017 10:14:00 AM (7 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, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- c9ecd1b
- Parents:
- ce2819b (diff), a06ee7e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- src/sas/sasgui/perspectives/fitting
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/fitting.py
ra534432 r489f53a 257 257 toks = os.path.splitext(label) 258 258 path = os.path.join(models.find_plugins_dir(), toks[0]) 259 message = "Are you sure you want to delete the file {}?".format(path) 260 dlg = wx.MessageDialog(self.frame, message, '', wx.YES_NO | wx.ICON_QUESTION) 261 if not dlg.ShowModal() == wx.ID_YES: 262 return 259 263 try: 260 264 for ext in ['.py', '.pyc']: 261 265 p_path = path + ext 266 if ext == '.pyc' and not os.path.isfile(path + ext): 267 # If model is invalid, .pyc file may not exist as model has 268 # never been compiled. Don't try and delete it 269 continue 262 270 os.remove(p_path) 263 271 self.update_custom_combo() … … 361 369 'Add a new model function') 362 370 wx.EVT_MENU(owner, wx_id, self.make_new_model) 363 371 364 372 wx_id = wx.NewId() 365 373 self.edit_model_menu.Append(wx_id, 'Sum|Multi(p1, p2)', … … 383 391 '(Re)Load all models present in user plugin_models folder') 384 392 wx.EVT_MENU(owner, wx_id, self.load_plugin_models) 385 393 386 394 def set_edit_menu_helper(self, owner=None, menu=None): 387 395 """ … … 1734 1742 @param unsmeared_error: data error, rescaled to unsmeared model 1735 1743 """ 1736 1737 number_finite = np.count_nonzero(np.isfinite(y)) 1744 1745 number_finite = np.count_nonzero(np.isfinite(y)) 1738 1746 np.nan_to_num(y) 1739 1747 new_plot = self.create_theory_1D(x, y, page_id, model, data, state, … … 1794 1802 msg = "Computing Error: Model did not return any finite value." 1795 1803 wx.PostEvent(self.parent, StatusEvent(status = msg, info="error")) 1796 else: 1804 else: 1797 1805 msg = "Computation completed!" 1798 1806 if number_finite != y.size: … … 1824 1832 that can be plot. 1825 1833 """ 1826 number_finite = np.count_nonzero(np.isfinite(image)) 1834 number_finite = np.count_nonzero(np.isfinite(image)) 1827 1835 np.nan_to_num(image) 1828 1836 new_plot = Data2D(image=image, err_image=data.err_data) … … 1927 1935 ## and may be the cause of other noted instabilities 1928 1936 ## 1929 ## -PDB August 12, 2014 1937 ## -PDB August 12, 2014 1930 1938 while self.calc_2D.isrunning(): 1931 1939 time.sleep(0.1) … … 1969 1977 if (self.calc_1D is not None) and self.calc_1D.isrunning(): 1970 1978 self.calc_1D.stop() 1971 ## stop just raises the flag -- the thread is supposed to 1979 ## stop just raises the flag -- the thread is supposed to 1972 1980 ## then kill itself but cannot. Paul Kienzle came up with 1973 1981 ## this fix to prevent threads from stepping on each other … … 1981 1989 ## a request to stop the computation. 1982 1990 ## It seems thus that the whole thread approach used here 1983 ## May need rethinking 1991 ## May need rethinking 1984 1992 ## 1985 1993 ## -PDB August 12, 2014 … … 2146 2154 residuals.dxw = None 2147 2155 residuals.ytransform = 'y' 2148 # For latter scale changes 2156 # For latter scale changes 2149 2157 residuals.xaxis('\\rm{Q} ', 'A^{-1}') 2150 2158 residuals.yaxis('\\rm{Residuals} ', 'normalized') -
src/sas/sasgui/perspectives/fitting/models.py
r146c669 rb682c6a 187 187 try: 188 188 model = load_custom_model(path) 189 model.name = PLUGIN_NAME_BASE + model.name 189 if not model.name.count(PLUGIN_NAME_BASE): 190 model.name = PLUGIN_NAME_BASE + model.name 190 191 plugins[model.name] = model 191 192 except Exception: … … 300 301 for name, plug in self.stored_plugins.iteritems(): 301 302 self.model_dictionary[name] = plug 302 303 303 304 self._get_multifunc_models() 304 305 -
src/sas/sasgui/perspectives/fitting/fitpage.py
red2276f r6a455cd3 1236 1236 wx.PostEvent(self.parent, new_event) 1237 1237 # update list of plugins if new plugin is available 1238 custom_model = CUSTOM_MODEL1239 1238 mod_cat = self.categorybox.GetStringSelection() 1240 if mod_cat == custom_model: 1239 if mod_cat == CUSTOM_MODEL: 1240 temp_id = self.model.id 1241 1241 temp = self.parent.update_model_list() 1242 for v in self.parent.model_dictionary.values(): 1243 if v.id == temp_id: 1244 self.model = v() 1245 break 1242 1246 if temp: 1243 1247 self.model_list_box = temp -
src/sas/sasgui/perspectives/fitting/fitpanel.py
r67b0a99 rd79feea 92 92 # state must be cloned 93 93 state = page.get_state().clone() 94 if data is not None or page.model is not None: 94 # data_list only populated with real data 95 # Fake object in data from page.get_data() if model is selected 96 if len(page.data_list) is not 0 and page.model is not None: 95 97 new_doc = self._manager.state_reader.write_toXML(data, 96 98 state, 97 99 batch_state) 100 # Fit #2 through #n are append to first fit 98 101 if doc is not None and hasattr(doc, "firstChild"): 99 child = new_doc.firstChild.firstChild 100 doc.firstChild.appendChild(child) 102 # Only append if properly formed new_doc 103 if new_doc is not None and hasattr(new_doc, "firstChild"): 104 child = new_doc.firstChild.firstChild 105 doc.firstChild.appendChild(child) 106 # First fit defines the main document 101 107 else: 102 108 doc = new_doc … … 395 401 temp_data = page.get_data() 396 402 if temp_data is not None and temp_data.id in data: 397 self.SetSelection(pos) 398 self.on_close_page(event=None) 399 temp = self.GetSelection() 400 self.DeletePage(temp) 403 self.close_page_with_data(temp_data) 401 404 if self.sim_page is not None: 402 405 if len(self.sim_page.model_list) == 0: … … 405 408 self.on_close_page(event=None) 406 409 temp = self.GetSelection() 407 self.DeletePage( temp)410 self.DeletePage(pos) 408 411 self.sim_page = None 409 412 self.batch_on = False
Note: See TracChangeset
for help on using the changeset viewer.