Changes in / [e843a1c:4ec242e] in sasview


Ignore:
Files:
42 added
103 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • docs/sphinx-docs/build_sphinx.py

    r7168b8b r296f290  
    2929SPHINX_SOURCE = os.path.join(CURRENT_SCRIPT_DIR, "source") 
    3030SPHINX_SOURCE_API = os.path.join(SPHINX_SOURCE, "dev", "api") 
    31 SPHINX_SOURCE_GUIFRAME = os.path.join(SPHINX_SOURCE, "user", "guiframe") 
    32 SPHINX_SOURCE_MODELS = os.path.join(SPHINX_SOURCE, "user", "models") 
    33 SPHINX_SOURCE_PERSPECTIVES = os.path.join(SPHINX_SOURCE, "user", "perspectives") 
    3431 
    3532def _remove_dir(dir_path): 
     
    4643    _remove_dir(SASVIEW_DOCS) 
    4744    _remove_dir(SPHINX_BUILD) 
    48     _remove_dir(SPHINX_SOURCE_GUIFRAME) 
    49     _remove_dir(SPHINX_SOURCE_MODELS) 
    50     _remove_dir(SPHINX_SOURCE_PERSPECTIVES) 
    5145 
    5246def retrieve_user_docs(): 
  • docs/sphinx-docs/source/user/user.rst

    r3702c12 ref325c7  
    1212   Plotting Data/Models <guiframe/graph_help> 
    1313    
     14   Fitting Perspective <fitting/fitting_help> 
    1415    
    15    Fitting Perspective <perspectives/fitting/fitting_help> 
     16   P(r) Inversion Perspective <invariant/pr_help> 
    1617    
    17    P(r) Inversion Perspective <perspectives/pr/pr_help> 
    18     
    19    Invariant Calculation Perspective <perspectives/invariant/invariant_help> 
     18   Invariant Calculation Perspective <invariant/invariant_help> 
    2019    
    2120   
    22    Data Operations Tool <perspectives/calculator/data_operator_help> 
    23        
    24    Density/Volume Calculator Tool <perspectives/calculator/density_calculator_help> 
     21   Data Operations Tool <data_util/data_operator_help> 
    2522    
    26    Generic Scattering Calculator Tool <perspectives/calculator/sas_calculator_help> 
     23   SLD Calculator Tool <calculator/sld_calculator_help> 
    2724    
    28    Image Viewer Tool <perspectives/calculator/image_viewer_help> 
    29        
    30    Kiessig Thickness Calculator Tool <perspectives/calculator/kiessig_calculator_help> 
     25   Density/Volume Calculator Tool <calculator/density_calculator_help> 
    3126    
    32    SLD Calculator Tool <perspectives/calculator/sld_calculator_help> 
     27   Slit Size Calculator Tool <calculator/slit_calculator_help> 
    3328    
    34    Slit Size Calculator Tool <perspectives/calculator/slit_calculator_help> 
     29   Kiessig Thickness Calculator Tool <calculator/kiessig_calculator_help> 
    3530    
    36    SANS Resolution Estimator Tool <perspectives/calculator/resolution_calculator_help> 
     31   SANS Resolution Estimator Tool <calculator/resolution_calculator_help> 
    3732    
     33   Generic Scattering Calculator Tool <calculator/sas_calculator_help> 
    3834    
    39    Python Shell Tool <perspectives/calculator/python_shell_help> 
     35   Python Shell Tool 
     36    
     37   Image Viewer Tool 
  • src/sas/dataloader/data_info.py

    r7eaf9f2 rb3efb7d  
    2525import numpy 
    2626import math 
    27  
    28  
    29 class plottable_sesans1D: 
    30     """ 
    31     SESANS is a place holder for 1D SESANS plottables. 
    32      
    33     #TODO: This was directly copied from the plottables_1D. 
    34     #TODO: The class has not been updated from there. 
    35     """ 
    36     # The presence of these should be mutually 
    37     # exclusive with the presence of Qdev (dx) 
    38     x = None 
    39     y = None 
    40     dx = None 
    41     dy = None 
    42     ## Slit smearing length 
    43     dxl = None 
    44     ## Slit smearing width 
    45     dxw = None 
    46      
    47     # Units 
    48     _xaxis = '' 
    49     _xunit = '' 
    50     _yaxis = '' 
    51     _yunit = '' 
    52      
    53     def __init__(self, x, y, dx=None, dy=None, dxl=None, dxw=None): 
    54         self.x = numpy.asarray(x) 
    55         self.y = numpy.asarray(y) 
    56         if dx is not None: 
    57             self.dx = numpy.asarray(dx) 
    58         if dy is not None: 
    59             self.dy = numpy.asarray(dy) 
    60         if dxl is not None: 
    61             self.dxl = numpy.asarray(dxl) 
    62         if dxw is not None:  
    63             self.dxw = numpy.asarray(dxw) 
    64  
    65     def xaxis(self, label, unit): 
    66         """ 
    67         set the x axis label and unit 
    68         """ 
    69         self._xaxis = label 
    70         self._xunit = unit 
    71          
    72     def yaxis(self, label, unit): 
    73         """ 
    74         set the y axis label and unit 
    75         """ 
    76         self._yaxis = label 
    77         self._yunit = unit 
    7827 
    7928 
     
    991940         
    992941         
    993 class SESANSData1D(plottable_sesans1D, DataInfo): 
    994     """ 
    995     SESANS 1D data class 
    996     """ 
    997     x_unit = '1/A' 
    998     y_unit = '1/cm' 
    999      
    1000     def __init__(self, x, y, dx=None, dy=None): 
    1001         DataInfo.__init__(self) 
    1002         plottable_sesans1D.__init__(self, x, y, dx, dy) 
    1003          
    1004     def __str__(self): 
    1005         """ 
    1006         Nice printout 
    1007         """ 
    1008         _str =  "%s\n" % DataInfo.__str__(self) 
    1009      
    1010         _str += "Data:\n" 
    1011         _str += "   Type:         %s\n" % self.__class__.__name__ 
    1012         _str += "   X-axis:       %s\t[%s]\n" % (self._xaxis, self._xunit) 
    1013         _str += "   Y-axis:       %s\t[%s]\n" % (self._yaxis, self._yunit) 
    1014         _str += "   Length:       %g\n" % len(self.x) 
    1015  
    1016         return _str 
    1017  
    1018     def is_slit_smeared(self): 
    1019         """ 
    1020         Check whether the data has slit smearing information 
    1021          
    1022         :return: True is slit smearing info is present, False otherwise 
    1023          
    1024         """ 
    1025         def _check(v): 
    1026             if (v.__class__ == list or v.__class__ == numpy.ndarray) \ 
    1027                 and len(v) > 0 and min(v) > 0: 
    1028                 return True 
    1029              
    1030             return False 
    1031          
    1032         return _check(self.dxl) or _check(self.dxw) 
    1033          
    1034     def clone_without_data(self, length=0, clone=None): 
    1035         """ 
    1036         Clone the current object, without copying the data (which 
    1037         will be filled out by a subsequent operation). 
    1038         The data arrays will be initialized to zero. 
    1039          
    1040         :param length: length of the data array to be initialized 
    1041         :param clone: if provided, the data will be copied to clone 
    1042         """ 
    1043         from copy import deepcopy 
    1044          
    1045         if clone is None or not issubclass(clone.__class__, Data1D): 
    1046             x  = numpy.zeros(length) 
    1047             dx = numpy.zeros(length) 
    1048             y  = numpy.zeros(length) 
    1049             dy = numpy.zeros(length) 
    1050             clone = Data1D(x, y, dx=dx, dy=dy) 
    1051          
    1052         clone.title          = self.title 
    1053         clone.run            = self.run 
    1054         clone.filename       = self.filename 
    1055         clone.instrument     = self.instrument 
    1056         clone.notes          = deepcopy(self.notes) 
    1057         clone.process        = deepcopy(self.process) 
    1058         clone.detector       = deepcopy(self.detector) 
    1059         clone.sample         = deepcopy(self.sample) 
    1060         clone.source         = deepcopy(self.source) 
    1061         clone.collimation    = deepcopy(self.collimation) 
    1062         clone.trans_spectrum = deepcopy(self.trans_spectrum) 
    1063         clone.meta_data      = deepcopy(self.meta_data) 
    1064         clone.errors         = deepcopy(self.errors) 
    1065          
    1066         return clone 
    1067      
    1068      
    1069942class Data2D(plottable_2D, DataInfo): 
    1070943    """ 
  • src/sas/dataloader/manipulations.py

    r400155b r79492222  
    582582    """ 
    583583    #Todo: remove center. 
    584     def __init__(self, r_min=0, r_max=0, center_x=0, center_y=0, nbins=36): 
     584    def __init__(self, r_min=0, r_max=0, center_x=0, center_y=0, nbins=20): 
    585585        # Minimum radius 
    586586        self.r_min = r_min 
     
    593593        # Number of angular bins 
    594594        self.nbins_phi = nbins 
    595  
    596595         
    597596    def __call__(self, data2D): 
     
    623622        phi_values = numpy.zeros(self.nbins_phi) 
    624623        phi_err    = numpy.zeros(self.nbins_phi) 
    625          
    626         # Shift to apply to calculated phi values in order to center first bin at zero 
    627         phi_shift = Pi / self.nbins_phi 
    628  
     624         
    629625        for npt in range(len(data)): 
    630626            frac = 0 
     
    641637                continue 
    642638            # binning            
    643             i_phi = int(math.floor((self.nbins_phi) * (phi_value+phi_shift) / (2 * Pi))) 
     639            i_phi = int(math.floor((self.nbins_phi) * phi_value / (2 * Pi))) 
    644640             
    645641            # Take care of the edge case at phi = 2pi. 
    646             if i_phi >= self.nbins_phi: 
    647                 i_phi =  0 
     642            if i_phi == self.nbins_phi: 
     643                i_phi =  self.nbins_phi - 1 
    648644            phi_bins[i_phi] += frac * data[npt] 
    649645             
     
    659655            phi_bins[i] = phi_bins[i] / phi_counts[i] 
    660656            phi_err[i] = math.sqrt(phi_err[i]) / phi_counts[i] 
    661             phi_values[i] = 2.0 * math.pi / self.nbins_phi * (1.0 * i) 
     657            phi_values[i] = 2.0 * math.pi / self.nbins_phi * (1.0 * i + 0.5) 
    662658             
    663659        idx = (numpy.isfinite(phi_bins)) 
  • src/sas/guiframe/documentation_window.py

    ra4340d1 r79492222  
    1 import os 
    2 import logging 
    31import wx 
    42from wx import Frame 
    5 import webbrowser 
     3 
    64wx_supports_html2 = float(wx.__version__[:3]) >= 2.9 
    75if wx_supports_html2: 
     
    108    import wx.html as html 
    119 
    12     
    1310class DocumentationWindow(Frame): 
    1411    def __init__(self, parent, id, path, title='Help', size=(850, 540)): 
    1512        Frame.__init__(self, parent, id, title, size=size) 
    1613 
    17         SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 
    18         if SPHINX_DOC_ENV in os.environ: 
    19             docs_path = os.path.join(os.environ[SPHINX_DOC_ENV]) 
    20         else: 
    21             docs_path = os.path.join(PATH_APP, "..", "..", "doc") 
    22  
    23         if (not os.path.exists(docs_path)): 
    24             print "logging" 
    25             logging.error("Could not find Sphinx documentation at %s \ 
    26             -- has it been built?", docs_path) 
    27  
    28         elif wx_supports_html2: 
     14        if wx_supports_html2: 
    2915            # Complete HTML/CSS support! 
    3016            self.view = html.WebView.New(self) 
    31             self.view.LoadURL("file://" + docs_path + '\\' + path) 
    32             self.Show() 
    33         else:  
    34             #For cases that do not build against current version dependency 
    35             # Wx 3.0 we provide a webbrowser call - this is particularly for  
    36             #Red hat used at SNS for which Wx 3.0 is not available.  This 
    37             #does not deal with issue of math in docs of course.  
    38  
    39             webbrowser.open_new_tab("file:///" + docs_path + "/" + path) 
    40  
    41   
     17            self.view.LoadURL("file://" + path) 
     18        else: 
     19            # This ain't gonna be pretty... 
     20            self.view = html.HtmlWindow(self, -1, style=wx.NO_BORDER) 
     21            self.view.LoadPage(path) 
  • src/sas/guiframe/gui_manager.py

    ra4340d1 r9bbb627  
    2424import logging 
    2525import httplib 
     26import webbrowser 
    2627 
    2728 
     
    21522153    def _onSphinxDocs(self, evt): 
    21532154        """ 
    2154         Bring up Sphinx Documentation at top level whenever the menu item 
    2155         'documentation' is clicked. Calls DocumentationWindow with the top 
    2156         level path of "index.html" 
     2155        Bring up Sphinx Documentation.  If Wx 2.9 or higher is installed  
     2156        with proper HTML support then Pop up a Sphinx Documentation dialog 
     2157        locally.  If not pop up a new tab in the default system browser  
     2158        calling the documentation website. 
    21572159         
    21582160        :param evt: menu event 
     
    21602162        # Running SasView "in-place" using run.py means the docs will be in a 
    21612163        # different place than they would otherwise. 
    2162         from documentation_window import DocumentationWindow 
    2163          
    2164         sphinx_doc_viewer = DocumentationWindow(self, -1, "index.html") 
    2165 #        sphinx_doc_viewer.Show() 
    2166  
     2164 
     2165        show_sphinx_docs = float(wx.__version__[:3]) >= 2.9 
     2166        if show_sphinx_docs: 
     2167            SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 
     2168            if SPHINX_DOC_ENV in os.environ: 
     2169                docs_path = os.path.join(os.environ[SPHINX_DOC_ENV], "index.html") 
     2170            else: 
     2171                docs_path = os.path.join(PATH_APP, "..", "..", "doc", "index.html") 
     2172 
     2173            if os.path.exists(docs_path): 
     2174                from documentation_window import DocumentationWindow 
     2175 
     2176                sphinx_doc_viewer = DocumentationWindow(None, -1, docs_path) 
     2177                sphinx_doc_viewer.Show() 
     2178            else: 
     2179                logging.error("Could not find Sphinx documentation at '%' -- has it been built?" % docs_path) 
     2180        else: 
     2181            #For red hat and maybe others who do not have Wx 3.0 
     2182            #just send to webpage of documentation 
     2183            webbrowser.open_new_tab('http://www.sasview.org/sasview') 
    21672184 
    21682185    def set_manager(self, manager): 
  • src/sas/guiframe/local_perspectives/data_loader/data_loader.py

    rb45cde3 rb3efb7d  
    233233                error_message += "Make sure the content of your file" 
    234234                error_message += " is properly formatted.\n\n" 
    235                 error_message += "When contacting the SasView team, mention the" 
     235                error_message += "When contacting the DANSE team, mention the" 
    236236                error_message += " following:\n%s" % str(error) 
    237237            elif data_error: 
  • src/sas/guiframe/local_perspectives/plotting/AnnulusSlicer.py

    r400155b r79492222  
    3535     
    3636        ## Number of points on the plot 
    37         self.nbins = 36 
     37        self.nbins = 20 
    3838        #Cursor position of Rings (Left(-1) or Right(1)) 
    3939        self.xmaxd = self.base.data2D.xmax 
     
    131131                   math.fabs(self.outer_circle.get_radius())) 
    132132        #if the user does not specify the numbers of points to plot  
    133         # the default number will be nbins= 36 
     133        # the default number will be nbins= 20 
    134134        if nbins == None: 
    135             self.nbins = 36 
     135            self.nbins = 20 
    136136        else: 
    137137            self.nbins = nbins 
  • src/sas/guiframe/media/data_explorer_help.rst

    r23a9beb r0d66541  
    1 .. data_explorer_help.rst 
     1..data_explorer_help.rst 
    22 
    3 .. This is a port of the original SasView html help file to ReSTructured text 
    4 .. by S King, ISIS, during SasView CodeCamp-III in Feb 2015. 
    5  
    6 Loading Data 
    7 ============ 
    8  
    9 Introduction_ 
    10  
    11 Load_Data_ 
    12  
    13 Handy_Menu_ 
    14  
    15 Activate_Data_ 
    16  
    17 Remove_Data_ 
    18  
    19 Append_Plot_to_Graph_ 
    20  
    21 Create_New_Plot_ 
    22  
    23 Freeze_Theory_ 
    24  
    25 Send_Data_to_Applications_ 
    26  
    27 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    28  
    29 .. _Introduction: 
    30  
    31 Introduction 
    32 ------------ 
    33  
    34 *Data Explorer* is a panel that allows the user more interactions with data.  
    35 Some functionalities provided by the Data Explorer are also available through  
    36 the context menu of plot panels or other menus of the applications.Under menu  
    37 *View*  of the menubar, Data explorer can be toggled between Show and Hide by  
    38 clicking the menu *Show/Hide Data Explorer* . 
    39  
    40 *IMPORTANT!*  When Data explorer is hidden, all the data loaded will be sent  
    41 directly to the current active application, if possible. When data Explorer is  
    42 shown data go first to the Data Explorer for the user to handle them later. 
    43  
    44 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    45  
    46 .. _Load_Data: 
    47  
    48 Load Data 
    49 --------- 
    50  
    51 To Load data, click the button *Load Data* , then select one or more (holding  
    52 Ctrl key) files to load into the application. In the list, the *Data*  will be  
    53 displayed as the name of each selected file. Expending this data by clicking  
    54 the *+*  symbol will display available information about the data such as data  
    55 title if exists. 
    56  
    57 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    58  
    59 .. _Handy_Menu: 
    60  
    61 Handy Menu 
    62 ---------- 
    63  
    64 For a quick Data-info/Save/Plot/3d-plot(2d only)/Edit-mask(2d only),  
    65 high-light the data/theory, right-click, and select a proper item from the  
    66 context menu. 
    67  
    68 .. image:: hand_menu.png 
    69  
    70 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    71  
    72 .. _Activate_Data: 
    73  
    74 Activate Data 
    75 ------------- 
    76  
    77 To interact with data, check a data label and click on a button. Checking Data  
    78 make them active for the button operation. Unchecking Data labels will  
    79 deactivate them. 
    80  
    81 There is a combo box labeled *Selection Options*  that allows to activate or  
    82 select multiple data simultaneously. 
    83  
    84 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    85  
    86 .. _Remove_Data: 
    87  
    88 Remove Data 
    89 ----------- 
    90  
    91 Remove data button remove all reference of this data into the application. 
    92  
    93 *WARNING!* Remove data will stop any jobs currently using the selected data. 
    94  
    95 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    96  
    97 .. _Append_Plot_to_Graph: 
    98  
    99 Append Plot to Graph 
    100 -------------------- 
    101  
    102 Click on the button *Append To*  to append selected Data to a plot panel on  
    103 focus. Next to this button is a combo box containing available panels names.  
    104 Selecting a name from this combo box will set the corresponding lot panel on  
    105 focus. If not plot panel is available, the combo box and button will be  
    106 disable. 2D Data cannot be appended to any plot panels . This operation can  
    107 only be performed on 1D data and plot panels currently containing 1D data. 
    108  
    109 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    110  
    111 .. _Create_New_Plot: 
    112  
    113 Create New Plot 
    114 --------------- 
    115  
    116 Click on *New Plot*  button to create a new plot panel where selected data  
    117 will be plotted. 
    118  
    119 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    120  
    121 .. _Freeze_Theory: 
    122  
    123 Freeze Theory 
    124 ------------- 
    125  
    126 *Freeze Theory*  button generate Data from selected theory. This operation can  
    127 only be performed when theory labels are selected. 
    128  
    129 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    130  
    131 .. _Send_Data_to_Applications: 
    132  
    133 Send to Application 
    134 ------------------- 
    135  
    136 Click on the button *Send To*  to send Data to the current active control  
    137 page. One of the single/batch mode can be selected only for Fitting. The batch  
    138 mode provides serial (batch) fitting with one model, i.e., fitting one data by  
    139 another data. Note that only the Fitting allows more that one data to be sent. 
     3Placeholder for data explorer help 
  • src/sas/guiframe/media/graph_help.rst

    r98b30b4 r0d66541  
    1 .. graph_help.rst 
     1..graph_help.rst 
    22 
    3 .. This is a port of the original SasView html help file to ReSTructured text 
    4 .. by S King, ISIS, during SasView CodeCamp-III in Feb 2015. 
    5  
    6 Plotting Data/Models 
    7 ==================== 
    8  
    9 Graph_Menu_ 
    10  
    11 2D_Data_Averaging_ 
    12  
    13 Key_Sequences_ 
    14  
    15 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    16  
    17 .. _Graph_Menu: 
    18  
    19 Graph Menu 
    20 ---------- 
    21  
    22 Invoking_the_Graph_Menu_ 
    23  
    24 Reset_Graph_ 
    25  
    26 Hide_Show_Delete_Graph_ 
    27  
    28 Data_Info_ 
    29  
    30 Save_Plot_Image_ 
    31  
    32 Save_Data_ 
    33  
    34 Drag_Plot_ 
    35  
    36 Zoom_In_Out_ 
    37  
    38 Remove_Data_from_Plot_ 
    39  
    40 Change_Scale_ 
    41  
    42 Linear_Fit_ 
    43  
    44 Other_Graph_Modifications_ 
    45  
    46 .. _Invoking_the_Graph_Menu: 
    47  
    48 Introduction 
    49 ------------ 
    50  
    51 Locating the pointer and right-clicking on a data/theory plot will bring a  
    52 context menu. On the menu, select a menu item. 
    53  
    54 .. _Reset_Graph: 
    55  
    56 Reset Graph 
    57 ----------- 
    58  
    59 To reset the graph's axis range, right click on the plot and the context menu  
    60 pops-up. Select *Reset Graph*  and the plot will take its initial range. Also  
    61 the 'home' icon in tool bar will do the same. 
    62  
    63 .. _Hide_Show_Delete_Graph: 
    64  
    65 Hide/Show/Delete Graph 
    66 ---------------------- 
    67  
    68 To Hide, click the Hide (bar) button in the tool bar.To Show, select the the  
    69 'Show' menu item in the 'Graph' menu in the menu bar.To Delete, click the 'x'  
    70 button in the title bar. 
    71  
    72 Note: If a residuals graph (in Fitting) is hidden, it will not show up after  
    73 computation. 
    74  
    75 .. _Data_Info: 
    76  
    77 Data Info 
    78 --------- 
    79  
    80 From the context menu, select 'Data Info' to see the data information dialog 
    81 panel. 
    82  
    83 .. _Save_Plot_Image: 
    84  
    85 Save Plot Image 
    86 --------------- 
    87  
    88 Right click on plot. Context menu will pop-up select save image [file name]. 
    89 A dialog window opens and write a the name of the file to save and click on  
    90 *Save Image.* 
    91  
    92 .. _Save_Data: 
    93  
    94 Save Data 
    95 --------- 
    96  
    97 From the context menu, select 'Save points as a file' for 1D, or 'Save as a  
    98 file(DAT)' for 2D. Note that two formats, txt and xml, are available in 1D  
    99 saving. 
    100  
    101 .. _Drag_Plot: 
    102  
    103 Drag Plot 
    104 --------- 
    105  
    106 Select the *crossed arrows*  button on the plot panel *toolbar*  to drag the  
    107 plot. To disable dragging mode, unselect the same button on the toolbar. 
    108  
    109 .. _Zoom_In_Out: 
    110  
    111 Zoom In/Out 
    112 ----------- 
    113  
    114 Select the *rectangle*  button on the plot panel *toolbar*  to zoom in a 
    115 region of the plot. 
    116  
    117 To disable zoom mode, unselect the same button on the toolbar. After zoom in 
    118 a region, select *left arrow*  or *right arrow*  button on the toolbar to set 
    119 the graph the the previous size. If a mouse wheel button is available, 
    120 *zoom in/out*  by scrolling the mouse wheel (see Key_Sequences_ help for 
    121 details). 
    122  
    123 .. _Remove_Data_from_Plot: 
    124  
    125 Remove Data from Plot 
    126 --------------------- 
    127  
    128 Highlight the plot and the context menu appears.Select *remove [file name]*. 
    129 The plot selected will disappear. 
    130  
    131 .. _Change_Scale: 
    132  
    133 Change Scale 
    134 ------------ 
    135  
    136 If the loaded data is a 1-D data changing scale or data representation will  
    137 work as follows. *Right click* on the plot window. A context menu pops-up and  
    138 select *Change Scale* . A dialog window titled *select the scale of the graph*  
    139 will pop-up then change the *x* , the *y*  and the *view*  values as wish. 
    140  
    141 The 'view' option includes the axis scale short-cuts such as Linear, Guinier,  
    142 Cross-sectional (XC) Guinier, and Porod plot scale. For a proper data set,  
    143 these axis scales can be used to estimate Rg, Rod diameter, or Background of  
    144 neutron scattering data respectively (via 'Linear Fit'; see below). For a 2D  
    145 image, *Right click*  on the image to pop-up the context menu. Select to  
    146 switch from linear to log scale. The scale selected is printed on the status  
    147 bar. 
    148  
    149 If the loaded data is an image. *Right click*  on the image to pop-up the 
    150 context menu. Select to switch from linear to log scale. The scale selected is 
    151 printed on the status bar. 
    152  
    153 .. _Linear_Fit: 
    154  
    155 Linear Fit 
    156 ---------- 
    157  
    158 Linear fit is to perform a line model fitting keeping the scale of the plot. 
    159 Highlight data to fit. From the context menu select *Linear Fit* . A dialog 
    160 window appears. Change model initial parameters, data limits and hit *fit* 
    161 button. New parameters values are displayed and the line with the new 
    162 parameters is added to the plot. Especially for Guinier, XC Guinier, and 
    163 Porod plot scale, this 'Linear Fit' will provides Rg, Rod diameter, and 
    164 background, respectively. The following figure shows an example for the 
    165 Guinier scale. 
    166  
    167 .. image:: guinier_fit.png 
    168  
    169 .. _Other_Graph_Modifications: 
    170  
    171 Other Graph Modifications 
    172 ------------------------- 
    173  
    174 Some custom modifications of the symbols, text, axis, etc of the graph are  
    175 provided. 
    176  
    177 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    178  
    179 .. _2D_Data_Averaging: 
    180  
    181 2D Data Averaging 
    182 ----------------- 
    183  
    184 Principle_ 
    185  
    186 How_to_Average_ 
    187  
    188 Available_Averagings_ 
    189  
    190 Unmasked_Circular_Average_ 
    191  
    192 Masked_Circular_Average_ 
    193  
    194 Sector_Average_ 
    195  
    196 Annular_Average_ 
    197  
    198 Box_Sum_ 
    199  
    200 Box_Averaging_in_Qx_ 
    201  
    202 Box_Averaging_in_Qy_ 
    203  
    204 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    205  
    206 .. Principle:  
    207  
    208 Principle 
    209 --------- 
    210  
    211 This feature allows you to perform different types of averages on your data,  
    212 and allows you to see what regions of the detector will contribute to the  
    213 average. The region to be averaged will be drown and can be modified by  
    214 dragging the lines around. 
    215  
    216 .. _How_to_Average: 
    217  
    218 How to Average 
    219 -------------- 
    220  
    221 Right click on 2D data for the context menu to appear. Select one type of  
    222 averages among *"sector [Q view]", "Annulus [Phi view]", "Box sum", "Box  
    223 averaging in Qx ", "box averaging on Qy","Perform circular Average".* 
    224  
    225 A slicer will appear except for *"Perform circular Average"*  that you can  
    226 drag by clicking on a slicer 's marker. When the marker is highlighted in red,  
    227 it means that the slicer can change size.You can also move some of the slicer  
    228 by simply drag its side when highlighted in red. the slicer size will be reset  
    229 to its previous size if the user try to select a region greater than the size  
    230 of the data. 
    231  
    232 The user can also select a region to average when a slicer has been selected  
    233 already by *right clicking*  on the context menu and selecting *Edit Slicer  
    234 Parameters* . The dialog window will appears and the user can enter values to  
    235 selected a region or selected numbers of points to plot *nbins* . 
    236  
    237 For *Box sum* , when the user selects this option, a new panel is created  
    238 containing the result of average of the sum of every pixels contains on that  
    239 data.The user can also enter values to select a region. 
    240  
    241 .. _Available_Averagings: 
    242  
    243 Available Averagings 
    244 -------------------- 
    245  
    246 Some different types of averaging are provided for. 
    247  
    248 .. _Unmasked_Circular_Average: 
    249  
    250 Unmasked Circular Average 
    251 ------------------------- 
    252  
    253 This operation will perform and average in constant q-rings around the (x,y) pixel 
    254 location of the beam center. 
    255  
    256 .. _Masked_Circular_Average: 
    257  
    258 Masked Circular Average 
    259 ----------------------- 
    260  
    261 This operation is same as 'Masked Circular Average' except that the masked 
    262 region is excluded if masked. 
    263  
    264 .. _Sector_Average: 
    265  
    266 Sector Average [Q View] 
    267 ----------------------- 
    268  
    269 This operation averages in constant q-arcs. The width of the sector is specified in 
    270 degrees (+/- delta phi) each side of the central angle (phi). 
    271  
    272 .. _Annular_Average: 
    273  
    274 Annular Average [Phi View] 
    275 -------------------------- 
    276  
    277 It performs an average between two q-values centered in (0,0), and averaged  
    278 over a width of a specified number of pixels. The data is returned as a  
    279 function of angle (phi) in degrees. Moving one circle of this slicer to  
    280 radius of zero corresponding to a circular averaging on radius qmax , the  
    281 outer circle. The angle zero starts from the positive x-axis direction. 
    282  
    283 .. _Box_Sum: 
    284  
    285 Box Sum 
    286 ------- 
    287  
    288 Perform the sum of counts in a 2D region of interest.When editing the slicer,  
    289 the user can enter the length and the width the rectangle slicer and the  
    290 coordinates of the center of this rectangle. 
    291  
    292 .. _Box_Averaging_in_Qx: 
    293  
    294 Box Averaging in Qx 
    295 ------------------- 
    296  
    297 Computes average I(Qx) for a region of interest. When editing the slicer, the  
    298 user can control the length and the width the rectangle slicer. The averaged  
    299 output is calculated from the constant bins with rectangular shape. The  
    300 resultant q values are nominal values, i.e., the central values of each bins  
    301 on the x-axis. 
    302  
    303 .. _Box_Averaging_in_Qy: 
    304  
    305 Box Averaging in Qy 
    306 ------------------- 
    307  
    308 Computes average I(Qy) for a region of interest.When editing the slicer, the  
    309 user can control the length and the width the rectangle slicer. The averaged  
    310 output is calculated from the constant bins with rectangular shape. The  
    311 resultant q values are nominal values, i.e., the central values of each bins  
    312 on the y-axis. 
    313  
    314 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    315  
    316 .. _Key_Sequences: 
    317  
    318 Key Sequences 
    319 ------------- 
    320  
    321 Floating_Panel_ 
    322  
    323 Context_Menu_ 
    324  
    325 Zoom_ 
    326  
    327 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 
    328  
    329 .. _Floating_Panel: 
    330  
    331 Floating Panel 
    332 -------------- 
    333  
    334 For a graph panel to float on the top of the SV window: 
    335  
    336 Press the *Ctrl(Cmd on MAC) key*  on dragging and placing a panel. Or if you  
    337 want to make all plot panels float, select 'Float' from Graph/Preperences in  
    338 the menu bar. Otherwise choose 'Dock'. 
    339  
    340 .. _Context_Menu: 
    341  
    342 Graph Context Menu 
    343 ------------------ 
    344  
    345 To get the graph context menu to print, copy, save data, (2D)average, etc,  
    346 *locate the mouse point on the plot to highlight and *(Mouse) Right Click*  
    347 to bring up the full menu. 
    348  
    349 .. _Zoom: 
    350  
    351 Zoom In/Out 
    352 ----------- 
    353  
    354 To Zoom in or out the full plot, *locate the mouse point inside the graph  
    355 which will be the center of the zooming, then *rotate MouseWheel*. 
    356  
    357 *To Zoom in or out the plot in x or y direction, *locate (and click) the  
    358 mouse point near x (or y) axis just outside of the graph and then *rotate  
    359 MouseWheel* .* Note that this works only on the 1D plots. 
     3Placeholder for graph help 
  • src/sas/models/media/model_functions.rst

    r98b30b4 r79492222  
    8282Contents 
    8383-------- 
    84 1. Background_ 
     841. Introduction_ 
    8585 
    86862. Model_ Functions 
     
    9999 
    100100 
    101 .. _Background: 
    102  
    103 1. Background 
     101.. _Introduction: 
     102 
     1031. Introduction 
    104104--------------- 
    105105 
  • src/sas/perspectives/calculator/data_editor.py

    rb45cde3 r79492222  
    4646     
    4747    if error is not None: 
    48         message += "When contacting the SasView team," 
     48        message += "When contacting the DANSE team," 
    4949        message += " mention the following:\n%s" % str(error) 
    5050     
  • test/sasdataloader/test/ring_testdata.txt

    r400155b r8c9ffde  
    11<X>   <Y>   <dY> 
    2 0.0 0.974491286452 0.0803843574327 
    3 0.314159265359 0.9046853025 0.0768971192264 
    4 0.628318530718 0.964040908176 0.0790933208542 
    5 0.942477796077 0.922142905769 0.0781616076625 
    6 1.25663706144 1.02710537736 0.080875897538 
    7 1.57079632679 1.01448978075 0.0808313893873 
    8 1.88495559215 1.04677136013 0.0828850195035 
    9 2.19911485751 1.00067189877 0.0790510747578 
    10 2.51327412287 1.06280533013 0.0830643956456 
    11 2.82743338823 1.04313751703 0.0824585190353 
    12 3.14159265359 0.993559460696 0.0803376331443 
    13 3.45575191895 0.998101030127 0.0813124293449 
    14 3.76991118431 1.04589910764 0.0821364674302 
    15 4.08407044967 0.997201556522 0.0797466854806 
    16 4.39822971503 1.07289797405 0.0830165798358 
    17 4.71238898038 1.01212391625 0.0803021745794 
    18 5.02654824574 0.995907123899 0.0804649435453 
    19 5.3407075111 0.991431571613 0.0803765721376 
    20 5.65486677646 0.959020086792 0.0787114622667 
    21 5.96902604182 0.945705788519 0.0767669312314 
     20.157079632679 0.892216637179 0.0775663414595 
     30.471238898038 0.98455818481 0.079657697118 
     40.785398163397 0.961797998125 0.0788556980394 
     51.09955742876 0.97171642327 0.0791285423182 
     61.41371669412 1.0146882474 0.082063426639 
     71.72787595947 1.00992701463 0.080353091764 
     82.04203522483 1.02880481582 0.0815342153253 
     92.35619449019 1.00598046038 0.0798251732283 
     102.67035375555 1.07871021115 0.0836335498662 
     112.98451302091 0.998456910563 0.079747331585 
     123.29867228627 1.04419570592 0.0830428241489 
     133.61283155163 1.01232642025 0.0808308513267 
     143.92699081699 1.0083937443 0.0810028887009 
     154.24115008235 1.03216852956 0.0810389534812 
     164.55530934771 1.06499475793 0.0814085230439 
     174.86946861306 0.982265097403 0.0805528988046 
     185.18362787842 1.00390126667 0.0806633561062 
     195.49778714378 0.980815954717 0.0793145659499 
     205.81194640914 0.907713166456 0.0765782956648 
     216.1261056745 0.983188286879 0.0797444057771 
Note: See TracChangeset for help on using the changeset viewer.