Changeset 7643ba2 in sasview for fittingview/src/sans


Ignore:
Timestamp:
Oct 12, 2011 2:06:19 PM (13 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
da6fd1a
Parents:
7db52f1
Message:

make sure wrong batch result are displayed on the status bar

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fittingview/src/sans/perspectives/fitting/fitting.py

    r7db52f1 r7643ba2  
    11001100                        msg += "Data %s and Model %s did not fit.\n" % (data_name,  
    11011101                                                                        model_name) 
    1102                         print msg 
    1103                         wx.PostEvent(self.parent, StatusEvent(status=msg, 
    1104                                                               error="error", 
    1105                                                               type="stop")) 
    11061102                    else: 
    11071103                        #Separate result in to data corresponding to each page 
     
    11561152                    self.page_finder[pid][data.id].set_result(res) 
    11571153                    fitproblem = self.page_finder[pid][data.id] 
    1158                  
    11591154                    qmin, qmax = fitproblem.get_range() 
    11601155                    flag = issubclass(data.__class__, Data2D) 
     1156                    correct_result = False 
    11611157                    if not flag: 
    1162                         self._complete1D(x=data.x, y=res.theory, page_id=pid,  
     1158                        if len(res.theory) == len(res.index) and \ 
     1159                            len(res.index) == len(data.y): 
     1160                            correct_result = True 
     1161                            self._complete1D(x=data.x, y=res.theory, page_id=pid,  
    11631162                                         elapsed=None,  
    11641163                                         index=res.index, model=model, 
     
    11671166                                         data=data, update_chisqr=False,  
    11681167                                         source='fit') 
     1168                        else: 
     1169                            data_name = str(None) 
     1170                            if data is not None: 
     1171                                data_name = str(data.name) 
     1172                            model_name = str(None) 
     1173                            if model is not None: 
     1174                                model_name = str(model.name) 
     1175                            msg += "Data %s and Model %s did not fit.\n" % (data_name,  
     1176                                                                            model_name) 
     1177                             
    11691178                    else: 
    1170                         self._complete2D(image=data.data, data=data, 
     1179                        if len(res.theory)== len(res.index) and \ 
     1180                            len(res.index) == len(data.data): 
     1181                            correct_result = True 
     1182                            self._complete2D(image=res.theory, data=data, 
    11711183                                          model=model, 
    11721184                                          page_id=pid,  elapsed=None,  
     
    11771189                                         update_chisqr=False,  
    11781190                                         source='fit') 
    1179                          
    1180                     self.on_set_batch_result(page_id=pid,  
     1191                        else: 
     1192                            data_name = str(None) 
     1193                            if data is not None: 
     1194                                data_name = str(data.name) 
     1195                            model_name = str(None) 
     1196                            if model is not None: 
     1197                                model_name = str(model.name) 
     1198                            msg += "Data %s and Model %s did not fit.\n" % (data_name,  
     1199                                                                            model_name) 
     1200                             
     1201                    if correct_result :  
     1202                        self.on_set_batch_result(page_id=pid,  
    11811203                                             fid=data.id,  
    11821204                                             batch_outputs=batch_outputs,  
    11831205                                             batch_inputs=batch_inputs) 
    11841206           
     1207        #print msg 
     1208        wx.PostEvent(self.parent, StatusEvent(status=msg, error="error", 
     1209                                                              type="stop")) 
    11851210        wx.CallAfter(self.parent.on_set_batch_result,batch_outputs,  
    11861211                                            batch_inputs, 
     
    12071232        cell.label = data.name 
    12081233        cell.value = index 
    1209         theory_data.id = str(page_id) + "model" 
    1210         theory_data.name =  model.name + "[%s]" % str(model.__class__.__name__) 
     1234        theory_data.id = wx.NewId() 
     1235        theory_data.name = model.name + "[%s]" % str(model.__class__.__name__) 
    12111236        cell.object = [data, theory_data] 
    12121237        batch_outputs["Data"].append(cell) 
     
    12481273            for uid in page_id: 
    12491274                res = result[index] 
    1250                 if res.fitness is not None or \ 
     1275                if res.fitness is None or \ 
    12511276                    not numpy.isfinite(res.fitness) or \ 
    12521277                    numpy.any(res.pvec == None) or \ 
     
    12581283                                         type="stop")) 
    12591284                    self._update_fit_button(page_id) 
    1260                 cpage = self.fit_panel.get_page_by_id(uid) 
    1261                 # Make sure we got all results  
    1262                 #(CallAfter is important to MAC) 
    1263                 wx.CallAfter(cpage.onsetValues, res.fitness, res.param_list,  
     1285                else: 
     1286                    cpage = self.fit_panel.get_page_by_id(uid) 
     1287                    # Make sure we got all results  
     1288                    #(CallAfter is important to MAC) 
     1289                    wx.CallAfter(cpage.onsetValues, res.fitness, res.param_list,  
    12641290                             res.pvec, res.stderr) 
    1265                 index += 1 
    1266                 cpage._on_fit_complete() 
    1267                 if res.stderr == None: 
    1268                     msg = "Fit Abort: " 
    1269                 else: 
    1270                     msg = "Fitting: " 
    1271                 msg += "Completed!!!" 
    1272                 wx.PostEvent(self.parent, StatusEvent(status=msg)) 
     1291                    index += 1 
     1292                    cpage._on_fit_complete() 
     1293                    if res.stderr == None: 
     1294                        msg = "Fit Abort: " 
     1295                    else: 
     1296                        msg = "Fitting: " 
     1297                    msg += "Completed!!!" 
     1298                    wx.PostEvent(self.parent, StatusEvent(status=msg)) 
    12731299        except ValueError: 
    12741300                raise 
     
    14551481            caption = current_pg.window_caption 
    14561482            self.page_finder[page_id].set_fit_tab_caption(caption=caption) 
    1457             new_plot.id =  str(page_id) + "model" 
     1483            
    14581484            self.page_finder[page_id].set_theory_data(data=new_plot,  
    14591485                                                      fid=data.id) 
Note: See TracChangeset for help on using the changeset viewer.