Changes in / [ef3e09b:a95ae9a] in sasview


Ignore:
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • docs/sphinx-docs/source/user/opencl_installation.rst

    r6673d2f r6e0c7b2  
    1414 
    1515    * Go to: Start -> Control Panel -> Administrative Tools 
    16     * Double Click on Computer Management 
     16    * Double Click on Computer Managment 
    1717    * Click on Device Manager 
    1818    * Click open Display Adapters 
     
    3232Windows 
    3333========= 
    34     Depending on the graphic card on your system, drivers 
     34    Depeneding on the graphic card on your system, drivers 
    3535    can be obtained from different sources: 
    3636 
  • docs/sphinx-docs/source/user/sasgui/guiframe/data_formats_help.rst

    r756f288 r49148bb  
    33.. This is a port of the original SasView html help file to ReSTructured text 
    44.. by S King, ISIS, during SasView CodeCamp-III in Feb 2015. 
    5 .. WG Bouwman, DUT, added during CodeCamp-V in Oct 2016 the SESANS data format 
    65 
    76.. _Formats: 
     
    109============ 
    1110 
    12 SasView reads several different 1D (I(Q) vs Q), 2D SANS(I(Qx,Qy) vs (Qx,Qy)) 
    13 and SESANS (P(z) vs z) 
     11SasView reads several different 1D (I(Q) vs Q) and 2D (I(Qx,Qy) vs (Qx,Qy)) 
    1412data files. But please note that SasView does not at present load data where 
    1513the Q and I(Q) data are in separate files. 
    1614 
    17 1D Formats SANS 
    18 --------------- 
     151D Formats 
     16---------- 
    1917 
    2018SasView will read files with 2 to 4 columns of numbers in the following order:  
     
    4846.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    4947 
    50 2D Formats SANS 
    51 --------------- 
     482D Formats 
     49---------- 
    5250 
    5351SasView will only read files in the NIST 2D format with the extensions  
     
    6260.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    6361 
    64 Format SESANS 
    65 --------------- 
    66  
    67 The current file extension is .ses or .sesans (not case sensitive). 
    68  
    69 The file format is to have a list of name-value pairs as a header at the top of the file, detailing general experimental parameters necessary for fitting and analyzing data. This list should contain all information necessary for the file to be 'portable' between users. 
    70  
    71 Following that is a 6 column list of instrument experimental variables: 
    72  
    73 - Spin echo length (z, in Angstroms) 
    74 - Spin echo length error (:math:`\Delta` z, in Angstroms) (experimental resolution) 
    75 - neutron wavelength (:math:`\lambda`, in Angstroms) (essential for ToF instruments) 
    76 - neutron wavelength error (:math:`\Delta \lambda`, in Angstroms) 
    77 - Normalized polarization (:math:`P/P_0`, unitless) 
    78 - Normalized polarization error (:math:`\Delta(P/P_0)`, unitless) (measurement error) 
    79  
    80  
    81 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    82  
    83 .. note::  This help document was last changed by Wim Bouwman, 05Oct2016 
     62.. note::  This help document was last changed by Steve King, 01May2015 
  • docs/sphinx-docs/source/user/user.rst

    rbdae317 r20a3c55  
    77   :maxdepth: 1 
    88 
    9    Model Documentation <index> 
    10     
    11    Menu Bar <menu_bar> 
     9   SasView Model Documentation <index> 
    1210 
    1311   Analysis <analysis> 
     
    1614          
    1715   Working with SasView <working> 
     16 
     17   Computations with GPU <gpu_computations> 
  • docs/sphinx-docs/source/user/working.rst

    rc43953ef r3a6b10d  
    1616       
    1717   Tutorial <tutorial.rst> 
    18     
    19    Computations with a GPU <gpu_computations> 
    20     
  • src/sas/sasgui/guiframe/gui_manager.py

    r3fac0df rc8a641e8  
    13451345        self._help_menu.Append(wx_id, '&Documentation', '') 
    13461346        wx.EVT_MENU(self, wx_id, self._onSphinxDocs) 
    1347         self._help_menu.AppendSeparator() 
    13481347 
    13491348        if config._do_tutorial and (IS_WIN or sys.platform == 'darwin'): 
     1349            self._help_menu.AppendSeparator() 
    13501350            wx_id = wx.NewId() 
    13511351            self._help_menu.Append(wx_id, '&Tutorial', 'Software tutorial') 
    13521352            wx.EVT_MENU(self, wx_id, self._onTutorial) 
     1353 
     1354        if config._do_acknowledge: 
    13531355            self._help_menu.AppendSeparator() 
    1354  
    1355  
    1356         if config._do_acknowledge: 
    13571356            wx_id = wx.NewId() 
    13581357            self._help_menu.Append(wx_id, '&Acknowledge', 'Acknowledging SasView') 
    13591358            wx.EVT_MENU(self, wx_id, self._onAcknowledge) 
     1359 
     1360        if config._do_aboutbox: 
    13601361            self._help_menu.AppendSeparator() 
    1361  
    1362  
    1363         if config._do_aboutbox: 
    1364             logging.info("Doing help menu") 
    1365             wx_id = wx.NewId() 
    1366             self._help_menu.Append(wx_id, '&About', 'Software information') 
    1367             wx.EVT_MENU(self, wx_id, self._onAbout) 
    1368             self._help_menu.AppendSeparator() 
    1369  
     1362            self._help_menu.Append(wx.ID_ABOUT, '&About', 'Software information') 
     1363            wx.EVT_MENU(self, wx.ID_ABOUT, self._onAbout) 
    13701364 
    13711365        # Checking for updates 
  • src/sas/sasgui/perspectives/fitting/basepage.py

    rc65a265 r6c382da  
    15211521                self.fitrange = False 
    15221522 
     1523            if not self.data.is_data: 
     1524                is_modified = True 
     1525 
    15231526            ## if any value is modify draw model with new value 
    15241527            if not self.fitrange: 
     
    15361539                self._draw_model() 
    15371540                self.Refresh() 
    1538  
    1539         logging.info("is_modified flag set to %g",is_modified) 
    15401541        return is_modified 
    15411542 
  • src/sas/sasgui/perspectives/fitting/fitting.py

    rca4d985 r7673ecd  
    313313        """ 
    314314        event_id = event.GetId() 
    315         self.update_custom_combo() 
     315        self.update_custom_combo()         
    316316 
    317317    def update_custom_combo(self): 
     
    342342                                page.formfactorbox.SetLabel(current_val) 
    343343        except: 
    344             logging.error("update_custom_combo: %s", sys.exc_value) 
     344            pass 
     345 
    345346 
    346347    def set_edit_menu(self, owner): 
     
    16651666        wx.PostEvent(self.parent, StatusEvent(status=msg, type="update")) 
    16661667 
    1667     def create_theory_1D(self, x, y, page_id, model, data, state, 
    1668                          data_description, data_id, dy=None): 
    1669         """ 
    1670             Create a theory object associate with an existing Data1D 
    1671             and add it to the data manager. 
    1672             @param x: x-values of the data 
    1673             @param y: y_values of the data 
    1674             @param page_id: fit page ID 
    1675             @param model: model used for fitting 
    1676             @param data: Data1D object to create the theory for 
    1677             @param state: model state 
    1678             @param data_description: title to use in the data manager 
    1679             @param data_id: unique data ID 
    1680         """ 
    1681         new_plot = Data1D(x=x, y=y) 
    1682         if dy is None: 
    1683             new_plot.is_data = False 
    1684             new_plot.dy = numpy.zeros(len(y)) 
    1685             # If this is a theory curve, pick the proper symbol to make it a curve 
    1686             new_plot.symbol = GUIFRAME_ID.CURVE_SYMBOL_NUM 
    1687         else: 
    1688             new_plot.is_data = True 
    1689             new_plot.dy = dy 
    1690         new_plot.interactive = True 
    1691         new_plot.dx = None 
    1692         new_plot.dxl = None 
    1693         new_plot.dxw = None 
    1694         _yaxis, _yunit = data.get_yaxis() 
    1695         _xaxis, _xunit = data.get_xaxis() 
    1696         new_plot.title = data.name 
    1697         new_plot.group_id = data.group_id 
    1698         if new_plot.group_id == None: 
    1699             new_plot.group_id = data.group_id 
    1700         new_plot.id = data_id 
    1701         # Find if this theory was already plotted and replace that plot given 
    1702         # the same id 
    1703         self.page_finder[page_id].get_theory_data(fid=data.id) 
    1704  
    1705         if data.is_data: 
    1706             data_name = str(data.name) 
    1707         else: 
    1708             data_name = str(model.__class__.__name__) 
    1709  
    1710         new_plot.name = data_description + " [" + data_name + "]" 
    1711         new_plot.xaxis(_xaxis, _xunit) 
    1712         new_plot.yaxis(_yaxis, _yunit) 
    1713         self.page_finder[page_id].set_theory_data(data=new_plot, 
    1714                                                   fid=data.id) 
    1715         self.parent.update_theory(data_id=data.id, theory=new_plot, 
    1716                                    state=state) 
    1717         return new_plot 
    1718  
    17191668    def _complete1D(self, x, y, page_id, elapsed, index, model, 
    17201669                    weight=None, fid=None, 
    17211670                    toggle_mode_on=False, state=None, 
    17221671                    data=None, update_chisqr=True, 
    1723                     source='model', plot_result=True, 
    1724                     unsmeared_model=None, unsmeared_data=None, 
    1725                     unsmeared_error=None, sq_model=None, pq_model=None): 
    1726         """ 
    1727             Complete plotting 1D data 
    1728             @param unsmeared_model: fit model, without smearing 
    1729             @param unsmeared_data: data, rescaled to unsmeared model 
    1730             @param unsmeared_error: data error, rescaled to unsmeared model 
     1672                    source='model', plot_result=True): 
     1673        """ 
     1674        Complete plotting 1D data 
    17311675        """ 
    17321676        try: 
    17331677            numpy.nan_to_num(y) 
    1734             new_plot = self.create_theory_1D(x, y, page_id, model, data, state, 
    1735                                              data_description=model.name, 
    1736                                              data_id=str(page_id) + " " + data.name) 
    1737             if unsmeared_model is not None: 
    1738                 self.create_theory_1D(x, unsmeared_model, page_id, model, data, state, 
    1739                                       data_description=model.name + " unsmeared", 
    1740                                       data_id=str(page_id) + " " + data.name + " unsmeared") 
    1741  
    1742                 self.create_theory_1D(x, unsmeared_data, page_id, model, data, state, 
    1743                                       data_description="Data unsmeared", 
    1744                                       data_id="Data  " + data.name + " unsmeared", 
    1745                                       dy=unsmeared_error) 
    1746                  
    1747             if sq_model is not None and pq_model is not None: 
    1748                 self.create_theory_1D(x, sq_model, page_id, model, data, state, 
    1749                                       data_description=model.name + " S(q)", 
    1750                                       data_id=str(page_id) + " " + data.name + " S(q)") 
    1751                 self.create_theory_1D(x, pq_model, page_id, model, data, state, 
    1752                                       data_description=model.name + " P(q)", 
    1753                                       data_id=str(page_id) + " " + data.name + " P(q)") 
    1754  
    1755  
     1678 
     1679            new_plot = Data1D(x=x, y=y) 
     1680            new_plot.is_data = False 
     1681            new_plot.dy = numpy.zeros(len(y)) 
     1682            new_plot.symbol = GUIFRAME_ID.CURVE_SYMBOL_NUM 
     1683            _yaxis, _yunit = data.get_yaxis() 
     1684            _xaxis, _xunit = data.get_xaxis() 
     1685            new_plot.title = data.name 
     1686 
     1687            new_plot.group_id = data.group_id 
     1688            if new_plot.group_id == None: 
     1689                new_plot.group_id = data.group_id 
     1690            new_plot.id = str(page_id) + " " + data.name 
     1691            #if new_plot.id in self.color_dict: 
     1692            #    new_plot.custom_color = self.color_dict[new_plot.id] 
     1693            #find if this theory was already plotted and replace that plot given 
     1694            #the same id 
     1695            self.page_finder[page_id].get_theory_data(fid=data.id) 
     1696 
     1697            if data.is_data: 
     1698                data_name = str(data.name) 
     1699            else: 
     1700                data_name = str(model.__class__.__name__) 
     1701 
     1702            new_plot.name = model.name + " [" + data_name + "]" 
     1703            new_plot.xaxis(_xaxis, _xunit) 
     1704            new_plot.yaxis(_yaxis, _yunit) 
     1705            self.page_finder[page_id].set_theory_data(data=new_plot, 
     1706                                                      fid=data.id) 
     1707            self.parent.update_theory(data_id=data.id, theory=new_plot, 
     1708                                       state=state) 
    17561709            current_pg = self.fit_panel.get_page_by_id(page_id) 
    17571710            title = new_plot.title 
  • src/sas/sasgui/perspectives/fitting/media/plugin.rst

    rcbbb6a4 re925f61  
    4848- If necessary use underscore to separate words (i.e. barbell not BarBell or 
    4949  broad_peak not BroadPeak) 
    50 - Do not include “modelâ€ᅵ in the name (i.e. barbell not BarBellModel) 
     50- Do not include “model” in the name (i.e. barbell not BarBellModel) 
    5151 
    5252 
     
    644644- a dictionary of parameter values. This can be {} using the default 
    645645  parameters, or filled with some parameters that will be different 
    646   from the default, such as {‘radius’:10.0, ‘sld’:4}. Unlisted parameters 
     646  from the default, such as {‘radius’:10.0, ‘sld’:4}. Unlisted parameters 
    647647  will be given the default values. 
    648648- the input $q$ value or tuple of $(q_x, q_y)$ values. 
     
    664664 
    665665If you are editing your model from the SasView GUI, you can test it 
    666 by selecting *Run > Check Model* from the *Model Editor* menu bar. An 
     666by selecting *Run > Compile* from the *Model Editor* menu bar. An 
    667667*Info* box will appear with the results of the compilation and a 
    668668check that the model runs. 
  • src/sas/sasgui/perspectives/fitting/model_thread.py

    rca4d985 r934ce649  
    77import math 
    88from sas.sascalc.data_util.calcthread import CalcThread 
    9 from sas.sascalc.fit.MultiplicationModel import MultiplicationModel 
    109 
    1110class Calc2D(CalcThread): 
     
    167166        index = (self.qmin <= self.data.x) & (self.data.x <= self.qmax) 
    168167 
    169         # If we use a smearer, also return the unsmeared model 
    170         unsmeared_output = None 
    171         unsmeared_data = None 
    172         unsmeared_error = None 
    173168        ##smearer the ouput of the plot 
    174169        if self.smearer is not None: 
     
    176171                                                             self.qmax) 
    177172            mask = self.data.x[first_bin:last_bin+1] 
    178             unsmeared_output = numpy.zeros((len(self.data.x))) 
    179             unsmeared_output[first_bin:last_bin+1] = self.model.evalDistribution(mask) 
    180             output = self.smearer(unsmeared_output, first_bin, last_bin) 
    181              
    182             # Rescale data to unsmeared model 
    183             unsmeared_data = numpy.zeros((len(self.data.x))) 
    184             unsmeared_error = numpy.zeros((len(self.data.x))) 
    185             unsmeared_data[first_bin:last_bin+1] = self.data.y[first_bin:last_bin+1]\ 
    186                                                     * unsmeared_output[first_bin:last_bin+1]\ 
    187                                                     / output[first_bin:last_bin+1] 
    188             unsmeared_error[first_bin:last_bin+1] = self.data.dy[first_bin:last_bin+1]\ 
    189                                                     * unsmeared_output[first_bin:last_bin+1]\ 
    190                                                     / output[first_bin:last_bin+1] 
    191             unsmeared_output=unsmeared_output[index] 
    192             unsmeared_data=unsmeared_data[index] 
    193             unsmeared_error=unsmeared_error 
     173            output[first_bin:last_bin+1] = self.model.evalDistribution(mask) 
     174            output = self.smearer(output, first_bin, last_bin) 
    194175        else: 
    195176            output[index] = self.model.evalDistribution(self.data.x[index]) 
    196  
    197         sq_model = None 
    198         pq_model = None 
    199         if isinstance(self.model, MultiplicationModel): 
    200             sq_model = numpy.zeros((len(self.data.x))) 
    201             pq_model = numpy.zeros((len(self.data.x))) 
    202             sq_model[index] = self.model.s_model.evalDistribution(self.data.x[index]) 
    203             pq_model[index] = self.model.p_model.evalDistribution(self.data.x[index]) 
    204177 
    205178        elapsed = time.time() - self.starttime 
     
    214187                      data=self.data, 
    215188                      update_chisqr=self.update_chisqr, 
    216                       source=self.source, 
    217                       unsmeared_model=unsmeared_output, 
    218                       unsmeared_data=unsmeared_data, 
    219                       unsmeared_error=unsmeared_error, 
    220                       pq_model=pq_model, 
    221                       sq_model=sq_model) 
     189                      source=self.source) 
    222190 
    223191    def results(self): 
Note: See TracChangeset for help on using the changeset viewer.