Changes in / [8cec26b:7132e49] in sasview


Ignore:
Location:
src/sas/sasgui/perspectives/fitting
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/fitting.py

    ra534432 ra1b8fee  
    17341734            @param unsmeared_error: data error, rescaled to unsmeared model 
    17351735        """ 
    1736              
    1737         number_finite = np.count_nonzero(np.isfinite(y))  
    1738         np.nan_to_num(y) 
    1739         new_plot = self.create_theory_1D(x, y, page_id, model, data, state, 
    1740                                          data_description=model.name, 
    1741                                          data_id=str(page_id) + " " + data.name) 
    1742         if unsmeared_model is not None: 
    1743             self.create_theory_1D(x, unsmeared_model, page_id, model, data, state, 
    1744                                   data_description=model.name + " unsmeared", 
    1745                                   data_id=str(page_id) + " " + data.name + " unsmeared") 
    1746  
    1747             if unsmeared_data is not None and unsmeared_error is not None: 
    1748                 self.create_theory_1D(x, unsmeared_data, page_id, model, data, state, 
    1749                                       data_description="Data unsmeared", 
    1750                                       data_id="Data  " + data.name + " unsmeared", 
    1751                                       dy=unsmeared_error) 
    1752         # Comment this out until we can get P*S models with correctly populated parameters 
    1753         #if sq_model is not None and pq_model is not None: 
    1754         #    self.create_theory_1D(x, sq_model, page_id, model, data, state, 
    1755         #                          data_description=model.name + " S(q)", 
    1756         #                          data_id=str(page_id) + " " + data.name + " S(q)") 
    1757         #    self.create_theory_1D(x, pq_model, page_id, model, data, state, 
    1758         #                          data_description=model.name + " P(q)", 
    1759         #                          data_id=str(page_id) + " " + data.name + " P(q)") 
    1760  
    1761         current_pg = self.fit_panel.get_page_by_id(page_id) 
    1762         title = new_plot.title 
    1763         batch_on = self.fit_panel.get_page_by_id(page_id).batch_on 
    1764         if not batch_on: 
    1765             wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=str(title))) 
    1766         elif plot_result: 
    1767             top_data_id = self.fit_panel.get_page_by_id(page_id).data.id 
    1768             if data.id == top_data_id: 
    1769                 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 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        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            # 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, 
     1765                                            title=str(title))) 
     1766            elif plot_result: 
     1767                top_data_id = self.fit_panel.get_page_by_id(page_id).data.id 
     1768                if data.id == top_data_id: 
     1769                    wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 
     1770                                            title=str(title))) 
     1771            caption = current_pg.window_caption 
     1772            self.page_finder[page_id].set_fit_tab_caption(caption=caption) 
     1773 
     1774            self.page_finder[page_id].set_theory_data(data=new_plot, 
    17741775                                                      fid=data.id) 
    1775         if toggle_mode_on: 
    1776             wx.PostEvent(self.parent, 
    1777                          NewPlotEvent(group_id=str(page_id) + " Model2D", 
     1776            if toggle_mode_on: 
     1777                wx.PostEvent(self.parent, 
     1778                             NewPlotEvent(group_id=str(page_id) + " Model2D", 
    17781779                                          action="Hide")) 
    1779         else: 
    1780             if update_chisqr: 
    1781                 wx.PostEvent(current_pg, 
    1782                              Chi2UpdateEvent(output=self._cal_chisqr( 
     1780            else: 
     1781                if update_chisqr: 
     1782                    wx.PostEvent(current_pg, 
     1783                                 Chi2UpdateEvent(output=self._cal_chisqr( 
    17831784                                                                data=data, 
    17841785                                                                fid=fid, 
    17851786                                                                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  
    1792         if not number_finite: 
    1793             logger.error("Using the present parameters the model does not return any finite value. ") 
    1794             msg = "Computing Error: Model did not return any finite value." 
    1795             wx.PostEvent(self.parent, StatusEvent(status = msg, info="error")) 
    1796         else:                  
     1787                                                            page_id=page_id, 
     1788                                                            index=index))) 
     1789                else: 
     1790                    self._plot_residuals(page_id=page_id, data=data, fid=fid, 
     1791                                         index=index, weight=weight) 
     1792 
    17971793            msg = "Computation  completed!" 
    1798             if number_finite != y.size: 
    1799                 msg += ' PROBLEM: For some Q values the model returns non finite intensities!' 
    1800                 logger.error("For some Q values the model returns non finite intensities.") 
    18011794            wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 
     1795        except: 
     1796            raise 
    18021797 
    18031798    def _calc_exception(self, etype, value, tb): 
     
    18241819        that can be plot. 
    18251820        """ 
    1826         number_finite = np.count_nonzero(np.isfinite(image))  
    18271821        np.nan_to_num(image) 
    18281822        new_plot = Data2D(image=image, err_image=data.err_data) 
     
    18831877                self._plot_residuals(page_id=page_id, data=data, fid=fid, 
    18841878                                      index=index, weight=weight) 
    1885  
    1886         if not number_finite: 
    1887             logger.error("Using the present parameters the model does not return any finite value. ") 
    1888             msg = "Computing Error: Model did not return any finite value." 
    1889             wx.PostEvent(self.parent, StatusEvent(status = msg, info="error")) 
    1890         else: 
    1891             msg = "Computation  completed!" 
    1892             if number_finite != image.size: 
    1893                 msg += ' PROBLEM: For some Qx,Qy values the model returns non finite intensities!' 
    1894                 logger.error("For some Qx,Qy values the model returns non finite intensities.") 
    1895             wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 
     1879        msg = "Computation  completed!" 
     1880        wx.PostEvent(self.parent, StatusEvent(status=msg, type="stop")) 
    18961881 
    18971882    def _draw_model2D(self, model, page_id, qmin, 
  • src/sas/sasgui/perspectives/fitting/models.py

    r56a282c r56a282c  
    156156    try: 
    157157        import compileall 
    158         compileall.compile_dir(dir=dir, ddir=dir, force=0, 
     158        compileall.compile_dir(dir=dir, ddir=dir, force=1, 
    159159                               quiet=report_problem) 
    160160    except: 
Note: See TracChangeset for help on using the changeset viewer.