1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
.. _tutorial-gui:
*******************************
Overview of the user interface
*******************************
Main window
===========
The main window in GenX is the main work area. It consists of three notebooks separated by resizeable
boundaries. The leftmost is the Data notebook. The upper right one is the Plot notebook and the lower right
is the Model/Fit notebook. If you choose the *wide screen* option when selecting the startup profile, an addditional
second plotting area will appear on the right and a nostbook for plugins below the Data notebook.
The following sections will briefly go through the different notebooks to give a
quick tour of the program.
.. image:: _attachments/gui/main_gui.png
Data notebook
-------------
The Data notebook is for handling the data. It has two tabs:
Data
Used to handle the data sets. Loading data reorder data sets, choosing which data sets to plot.
View
A spreadsheet view of the data for looking at the number.
The view is rather self explanatory at the top of the notebook is a choicebox where the data set one
wants to view is chosen. The raw and transformed data is shown in the spreadsheet columns. Its best use is for
looking at data that gives trouble.
The Data tab has more features. The list shows all created data sets the small toolbar at the
top gives shortcuts to the most used functions. From the left this is
.. image:: _attachments/gui/data_toolbar.png
* Insert new data set.
* Loading data.
* Insert new simulation set.
* Show dialog with meta-data inormation read from a file
* Move current data set(s) up.
* Move current data set(s) down.
* Remove marked data set(s).
* Change the plotting preferences of the marked data set(s). Brings up a dialog box. Not unique parameters will
be displayed as blank (white for colors) and if not set in the dialog will remain unchanged and unique for multiple
data sets if not changed.
* Do calculations/transformation of the marked data set(s). Same as for plotting.
If one calculation/transformation is not the same for all marked data sets the calculation box will be
empty and any expression will not be applied to the data sets if not explicitly typed.
For more information about how to handle the loading and transformation of data see :ref:`tutorial-data-handling`
.. _tutorial-plot:
Plot notebook
-------------
The plot notebook has four tabs.
Data
Shows the data and simulated values.
FOM
Shows the figure of merit (FOM) as a function of the generations when fitting.
.. image:: _attachments/gui/fom.png
Pars
Shows the population spread(blue bars) and the current best value (red dots) of the current
generation when fitting. The horizontal axis is the parameter number in the grid and the vertical axis
represent the normalized parameter value. Normalization is done according to the following formula
:math:`p_{i,norm} = (p_i - p_{i,min})/(p_{i,max} - p_{i,min})` where :math:`p_i` is parameter number :math:`i`
and :math:`min`, :math:`max`
is the minimum and maximum allowed value for that parameter. This can be use to monitor the evolution of the
fitting algorithm and make a decision when to stop it. (When you cant see the blue bars there will be also very
little change in the parameter values)
.. image:: _attachments/gui/pars.png
FOM scans
This is used to plot scans of the FOM vs. one parameter, see below.
.. image:: _attachments/gui/fom_scan.png
Or using the population log to do projections onto one parameter axis, see image below.
.. image:: _attachments/gui/fom_projection.png
Both of these plots can be used to estimate error bars on the fitted parameters. The plots are made by right
clicking on the row number in the grid and choose either :menuselection:`Scan FOM` or :menuselection:`Project FOM`.
For any of the graphs the user can use the ``Zoom`` button and context menu to switch to a mode that allows
zooming into a rectangle with the mouse. You can also change the plot range interactively by scrolling
with the mouse wheel. This will change the upper y-limit of the graph.
By pressing ``Shift`` you can change the lower limit, ``Ctrl`` changes to fine control and ``Alt`` changes
to control the x-axis limits, instead.
Model/Fit notebook
------------------
The Model/Fit notebook in its basic form has two tabs. These may be modified when loading plugins.
(E.g. the SimpleReflectivity will hide Grid and Script and only show the Sample table,
the Reflectivity plugin will add Sample and Simulations tabs.)
Grid
Used to define which parameters of the model to fit. The Grid is a spreadsheet containing 6 columns.
They are named Parameter, Value, Fit, Min, Max, Error. Parameter is the name of the parameter. For most
models one can choose the parameter by right clicking on a marked cell that is not in edit mode (no cursor
should be blinking in the cell) a pop-up menu will appear with a hierarchy of choices. The parameter name
is the same as in the model with the prefix 'set' and first letter capitalized.
Value is the Value of the parameter - this represents both the start guess and the result, during fitting it is
used to show the current best value. Min and Max is the boundaries within which the parameter has to stay during
fitting and initialization. The gray area below the Value represent the relative value within the Min-Max range.
The Error column is used to output calculated error bars.
.. image:: _attachments/gui/grid.png
The toolbar can be used to add, remove and sort the table as well as running FOM scans.
Script
A script editor to edit the python script that defines the model. See for example the tutorial about writing
your own model :ref:`tutorial-writing-model` or just go ahead to the tutorials for your specific
problem :ref:`tutorial-simple-reflectivity`, :ref:`tutorial-xrr-fitting`, :ref:`tutorial-neutron-sim` or :ref:`tutorial-sxrd`.
|