Changeset ba8d326 in sasview for src/sas/sasgui/perspectives/fitting


Ignore:
Timestamp:
Jun 23, 2017 2:16:29 PM (7 years ago)
Author:
Paul Kienzle <pkienzle@…>
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:
98e3f24
Parents:
81b35396
git-author:
Paul Kienzle <pkienzle@…> (06/21/17 10:38:48)
git-committer:
Paul Kienzle <pkienzle@…> (06/23/17 14:16:29)
Message:

code cleanup

Location:
src/sas/sasgui/perspectives/fitting
Files:
4 edited

Legend:

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

    r81b35396 rba8d326  
    285285        """ 
    286286        x = np.linspace(start=self.qmin_x, stop=self.qmax_x, 
    287                            num=self.npts_x, endpoint=True) 
     287                        num=self.npts_x, endpoint=True) 
    288288        self.data = Data1D(x=x) 
    289289        self.data.xaxis('\\rm{Q}', "A^{-1}") 
     
    311311 
    312312        x = np.logspace(start=qmin, stop=qmax, 
    313                            num=self.npts_x, endpoint=True, base=10.0) 
     313                        num=self.npts_x, endpoint=True, base=10.0) 
    314314        self.data = Data1D(x=x) 
    315315        self.data.xaxis('\\rm{Q}', "A^{-1}") 
     
    904904        if len(self._disp_obj_dict) > 0: 
    905905            for k, v in self._disp_obj_dict.iteritems(): 
    906                 self.state._disp_obj_dict[k] = v.type 
     906                self.state.disp_obj_dict[k] = v.type 
    907907 
    908908            self.state.values = copy.deepcopy(self.values) 
     
    922922                                    self.state.str_parameters) 
    923923        self._copy_parameters_state(self.orientation_params, 
    924                                      self.state.orientation_params) 
     924                                    self.state.orientation_params) 
    925925        self._copy_parameters_state(self.orientation_params_disp, 
    926926                                    self.state.orientation_params_disp) 
     
    976976                        try: 
    977977                            self.state.disp_cb_dict[k] = v.GetValue() 
    978                         except: 
     978                        except Exception: 
    979979                            self.state.disp_cb_dict[k] = None 
    980980            if len(self._disp_obj_dict) > 0: 
    981981                for k, v in self._disp_obj_dict.iteritems(): 
    982                     self.state._disp_obj_dict[k] = v.type 
     982                    self.state.disp_obj_dict[k] = v.type 
    983983 
    984984            self.state.values = copy.deepcopy(self.values) 
     
    10221022            # to support older version 
    10231023            category_pos = int(state.categorycombobox) 
    1024         except: 
     1024        except Exception: 
    10251025            category_pos = 0 
    10261026            for ind_cat in range(self.categorybox.GetCount()): 
     
    10341034            # to support older version 
    10351035            formfactor_pos = int(state.formfactorcombobox) 
    1036         except: 
     1036        except Exception: 
    10371037            formfactor_pos = 0 
    10381038            for ind_form in range(self.formfactorbox.GetCount()): 
     
    10471047            # to support older version 
    10481048            structfactor_pos = int(state.structurecombobox) 
    1049         except: 
     1049        except Exception: 
    10501050            structfactor_pos = 0 
    10511051            for ind_struct in range(self.structurebox.GetCount()): 
     
    12841284            self.dI_sqrdata.SetValue(state.dI_sqrdata) 
    12851285            self.dI_idata.SetValue(state.dI_idata) 
    1286         except: 
     1286        except Exception: 
    12871287            # to support older state file formats 
    12881288            self.dI_noweight.SetValue(False) 
     
    13401340        self.weights = copy.deepcopy(state.weights) 
    13411341 
    1342         for key, disp_type in state._disp_obj_dict.iteritems(): 
     1342        for key, disp_type in state.disp_obj_dict.iteritems(): 
    13431343            # disp_model = disp 
    13441344            disp_model = POLYDISPERSITY_MODELS[disp_type]() 
     
    15741574                        try: 
    15751575                            self.npts_x = float(self.Npts_total.GetValue()) 
    1576                         except: 
     1576                        except Exception: 
    15771577                            flag = False 
    15781578                            return flag 
     
    16151615            return 
    16161616 
    1617         for j in range(len(listtorestore)): 
     1617        for item_page in listtorestore: 
    16181618            for param in statelist: 
    1619                 if param[1] == listtorestore[j][1]: 
    1620                     item_page = listtorestore[j] 
     1619                if param[1] == item_page[1]: 
    16211620                    item_page_info = param 
    16221621                    if (item_page_info[1] == "theta" or item_page_info[1] == 
     
    16641663        listtorestore = copy.deepcopy(statelist) 
    16651664 
    1666         for j in range(len(listtorestore)): 
    1667             item_page = listtorestore[j] 
    1668             item_page_info = statelist[j] 
     1665        for item_page, item_page_info in zip(listtorestore, statelist): 
    16691666            # change the state of the check box for simple parameters 
    1670  
    16711667            if item_page[0] is not None: 
    16721668                item_page[0].SetValue(format_number(item_page_info[0], True)) 
     
    19211917                    wx.PostEvent(self.parent, StatusEvent(status=msg)) 
    19221918                    return 
    1923             except: 
     1919            except Exception: 
    19241920                tcrtl.SetBackgroundColour("pink") 
    19251921                msg = "Model Error: wrong value entered: %s" % sys.exc_info()[1] 
     
    19781974                    wx.PostEvent(self._manager.parent, StatusEvent(status=msg)) 
    19791975                    return 
    1980             except: 
     1976            except Exception: 
    19811977                tcrtl.SetBackgroundColour("pink") 
    19821978                msg = "Model Error: wrong value entered: %s" % sys.exc_info()[1] 
     
    21562152            # q value from qx and qy 
    21572153            radius = np.sqrt(data.qx_data * data.qx_data + 
    2158                                 data.qy_data * data.qy_data) 
     2154                             data.qy_data * data.qy_data) 
    21592155            # get unmasked index 
    21602156            index_data = (float(self.qmin.GetValue()) <= radius) & \ 
     
    23852381        put gaussian dispersity into current model 
    23862382        """ 
    2387         if len(self.param_toFit) > 0: 
     2383        if self.param_toFit: 
    23882384            for item in self.fittable_param: 
    23892385                if item in self.param_toFit: 
     
    24022398        # from sas.models.dispersion_models import GaussianDispersion 
    24032399        from sasmodels.weights import GaussianDispersion 
    2404         if len(self.disp_cb_dict) == 0: 
    2405             self.save_current_state() 
     2400        if not self.disp_cb_dict: 
    24062401            self.sizer4_4.Clear(True) 
    2407             self.Layout() 
    2408             return 
    2409         if (len(self.disp_cb_dict) > 0): 
     2402        else: 
    24102403            for p in self.disp_cb_dict: 
    24112404                # The parameter was un-selected. 
     
    24802473                self._disp_obj_dict[name1] = disp_model 
    24812474                self.model.set_dispersion(param_name, disp_model) 
    2482                 self.state._disp_obj_dict[name1] = disp_model.type 
     2475                self.state.disp_obj_dict[name1] = disp_model.type 
    24832476 
    24842477                value1 = str(format_number(self.model.getParam(name1), True)) 
     
    25952588        self._disp_obj_dict[name] = disp 
    25962589        self.model.set_dispersion(name.split('.')[0], disp) 
    2597         self.state._disp_obj_dict[name] = disp.type 
     2590        self.state.disp_obj_dict[name] = disp.type 
    25982591        self.values[name] = values 
    25992592        self.weights[name] = weights 
     
    29532946            # go through the parameters 
    29542947            strings = self._get_copy_helper(self.parameters, 
    2955                                            self.orientation_params) 
     2948                                            self.orientation_params) 
    29562949            content += strings 
    29572950 
    29582951            # go through the fittables 
    29592952            strings = self._get_copy_helper(self.fittable_param, 
    2960                                            self.orientation_params_disp) 
     2953                                            self.orientation_params_disp) 
    29612954            content += strings 
    29622955 
    29632956            # go through the fixed params 
    29642957            strings = self._get_copy_helper(self.fixed_param, 
    2965                                            self.orientation_params_disp) 
     2958                                            self.orientation_params_disp) 
    29662959            content += strings 
    29672960 
    29682961            # go through the str params 
    29692962            strings = self._get_copy_helper(self.str_parameters, 
    2970                                            self.orientation_params) 
     2963                                            self.orientation_params) 
    29712964            content += strings 
    29722965            return content 
     
    30273020        Get the string copies of the param names and values in the tap 
    30283021        """ 
    3029         content = '\\begin{table}' 
    3030         content += '\\begin{tabular}[h]' 
     3022        content = r'\begin{table}' 
     3023        content += r'\begin{tabular}[h]' 
    30313024 
    30323025        crlf = chr(13) + chr(10) 
     
    30393032            for param in self.parameters: 
    30403033                content += 'l|l|' 
    3041             content += '}\hline' 
     3034            content += r'}\hline' 
    30423035            content += crlf 
    30433036 
    30443037            for index, param in enumerate(self.parameters): 
    3045                 content += param[1].replace('_', '\_')  # parameter name 
     3038                content += param[1].replace('_', r'\_')  # parameter name 
    30463039                content += ' & ' 
    3047                 content += param[1].replace('_', '\_') + "\_err" 
     3040                content += param[1].replace('_', r'\_') + r'\_err' 
    30483041                if index < len(self.parameters) - 1: 
    30493042                    content += ' & ' 
    3050             content += '\\\\ \\hline' 
     3043            content += r'\\ \hline' 
    30513044            content += crlf 
    30523045 
     
    30583051                if index < len(self.parameters) - 1: 
    30593052                    content += ' & ' 
    3060             content += '\\\\ \\hline' 
     3053            content += r'\\ \hline' 
    30613054            content += crlf 
    30623055 
    3063             content += '\\end{tabular}' 
    3064             content += '\\end{table}' 
     3056            content += r'\end{tabular}' 
     3057            content += r'\end{table}' 
    30653058            return content 
    30663059        else: 
     
    33203313                                if name.endswith('.npts'): 
    33213314                                    pd = int(pd) 
    3322                             except: 
     3315                            except Exception: 
    33233316                                # continue 
    33243317                                if not pd and pd != '': 
     
    34063399                self._disp_obj_dict[name] = disp_model 
    34073400                self.model.set_dispersion(param_name, disp_model) 
    3408                 self.state._disp_obj_dict[name] = disp_model.type 
     3401                self.state.disp_obj_dict[name] = disp_model.type 
    34093402                # TODO: It's not an array, why update values and weights? 
    34103403                self.model._persistency_dict[param_name] = \ 
     
    35123505 
    35133506        else: 
    3514             for (model, enabled) in sorted(self.master_category_dict[category], 
    3515                                            key=lambda name: name[0]): 
    3516                 if(enabled): 
     3507            for model, enabled in sorted(self.master_category_dict[category], 
     3508                                         key=lambda name: name[0]): 
     3509                if enabled: 
    35173510                    self.model_box.Append(model) 
    35183511 
     
    37553748        self.Bind(wx.EVT_SET_FOCUS, self._on_set_focus) 
    37563749        self.Bind(wx.EVT_KILL_FOCUS, self._silent_kill_focus 
    3757         if kill_focus_callback is None else kill_focus_callback) 
     3750                  if kill_focus_callback is None else kill_focus_callback) 
    37583751        self.Bind(wx.EVT_TEXT_ENTER, parent._onparamEnter 
    3759         if text_enter_callback is None else text_enter_callback) 
     3752                  if text_enter_callback is None else text_enter_callback) 
    37603753        if not ON_MAC: 
    37613754            self.Bind(wx.EVT_LEFT_UP, self._highlight_text 
    3762             if mouse_up_callback is None else mouse_up_callback) 
     3755                      if mouse_up_callback is None else mouse_up_callback) 
    37633756 
    37643757    def _on_set_focus(self, event): 
  • src/sas/sasgui/perspectives/fitting/fit_thread.py

    r959eb01 rba8d326  
    2929                 worktime=0.03, 
    3030                 reset_flag=False): 
    31         CalcThread.__init__(self, 
    32                  completefn, 
    33                  updatefn, 
    34                  yieldtime, 
    35                  worktime) 
     31        CalcThread.__init__(self, completefn, updatefn, yieldtime, worktime) 
    3632        self.handler = handler 
    3733        self.fitter = fn 
     
    9389            # Real code should not print, but this is an example... 
    9490            #print "keyboard exception" 
    95             #Stop on exception during fitting. Todo: need to put  
     91            #Stop on exception during fitting. Todo: need to put 
    9692            #some mssg and reset progress bar. 
    9793 
     
    10096            if self.handler is not None: 
    10197                self.handler.stop(msg=msg) 
    102         except: 
     98        except:  # catch-all: show every exception which stops the thread 
    10399            import traceback 
    104100            if self.handler is not None: 
  • src/sas/sasgui/perspectives/fitting/model_thread.py

    r7432acb rba8d326  
    11""" 
    2     Calculation thread for modeling 
     2Calculation thread for modeling 
    33""" 
    44 
     
    2828                 worktime=0.04, 
    2929                 exception_handler=None, 
    30                  ): 
     30                ): 
    3131        CalcThread.__init__(self, completefn, updatefn, yieldtime, worktime, 
    3232                            exception_handler=exception_handler) 
     
    5757        if self.qmax is None: 
    5858            if self.data is not None: 
    59                 newx = math.pow(max(math.fabs(self.data.xmax), 
    60                                    math.fabs(self.data.xmin)), 2) 
    61                 newy = math.pow(max(math.fabs(self.data.ymax), 
    62                                    math.fabs(self.data.ymin)), 2) 
    63                 self.qmax = math.sqrt(newx + newy) 
     59                newx = max(math.fabs(self.data.xmax), math.fabs(self.data.xmin)) 
     60                newy = max(math.fabs(self.data.ymax), math.fabs(self.data.ymin)) 
     61                self.qmax = math.sqrt(newx**2 + newy**2) 
    6462 
    6563        if self.data is None: 
     
    6866 
    6967        # Define matrix where data will be plotted 
    70         radius = np.sqrt((self.data.qx_data * self.data.qx_data) + \ 
    71                     (self.data.qy_data * self.data.qy_data)) 
    72  
    73         # For theory, qmax is based on 1d qmax  
     68        radius = np.sqrt(self.data.qx_data**2 + self.data.qy_data**2) 
     69 
     70        # For theory, qmax is based on 1d qmax 
    7471        # so that must be mulitified by sqrt(2) to get actual max for 2d 
    7572        index_model = (self.qmin <= radius) & (radius <= self.qmax) 
    76         index_model = index_model & self.data.mask 
    77         index_model = index_model & np.isfinite(self.data.data) 
     73        index_model &= self.data.mask 
     74        index_model &= np.isfinite(self.data.data) 
    7875 
    7976        if self.smearer is not None: 
     
    10097        elapsed = time.time() - self.starttime 
    10198        self.complete(image=output, 
    102                        data=self.data, 
    103                        page_id=self.page_id, 
    104                        model=self.model, 
    105                        state=self.state, 
    106                        toggle_mode_on=self.toggle_mode_on, 
    107                        elapsed=elapsed, 
    108                        index=index_model, 
    109                        fid=self.fid, 
    110                        qmin=self.qmin, 
    111                        qmax=self.qmax, 
    112                        weight=self.weight, 
    113                        #qstep=self.qstep, 
    114                        update_chisqr=self.update_chisqr, 
    115                        source=self.source) 
     99                      data=self.data, 
     100                      page_id=self.page_id, 
     101                      model=self.model, 
     102                      state=self.state, 
     103                      toggle_mode_on=self.toggle_mode_on, 
     104                      elapsed=elapsed, 
     105                      index=index_model, 
     106                      fid=self.fid, 
     107                      qmin=self.qmin, 
     108                      qmax=self.qmax, 
     109                      weight=self.weight, 
     110                      #qstep=self.qstep, 
     111                      update_chisqr=self.update_chisqr, 
     112                      source=self.source) 
    116113 
    117114 
     
    137134                 worktime=0.01, 
    138135                 exception_handler=None, 
    139                  ): 
     136                ): 
    140137        """ 
    141138        """ 
     
    192189                                                        * unsmeared_output[first_bin:last_bin+1]\ 
    193190                                                        / output[first_bin:last_bin+1] 
    194                 unsmeared_output=unsmeared_output[index] 
    195                 unsmeared_data=unsmeared_data[index] 
    196                 unsmeared_error=unsmeared_error 
     191                unsmeared_output = unsmeared_output[index] 
     192                unsmeared_data = unsmeared_data[index] 
     193                unsmeared_error = unsmeared_error 
    197194        else: 
    198195            output[index] = self.model.evalDistribution(self.data.x[index]) 
  • src/sas/sasgui/perspectives/fitting/models.py

    r8cec26b rba8d326  
    6868    try: 
    6969        new_instance = model() 
    70     except: 
     70    except Exception: 
    7171        msg = "Plugin %s error in __init__ \n\t: %s %s\n" % (str(name), 
    7272                                                             str(sys.exc_type), 
     
    7878        try: 
    7979            value = new_instance.function() 
    80         except: 
     80        except Exception: 
    8181            msg = "Plugin %s: error writing function \n\t :%s %s\n " % \ 
    8282                    (str(name), str(sys.exc_type), sys.exc_info()[1]) 
     
    102102 
    103103    # Find paths needed 
     104    # TODO: remove unneeded try/except block 
    104105    try: 
    105106        # For source 
     
    108109        else: 
    109110            raise 
    110     except: 
     111    except Exception: 
    111112        # Check for data path next to exe/zip file. 
    112113        #Look for maximum n_dir up of the current dir to find plugins dir 
     
    158159        compileall.compile_dir(dir=dir, ddir=dir, force=0, 
    159160                               quiet=report_problem) 
    160     except: 
     161    except Exception: 
    161162        return sys.exc_info()[1] 
    162163    return None 
     
    177178    plugin_log("looking for models in: %s" % str(directory)) 
    178179    # compile_file(directory)  #always recompile the folder plugin 
    179     logger.info("plugin model dir: %s" % str(directory)) 
     180    logger.info("plugin model dir: %s", str(directory)) 
    180181 
    181182    plugins = {} 
     
    192193                msg += "\nwhile accessing model in %r" % path 
    193194                plugin_log(msg) 
    194                 logger.warning("Failed to load plugin %r. See %s for details" 
    195                                % (path, PLUGIN_LOG)) 
     195                logger.warning("Failed to load plugin %r. See %s for details", 
     196                               path, PLUGIN_LOG) 
    196197 
    197198    return plugins 
     
    230231 
    231232 
    232 class ModelManagerBase: 
     233class ModelManagerBase(object): 
    233234    """ 
    234235    Base class for the model manager 
     
    265266        if self.is_changed(): 
    266267            return  _find_models() 
    267         logger.info("plugin model : %s" % str(temp)) 
     268        logger.info("plugin model : %s", str(temp)) 
    268269        return temp 
    269270 
     
    297298        for name, plug in self.stored_plugins.iteritems(): 
    298299            self.model_dictionary[name] = plug 
    299          
     300 
    300301        self._get_multifunc_models() 
    301302 
Note: See TracChangeset for help on using the changeset viewer.