Changeset cb44d66 in sasview for src/sas/sasgui/perspectives


Ignore:
Timestamp:
Mar 6, 2019 6:18:51 PM (6 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
ticket-1094-headless
Children:
f0b9bce
Parents:
ffbf35ee (diff), f205d3a (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.
Message:

Merge branch 'master' into ticket-1094-headless

Location:
src/sas/sasgui/perspectives
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/calculator/model_editor.py

    r9bf40e7 r1752f38  
    965965        out_f.write('    """Absolute scattering"""\n') 
    966966        if "scipy." in func_str: 
    967             out_f.write('    import scipy') 
     967            out_f.write('    import scipy\n') 
    968968        if "numpy." in func_str: 
    969             out_f.write('    import numpy') 
     969            out_f.write('    import numpy\n') 
    970970        if "np." in func_str: 
    971             out_f.write('    import numpy as np') 
     971            out_f.write('    import numpy as np\n') 
    972972        for func_line in func_str.split('\n'): 
    973973            out_f.write('%s%s\n' % ('    ', func_line)) 
  • src/sas/sasgui/perspectives/corfunc/corfunc_panel.py

    r5652efc ref74a8b  
    277277        self._transformed_data = transforms 
    278278        (transform1, transform3, idf) = transforms 
    279         plot_x = transform1.x[transform1.x <= 200] 
    280         plot_y = transform1.y[transform1.x <= 200] 
     279        plot_x = transform1.x[transform1.x <= 1000] 
     280        plot_y = transform1.y[transform1.x <= 1000] 
    281281        self._manager.show_data(Data1D(plot_x, plot_y), TRANSFORM_LABEL1) 
    282         # No need to shorten gamma3 as it's only calculated up to x=200 
     282        # No need to shorten gamma3 as it's only calculated up to x=1000 
    283283        self._manager.show_data(transform3, TRANSFORM_LABEL3) 
    284284 
    285         plot_x = idf.x[idf.x <= 200] 
    286         plot_y = idf.y[idf.x <= 200] 
     285        plot_x = idf.x[idf.x <= 1000] 
     286        plot_y = idf.y[idf.x <= 1000] 
    287287        self._manager.show_data(Data1D(plot_x, plot_y), IDF_LABEL) 
    288288 
  • src/sas/sasgui/perspectives/corfunc/media/corfunc_help.rst

    r490f790 r4d06668  
    3030of the profile provides measures of the layer thickness, and the area under  
    3131the profile is related to the amount of material that is adsorbed. 
     32 
     33.. note:: 
     34    These transforms assume that the data has been measured on a pinhole- 
     35    collimated instrument or, if not, that the data has been Lorentz- 
     36    corrected beforehand. 
    3237 
    3338Both analyses are performed in 3 stages: 
  • src/sas/sasgui/perspectives/fitting/fitpage.py

    r1dc134e6 rcb44d66  
    1313import time 
    1414import traceback 
     15import logging 
    1516 
    1617from sasmodels.weights import MODELS as POLYDISPERSITY_MODELS 
    1718 
    1819from sas.sascalc.fit.qsmearing import smear_selection 
     20from sas.sascalc.dataloader.data_info import Data1D, Data2D 
    1921 
    2022from sas.sasgui.guiframe.events import StatusEvent, NewPlotEvent, \ 
     
    2830    PageInfoEvent 
    2931from .basepage import ModelTextCtrl 
     32 
     33logger = logging.getLogger(__name__) 
    3034 
    3135(Chi2UpdateEvent, EVT_CHI2_UPDATE) = wx.lib.newevent.NewEvent() 
     
    183187        :return: True or False 
    184188        """ 
    185         if self.data.__class__.__name__ == "Data2D" or \ 
    186                         self.enable2D: 
     189        if isinstance(self.data, Data2D) or self.enable2D: 
    187190            return True 
    188191        return False 
     
    198201 
    199202        # Check if data is 2D 
    200         if self.data.__class__.__name__ == "Data2D" or \ 
    201                         self.enable2D: 
     203        if isinstance(self.data, Data2D) or self.enable2D: 
    202204            is_2d_data = True 
    203205 
     
    212214        smear_message_new_psmear = \ 
    213215              "Please enter a fixed percentage to be applied to all Q values..." 
    214         smear_message_2d_x_title = "<dQp>[1/A]:" 
    215         smear_message_2d_y_title = "<dQs>[1/A]:" 
    216         smear_message_pinhole_percent_title = "dQ[%]:" 
     216        smear_message_2d_x_title = "<dQ/Q>_r[%]:" 
     217        smear_message_2d_y_title = "<dQ/Q>_phi[%]:" 
     218        smear_message_pinhole_percent_min_title = "[dQ/Q]min(%):" 
     219        smear_message_pinhole_percent_max_title = "[dQ/Q]max(%):" 
     220        smear_message_pinhole_percent_title = "dQ/Q(%):" 
    217221        smear_message_slit_height_title = "Slit height[1/A]:" 
    218222        smear_message_slit_width_title = "Slit width[1/A]:" 
     
    417421                            smear_message_2d_x_title, style=wx.ALIGN_LEFT) 
    418422        self.smear_description_2d_x.SetToolTipString( 
    419                                         "  dQp(parallel) in q_r direction.") 
     423                                        "  dQ_r q_r in polar coordinates.") 
    420424        self.smear_description_2d_y = wx.StaticText(self, wx.ID_ANY, 
    421425                            smear_message_2d_y_title, style=wx.ALIGN_LEFT) 
    422426        self.smear_description_2d_y.SetToolTipString( 
    423                                     " dQs(perpendicular) in q_phi direction.") 
     427                                    " dQ_phi q_phi in polar coordinates.") 
     428        self.smear_description_pin_percent_min = wx.StaticText(self, wx.ID_ANY, 
     429                                            smear_message_pinhole_percent_min_title, 
     430                                            style=wx.ALIGN_LEFT) 
     431        self.smear_description_pin_percent_max = wx.StaticText(self, wx.ID_ANY, 
     432                                            smear_message_pinhole_percent_max_title, 
     433                                            style=wx.ALIGN_LEFT) 
    424434        self.smear_description_pin_percent = wx.StaticText(self, wx.ID_ANY, 
    425435                                            smear_message_pinhole_percent_title, 
     
    448458        self.sizer_new_smear.Add((15, -1)) 
    449459        self.sizer_new_smear.Add(self.smear_description_2d_x, 0, wx.CENTER, 10) 
     460        self.sizer_new_smear.Add(self.smear_description_pin_percent_min, 
     461                                 0, wx.CENTER, 10) 
     462        self.sizer_new_smear.Add(self.smear_description_pin_percent, 
     463                                 0, wx.CENTER, 10) 
    450464        self.sizer_new_smear.Add(self.smear_description_slit_height, 
    451465                                 0, wx.CENTER, 10) 
    452466 
     467        self.sizer_new_smear.Add(self.smear_pinhole_percent, 0, wx.CENTER, 10) 
    453468        self.sizer_new_smear.Add(self.smear_slit_height, 0, wx.CENTER, 10) 
    454469        self.sizer_new_smear.Add(self.smear_data_left, 0, wx.CENTER, 10) 
     
    456471        self.sizer_new_smear.Add(self.smear_description_2d_y, 
    457472                                 0, wx.CENTER, 10) 
    458         self.sizer_new_smear.Add(self.smear_description_pin_percent, 
     473        self.sizer_new_smear.Add(self.smear_description_pin_percent_max, 
    459474                                 0, wx.CENTER, 10) 
    460475        self.sizer_new_smear.Add(self.smear_description_slit_width, 
    461476                                 0, wx.CENTER, 10) 
    462477 
    463         self.sizer_new_smear.Add(self.smear_pinhole_percent, 0, wx.CENTER, 10) 
    464478        self.sizer_new_smear.Add(self.smear_slit_width, 0, wx.CENTER, 10) 
    465479        self.sizer_new_smear.Add(self.smear_data_right, 0, wx.CENTER, 10) 
     
    502516 
    503517        # check if it is 2D data 
    504         if self.data.__class__.__name__ == "Data2D" or self.enable2D: 
     518        if isinstance(self.data, Data2D) or self.enable2D: 
    505519            is_2d_data = True 
    506520 
     
    805819                        self.sizer4_4.Add(cb, (iy, ix), (1, 1), 
    806820                                wx.LEFT | wx.EXPAND | wx.ADJUST_MINSIZE, 5) 
    807                         if self.data.__class__.__name__ == "Data2D" or \ 
    808                                     self.enable2D: 
     821                        if isinstance(self.data, Data2D) or self.enable2D: 
    809822                            cb.Show(True) 
    810823                        elif cb.IsShown(): 
     
    818831                        ctl1.SetToolTipString(poly_tip) 
    819832                        ctl1.SetValue(str(format_number(value, True))) 
    820                         if self.data.__class__.__name__ == "Data2D" or \ 
    821                                     self.enable2D: 
     833                        if isinstance(self.data, Data2D) or self.enable2D: 
    822834                            if first_orient: 
    823835                                values.SetLabel('PD[ratio], Sig[deg]') 
     
    853865 
    854866                        ctl2.Hide() 
    855                         if self.data.__class__.__name__ == "Data2D" or \ 
    856                                 self.enable2D: 
     867                        if isinstance(self.data, Data2D) or self.enable2D: 
    857868                            if self.is_mac: 
    858869                                text2.Show(True) 
     
    879890                        ctl4.Hide() 
    880891 
    881                         if self.data.__class__.__name__ == "Data2D" or \ 
    882                                 self.enable2D: 
     892                        if isinstance(self.data, Data2D) or self.enable2D: 
    883893                            ctl3.Show(True) 
    884894                            ctl4.Show(True) 
     
    892902 
    893903                        Tctl.SetValue(str(format_number(value))) 
    894                         if self.data.__class__.__name__ == "Data2D" or \ 
    895                                 self.enable2D: 
     904                        if isinstance(self.data, Data2D) or self.enable2D: 
    896905                            Tctl.Show(True) 
    897906                        else: 
     
    912921 
    913922                        Tct2.SetValue(str(format_number(value))) 
    914                         if self.data.__class__.__name__ == "Data2D" or \ 
    915                                 self.enable2D: 
     923                        if isinstance(self.data, Data2D) or self.enable2D: 
    916924                            Tct2.Show(True) 
    917925                        else: 
     
    940948                                            text2, ctl2, ctl3, ctl4, disp_box]) 
    941949 
    942                 if self.data.__class__.__name__ == "Data2D" or \ 
    943                                 self.enable2D: 
     950                if isinstance(self.data, Data2D) or self.enable2D: 
    944951                    disp_box.Show(True) 
    945952                else: 
     
    13261333                        flag1 = self.update_pinhole_smear() 
    13271334                        flag = flag or flag1 
    1328                 elif self.data.__class__.__name__ != "Data2D" and \ 
    1329                         not self.enable2D: 
     1335                elif not isinstance(self.data, Data2D) and not self.enable2D: 
    13301336                    enable_smearer = not self.disable_smearer.GetValue() 
    13311337                    self._manager.set_smearer(smearer=temp_smearer, 
     
    14001406        if event is not None: 
    14011407            event.Skip() 
    1402         if self.data.__class__.__name__ == "Data2D": 
     1408        if isinstance(self.data, Data2D): 
    14031409            return 
    14041410        is_click = event.LeftDown() 
     
    14181424        if event is not None: 
    14191425            event.Skip() 
    1420         if self.data.__class__.__name__ == "Data2D": 
     1426        if isinstance(self.data, Data2D): 
    14211427            return 
    14221428        act_ctrl = event.GetEventObject() 
     
    14341440        """ 
    14351441        event.Skip() 
    1436         if self.data.__class__.__name__ == "Data2D": 
     1442        if isinstance(self.data, Data2D): 
    14371443            return 
    14381444        ctrl = event.GetEventObject() 
     
    14951501            # Check if # of points for theory model are valid(>0). 
    14961502            # check for 2d 
    1497             if self.data.__class__.__name__ == "Data2D" or \ 
    1498                     self.enable2D: 
     1503            if isinstance(self.data, Data2D) or self.enable2D: 
    14991504                # set mask 
    15001505                radius = np.sqrt(self.data.qx_data * self.data.qx_data + 
     
    15481553                if item[0].IsShown(): 
    15491554                    # Skip the angle parameters if 1D data 
    1550                     if self.data.__class__.__name__ != "Data2D" and \ 
    1551                             not self.enable2D: 
     1555                    if not isinstance(self.data, Data2D) and not self.enable2D: 
    15521556                        if item in self.orientation_params: 
    15531557                            continue 
     
    15671571                if item[0].IsShown(): 
    15681572                    # Skip the angle parameters if 1D data 
    1569                     if self.data.__class__.__name__ != "Data2D" and \ 
    1570                             not self.enable2D: 
     1573                    if not isinstance(self.data, Data2D) and not self.enable2D: 
    15711574                        if item in self.orientation_params: 
    15721575                            continue 
     
    16001603 
    16011604        :return: self.smear_type, self.dq_l and self.dq_r, 
    1602             respectively the type of the smear, dq_min and 
    1603             dq_max for pinhole smear data 
    1604             while dxl and dxw for slit smear 
    1605         """ 
    1606         # default 
     1605            respectively the type of the smear, The average <dq/q> radial(p) 
     1606            and <dq/q> theta (s)s for 2D pinhole resolution in % (slit is not 
     1607            currently supported in 2D), (dq/q)_min and (dq/q)_max for 1D pinhole 
     1608            smeared data, again in %, and dxl and/or dxw for slit smeared data 
     1609            given in 1/A and assumed constant. 
     1610        """ 
     1611        # set up defaults 
    16071612        self.smear_type = None 
    16081613        self.dq_l = None 
    16091614        self.dq_r = None 
    16101615        data = self.data 
     1616        #sanity check - this should only be called if data exits 
    16111617        if self.data is None: 
    16121618            return 
    1613         elif self.data.__class__.__name__ == "Data2D" or \ 
    1614             self.enable2D: 
    1615             if data.dqx_data is None or data.dqy_data is None: 
    1616                 return 
    1617             elif self.current_smearer is not None \ 
    1618                 and data.dqx_data.any() != 0 \ 
    1619                 and data.dqx_data.any() != 0: 
     1619        #First check if data is 2D 
     1620        #If so check that data set has smearing info and that none are zero. 
     1621        #Otherwise no smearing can be applied using smear from data (a Gaussian 
     1622        #width of zero will cause a divide by zero error) 
     1623        if isinstance(self.data, Data2D): 
     1624            if data.dqx_data is not None and data.dqy_data is not None \ 
     1625              and data.dqx_data.all()and data.dqy_data.all(): 
    16201626                self.smear_type = "Pinhole2d" 
    1621                 self.dq_l = format_number(np.average(data.dqx_data)) 
    1622                 self.dq_r = format_number(np.average(data.dqy_data)) 
    1623                 return 
     1627                #report as average dQ/Q % as for 1D pinhole 
     1628                self.dq_l = format_number(np.average(data.dqx_data 
     1629                                                     / abs(data.qx_data)) * 100) 
     1630                self.dq_r = format_number(np.average(data.dqy_data 
     1631                                                     / abs(data.qy_data)) * 100) 
     1632            #if not then log that data did not contain resolutin info                                         / abs(data.qy_data)) * 100) 
    16241633            else: 
    1625                 return 
    1626         # check if it is pinhole smear and get min max if it is. 
    1627         if data.dx is not None and np.any(data.dx): 
    1628             self.smear_type = "Pinhole" 
    1629             self.dq_l = data.dx[0] 
    1630             self.dq_r = data.dx[-1] 
    1631  
    1632         # check if it is slit smear and get min max if it is. 
    1633         elif data.dxl is not None or data.dxw is not None: 
    1634             self.smear_type = "Slit" 
    1635             if data.dxl is not None and np.all(data.dxl, 0): 
    1636                 self.dq_l = data.dxl[0] 
    1637             if data.dxw is not None and np.all(data.dxw, 0): 
    1638                 self.dq_r = data.dxw[0] 
     1634                self.msg = "2D Data did not contain recognizable " \ 
     1635                           "resolution info." 
     1636                logger.info(self.msg) 
     1637        #If not check that data is 1D 
     1638        #If so check for pinhole vs slit by veryfing whehter dx or dxl or dxw 
     1639        #have data (currently sasview only supports either dx or dxl/dxw but 
     1640        #not both simultaneously) and, as for 2D, are non zero . 
     1641        #Otherwise no smearing can be applied using smear from data (a Gaussian 
     1642        #width of zero will cause a divide by zero error) 
     1643        elif isinstance(self.data, Data1D): 
     1644            #is it valid 1D pinhole resolution data? 
     1645            if data.dx is not None and np.all(data.dx): 
     1646                self.smear_type = "Pinhole" 
     1647                #report in % for display makes more sense than absolute value 
     1648                #for pinhole smearing .. but keep old names of dq_l 
     1649                self.dq_l = format_number(data.dx[0] / data.x[0] * 100,1) 
     1650                self.dq_r = format_number(data.dx[-1] / data.x[-1] * 100,1) 
     1651            #If not, is it valid 1D slit resolution data? 
     1652            elif (data.dxl is not None or data.dxw is not None) \ 
     1653                and (np.all(data.dxl, 0) or np.all(data.dxw, 0)): 
     1654                self.smear_type = "Slit" 
     1655                #for slit units of 1/A make most sense 
     1656                if data.dxl is not None and np.all(data.dxl, 0): 
     1657                    self.dq_l = format_number(data.dxl[0],1) 
     1658                if data.dxw is not None and np.all(data.dxw, 0): 
     1659                    self.dq_r = format_number(data.dxw[0],1) 
     1660            #otherwise log that the data did not conatain resolution info 
     1661            else: 
     1662                self.msg = "1D Data did not contain recognizable " \ 
     1663                           "resolution info." 
     1664                logger.info(self.msg) 
     1665        #If drops to here it is neither data1D or data2D so log that 
     1666        else: 
     1667            self.msg = "Data was not recognized as either 1D or 2D data." 
     1668            logger.info(self.msg) 
    16391669        # return self.smear_type,self.dq_l,self.dq_r 
    16401670 
     
    16431673        Show only the sizers depending on smear selection 
    16441674        """ 
    1645         # smear disabled 
     1675        # smear disabled = No Smearing used 
    16461676        if self.disable_smearer.GetValue(): 
    16471677            self.smear_description_none.Show(True) 
    1648         # 2Dsmear 
     1678        # 2Dsmearing - for use with 2D data only 
    16491679        elif self._is_2D(): 
    16501680            self.smear_description_accuracy_type.Show(True) 
    16511681            self.smear_accuracy.Show(True) 
    1652             self.smear_description_accuracy_type.Show(True) 
    16531682            self.smear_description_2d.Show(True) 
    1654             self.smear_description_2d_x.Show(True) 
    1655             self.smear_description_2d_y.Show(True) 
     1683            #2D custom pinhole smearing 
    16561684            if self.pinhole_smearer.GetValue(): 
     1685                self.smear_description_pin_percent.Show(True) 
    16571686                self.smear_pinhole_percent.Show(True) 
    1658         # smear from data 
     1687            #get 2D smearing from data 
     1688            elif self.enable_smearer.GetValue(): 
     1689                self.smear_description_2d_x.Show(True) 
     1690                self.smear_description_2d_y.Show(True) 
     1691                self.smear_data_left.Show(True) 
     1692                self.smear_data_right.Show(True) 
     1693            #Currently 2D custom slit smearing is not currently supported 
     1694            else: 
     1695                logger.error("2D custom smearing cannot use slit smearing") 
     1696 
     1697        # 1D smearing from data 
    16591698        elif self.enable_smearer.GetValue(): 
    1660  
    16611699            self.smear_description_dqdata.Show(True) 
    16621700            if self.smear_type is not None: 
    16631701                self.smear_description_smear_type.Show(True) 
     1702                #1D data has slit smearing 
    16641703                if self.smear_type == 'Slit': 
    16651704                    self.smear_description_slit_height.Show(True) 
    16661705                    self.smear_description_slit_width.Show(True) 
     1706                #1D data has pinhole smearing 
    16671707                elif self.smear_type == 'Pinhole': 
    1668                     self.smear_description_pin_percent.Show(True) 
     1708                    self.smear_description_pin_percent_min.Show(True) 
     1709                    self.smear_description_pin_percent_max.Show(True) 
    16691710                self.smear_description_smear_type.Show(True) 
    16701711                self.smear_description_type.Show(True) 
    16711712                self.smear_data_left.Show(True) 
    16721713                self.smear_data_right.Show(True) 
    1673         # custom pinhole smear 
     1714        # 1D custom pinhole smearing 
    16741715        elif self.pinhole_smearer.GetValue(): 
    1675             if self.smear_type == 'Pinhole': 
    1676                 self.smear_message_new_p.Show(True) 
    1677                 self.smear_description_pin_percent.Show(True) 
    1678  
     1716            self.smear_message_new_p.Show(True) 
     1717            self.smear_description_pin_percent.Show(True) 
    16791718            self.smear_pinhole_percent.Show(True) 
    1680         # custom slit smear 
     1719        # 1D custom slit smear 
    16811720        elif self.slit_smearer.GetValue(): 
    16821721            self.smear_message_new_s.Show(True) 
     
    16851724            self.smear_description_slit_width.Show(True) 
    16861725            self.smear_slit_width.Show(True) 
     1726        else: 
     1727            logger.error("smearing type is not defined") 
    16871728 
    16881729    def _hide_all_smear_info(self): 
     
    17021743        self.smear_data_left.Hide() 
    17031744        self.smear_data_right.Hide() 
     1745        self.smear_description_pin_percent_min.Hide() 
     1746        self.smear_description_pin_percent_max.Hide() 
    17041747        self.smear_description_pin_percent.Hide() 
    17051748        self.smear_pinhole_percent.Hide() 
     
    19191962            di_flag = False 
    19201963            dq_flag = False 
    1921             if self.data.__class__.__name__ == "Data2D" or \ 
    1922                         self.enable2D: 
     1964            if isinstance(self.data, Data2D) or self.enable2D: 
    19231965                self.slit_smearer.Disable() 
    19241966                self.pinhole_smearer.Enable(True) 
     
    20052047        # update model plot with new data information 
    20062048        if flag: 
    2007             if self.data.__class__.__name__ == "Data2D": 
     2049            if isinstance(self.data, Data2D): 
    20082050                self.enable2D = True 
    20092051                self.model_view.SetLabel("2D Mode") 
     
    20722114        npts2fit = 0 
    20732115        qmin, qmax = self.get_range() 
    2074         if self.data.__class__.__name__ == "Data2D" or \ 
    2075                         self.enable2D: 
     2116        if isinstance(self.data, Data2D) or self.enable2D: 
    20762117            radius = np.sqrt(self.data.qx_data * self.data.qx_data + 
    20772118                                self.data.qy_data * self.data.qy_data) 
     
    24632504            of the values entered for slit smear 
    24642505        """ 
    2465         if self.data.__class__.__name__ == "Data2D" or self.enable2D: 
     2506        if isinstance(self.data, Data2D) or self.enable2D: 
    24662507            return 
    24672508        # make sure once more if it is smearer 
     
    26592700        for item in self.parameters: 
    26602701            # Skip t ifhe angle parameters if 1D data 
    2661             if self.data.__class__.__name__ != "Data2D" and\ 
    2662                         not self.enable2D: 
     2702            if not isinstance(self.data, Data2D) and not self.enable2D: 
    26632703                if item in self.orientation_params: 
    26642704                    continue 
     
    26762716        for item in self.fittable_param: 
    26772717            # Skip t ifhe angle parameters if 1D data 
    2678             if self.data.__class__.__name__ != "Data2D" and\ 
    2679                         not self.enable2D: 
     2718            if not isinstance(self.data, Data2D) and not self.enable2D: 
    26802719                if item in self.orientation_params: 
    26812720                    continue 
     
    26892728 
    26902729        # Calculate num. of angle parameters 
    2691         if self.data.__class__.__name__ == "Data2D" or \ 
    2692                        self.enable2D: 
     2730        if isinstance(self.data, Data2D) or self.enable2D: 
    26932731            len_orient_para = 0 
    26942732        else: 
     
    29833021                if not self._has_magnetic: 
    29843022                    mag_on_button.Show(False) 
    2985                 elif not self.data.__class__.__name__ == "Data2D": 
     3023                elif not isinstance(self.data, Data2D): 
    29863024                    mag_on_button.Show(False) 
    29873025                else: 
     
    29993037                        mag_angle_help_button.Show(False) 
    30003038 
    3001                 if not self.data.__class__.__name__ == "Data2D" and \ 
    3002                         not self.enable2D: 
     3039                if not isinstance(self.data, Data2D) and not self.enable2D: 
    30033040                    orient_angle.Hide() 
    30043041                else: 
     
    30243061                    cb.SetToolTipString("Check mark to fit") 
    30253062                    wx.EVT_CHECKBOX(self, cb.GetId(), self.select_param) 
    3026                     if self.data.__class__.__name__ == "Data2D" or \ 
    3027                             self.enable2D: 
     3063                    if isinstance(self.data, Data2D) or self.enable2D: 
    30283064                        cb.Show(True) 
    30293065                    else: 
     
    30403076                                "Hit 'Enter' after typing to update the plot.") 
    30413077                    ctl1.SetValue(format_number(value, True)) 
    3042                     if self.data.__class__.__name__ == "Data2D" or \ 
    3043                             self.enable2D: 
     3078                    if isinstance(self.data, Data2D) or self.enable2D: 
    30443079                        ctl1.Show(True) 
    30453080                    else: 
     
    30813116                    ctl4.Hide() 
    30823117 
    3083                     if self.data.__class__.__name__ == "Data2D" or \ 
    3084                             self.enable2D: 
     3118                    if isinstance(self.data, Data2D) or self.enable2D: 
    30853119                        if self.is_mac: 
    30863120                            text2.Show(True) 
     
    30983132                        units = wx.StaticText(self, -1, "", 
    30993133                                              style=wx.ALIGN_LEFT) 
    3100                     if self.data.__class__.__name__ == "Data2D" or \ 
    3101                             self.enable2D: 
     3134                    if isinstance(self.data, Data2D) or self.enable2D: 
    31023135                        units.Show(True) 
    31033136                    else: 
     
    31783211        """ 
    31793212        # more disables for 2D 
    3180         if self.data.__class__.__name__ == "Data2D" or \ 
    3181                     self.enable2D: 
     3213        if isinstance(self.data, Data2D) or self.enable2D: 
    31823214            self.slit_smearer.Disable() 
    3183             self.pinhole_smearer.Enable(True) 
    31843215            self.default_mask = copy.deepcopy(self.data.mask) 
    3185         else: 
    3186             self.slit_smearer.Enable(True) 
    3187             self.pinhole_smearer.Enable(True) 
     3216            if self.model is not None: 
     3217                self.pinhole_smearer.Enable(True) 
     3218 
     3219        elif isinstance(self.data, Data1D): 
     3220            if self.model is not None: 
     3221                self.slit_smearer.Enable(True) 
     3222                self.pinhole_smearer.Enable(True) 
     3223        else: 
     3224            msg="data is not recognized as either 1D or 2D" 
     3225            logger.info(msg) 
    31883226 
    31893227 
  • src/sas/sasgui/perspectives/fitting/fitting.py

    raba4559 ra5cffe5  
    776776        :param weight: current dy data 
    777777        """ 
    778         # If we are not dealing with a specific fit problem, then 
    779         # there is no point setting the weights. 
    780         if fid is None: 
    781             return 
     778        # Note: this is used to set the data weights for the fit based on 
     779        # the weight selection in the GUI. 
    782780        if uid in self.page_finder.keys(): 
    783781            self.page_finder[uid].set_weight(flag=flag, is2d=is2d) 
  • src/sas/sasgui/perspectives/fitting/gpu_options.py

    r8e109f9 r895703d  
    2323import sasmodels 
    2424import sasmodels.model_test 
    25 import sasmodels.kernelcl 
     25import sasmodels.sasview_model 
    2626 
    2727from sas.sasgui.guiframe.documentation_window import DocumentationWindow 
     
    239239            if "SAS_OPENCL" in os.environ: 
    240240                del os.environ["SAS_OPENCL"] 
    241         sasmodels.kernelcl.reset_environment() 
     241        sasmodels.sasview_model.reset_environment() 
    242242        event.Skip() 
    243243 
     
    265265            if "SAS_OPENCL" in os.environ: 
    266266                del os.environ["SAS_OPENCL"] 
    267         sasmodels.kernelcl.reset_environment() 
     267        sasmodels.sasview_model.reset_environment() 
    268268 
    269269        try: 
Note: See TracChangeset for help on using the changeset viewer.