Changeset e61a9b1 in sasview for src/sas/sasgui/perspectives/fitting/fitting.py
- Timestamp:
- Aug 17, 2017 10:01:11 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, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- d24e41d
- Parents:
- fc6651c (diff), bc04647 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/fitting.py
rfc6651c re61a9b1 383 383 '(Re)Load all models present in user plugin_models folder') 384 384 wx.EVT_MENU(owner, wx_id, self.load_plugin_models) 385 385 386 386 def set_edit_menu_helper(self, owner=None, menu=None): 387 387 """ … … 1734 1734 @param unsmeared_error: data error, rescaled to unsmeared model 1735 1735 """ 1736 try: 1737 np.nan_to_num(y) 1738 new_plot = self.create_theory_1D(x, y, page_id, model, data, state, 1739 data_description=model.name, 1740 data_id=str(page_id) + " " + data.name) 1741 if unsmeared_model is not None: 1742 self.create_theory_1D(x, unsmeared_model, page_id, model, data, state, 1743 data_description=model.name + " unsmeared", 1744 data_id=str(page_id) + " " + data.name + " unsmeared") 1745 1746 if unsmeared_data is not None and unsmeared_error is not None: 1747 self.create_theory_1D(x, unsmeared_data, page_id, model, data, state, 1748 data_description="Data unsmeared", 1749 data_id="Data " + data.name + " unsmeared", 1750 dy=unsmeared_error) 1751 if sq_model is not None and pq_model is not None: 1752 self.create_theory_1D(x, sq_model, page_id, model, data, state, 1753 data_description=model.name + " S(q)", 1754 data_id=str(page_id) + " " + data.name + " S(q)") 1755 self.create_theory_1D(x, pq_model, page_id, model, data, state, 1756 data_description=model.name + " P(q)", 1757 data_id=str(page_id) + " " + data.name + " P(q)") 1758 1759 current_pg = self.fit_panel.get_page_by_id(page_id) 1760 title = new_plot.title 1761 batch_on = self.fit_panel.get_page_by_id(page_id).batch_on 1762 if not batch_on: 1763 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 1764 title=str(title))) 1765 elif plot_result: 1766 top_data_id = self.fit_panel.get_page_by_id(page_id).data.id 1767 if data.id == top_data_id: 1768 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 1769 title=str(title))) 1770 caption = current_pg.window_caption 1771 self.page_finder[page_id].set_fit_tab_caption(caption=caption) 1772 1773 self.page_finder[page_id].set_theory_data(data=new_plot, 1736 number_finite = np.count_nonzero(np.isfinite(y)) 1737 np.nan_to_num(y) 1738 new_plot = self.create_theory_1D(x, y, page_id, model, data, state, 1739 data_description=model.name, 1740 data_id=str(page_id) + " " + data.name) 1741 if unsmeared_model is not None: 1742 self.create_theory_1D(x, unsmeared_model, page_id, model, data, state, 1743 data_description=model.name + " unsmeared", 1744 data_id=str(page_id) + " " + data.name + " unsmeared") 1745 1746 if unsmeared_data is not None and unsmeared_error is not None: 1747 self.create_theory_1D(x, unsmeared_data, page_id, model, data, state, 1748 data_description="Data unsmeared", 1749 data_id="Data " + data.name + " unsmeared", 1750 dy=unsmeared_error) 1751 # Comment this out until we can get P*S models with correctly populated parameters 1752 if sq_model is not None and pq_model is not None: 1753 self.create_theory_1D(x, sq_model, page_id, model, data, state, 1754 data_description=model.name + " S(q)", 1755 data_id=str(page_id) + " " + data.name + " S(q)") 1756 self.create_theory_1D(x, pq_model, page_id, model, data, state, 1757 data_description=model.name + " P(q)", 1758 data_id=str(page_id) + " " + data.name + " P(q)") 1759 1760 current_pg = self.fit_panel.get_page_by_id(page_id) 1761 title = new_plot.title 1762 batch_on = self.fit_panel.get_page_by_id(page_id).batch_on 1763 if not batch_on: 1764 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=str(title))) 1765 elif plot_result: 1766 top_data_id = self.fit_panel.get_page_by_id(page_id).data.id 1767 if data.id == top_data_id: 1768 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=str(title))) 1769 caption = current_pg.window_caption 1770 self.page_finder[page_id].set_fit_tab_caption(caption=caption) 1771 1772 self.page_finder[page_id].set_theory_data(data=new_plot, 1774 1773 fid=data.id) 1775 1776 1777 1774 if toggle_mode_on: 1775 wx.PostEvent(self.parent, 1776 NewPlotEvent(group_id=str(page_id) + " Model2D", 1778 1777 action="Hide")) 1779 1780 1781 1782 1778 else: 1779 if update_chisqr: 1780 wx.PostEvent(current_pg, 1781 Chi2UpdateEvent(output=self._cal_chisqr( 1783 1782 data=data, 1784 1783 fid=fid, 1785 1784 weight=weight, 1786 page_id=page_id, 1787 index=index))) 1788 else: 1789 self._plot_residuals(page_id=page_id, data=data, fid=fid, 1790 index=index, weight=weight) 1791 1785 page_id=page_id, 1786 index=index))) 1787 else: 1788 self._plot_residuals(page_id=page_id, data=data, fid=fid, 1789 index=index, weight=weight) 1790 1791 if not number_finite: 1792 logger.error("Using the present parameters the model does not return any finite value. ") 1793 msg = "Computing Error: Model did not return any finite value." 1794 wx.PostEvent(self.parent, StatusEvent(status = msg, info="error")) 1795 else: 1792 1796 msg = "Computation completed!" 1797 if number_finite != y.size: 1798 msg += ' PROBLEM: For some Q values the model returns non finite intensities!' 1799 logger.error("For some Q values the model returns non finite intensities.") 1793 1800 wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 1794 except:1795 raise1796 1801 1797 1802 def _calc_exception(self, etype, value, tb): … … 1818 1823 that can be plot. 1819 1824 """ 1825 number_finite = np.count_nonzero(np.isfinite(image)) 1820 1826 np.nan_to_num(image) 1821 1827 new_plot = Data2D(image=image, err_image=data.err_data) … … 1876 1882 self._plot_residuals(page_id=page_id, data=data, fid=fid, 1877 1883 index=index, weight=weight) 1878 msg = "Computation completed!" 1879 wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 1884 1885 if not number_finite: 1886 logger.error("Using the present parameters the model does not return any finite value. ") 1887 msg = "Computing Error: Model did not return any finite value." 1888 wx.PostEvent(self.parent, StatusEvent(status = msg, info="error")) 1889 else: 1890 msg = "Computation completed!" 1891 if number_finite != image.size: 1892 msg += ' PROBLEM: For some Qx,Qy values the model returns non finite intensities!' 1893 logger.error("For some Qx,Qy values the model returns non finite intensities.") 1894 wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 1880 1895 1881 1896 def _draw_model2D(self, model, page_id, qmin,
Note: See TracChangeset
for help on using the changeset viewer.