The modules
===========

A module  is a  small functional unit  which adds  a feature to  peak-o-mat. The
available modules appear as notebook tabs  in the lower part of the main window.
The only  built-in module is the *Fit*  module.  All other modules  consist of a
python source (.py) and a XRC (.xrc)  file, the latter describing the GUI of the
module. See the 'customisation' section below for an example of how to add custom modules to peak-o-mat.

Fit module
----------

This is the core module of peak-o-mat. It is divided into four sub panels:

Model
^^^^^

As described above, the model can be either a list of predefined tokens which
may suffixed by an integer number or a valid python expression. Also, all
functions defined in userfunc.py may be used in the model definition. See the
'customisation' section for details. All predefined tokens will show-up as
button and you may click them to add the corresponding token to the model
instead writing in the text field.

Parameters
^^^^^^^^^^

This panels holds the initial guess or fit results for all parameters. The
starting value for every parameter may be entered by hand or by 'drawing' each
of the model's components on the graph with help of the mouse. Once all
parameters are set, the 'Fit (short link)' button changes from greyed out to
active and the fit process may be started by clicking on the button. The
button's label says 'short link' since the button is a duplicate of the 'Fit'
button on the fit panel (see below).

Weights
^^^^^^^

...to be written

Fit
^^^

.. to be written

Data operations module
----------------------

As mentioned  before, manipulations of  the set data  can be done on  a higher
level than editing the x- and  y-data directly.  

Operations on the sets can be either an operation between the y-values of
different sets (inter-set) or a transformation of either the x- or y-values of
one set (intra-set).  In the former case, a new set is created, in the latter
case the transformation is attached to the current set and can be removed later
thus restoring the original data.  The sets can be referenced by the identifier
'sX', where X is the set number of the active plot shown in the tree view on the
right side.  Inter-set operations are only possible between sets of the same
plot.  The intra-set operations are applied to all selected sets.  The axis and
set identifiers ('x','y','sX') appearing in the expression determine wether the
expression is an inter- or an intra-set operation. The special operator & will
join two sets if they do not overlap.

examples of valid expressions are::

  x+10              intra-set, x-axis
  1/y               intra-set, y-axis
  log10(y)          intra-set, y-axis
  (s0+s1)/2         inter-set
  s0&s1		    inter-set

Evaluate module
---------------

This module  allows you to create sets  by evaluating a custom  function or by
drawing a spline on the plot canvas. 

Set info module
---------------

The  set info  module gives  information about  the number  of total  and masked
points  of  a  set  and  the  list  of  transformations  attached  to  it.   The
transformations can  be deactivated temporarily by  unchecking the corresponding
checkbox, removed completely  and the transformations and their  comments can be
edited when double-clicking on the corresponding field.

Calibration module
------------------

calibrate data using spectral lines of Ne,Ar,He,Me, etc.

Shell module
------------

shell access to the internals of peak-o-mat (dangerous)

Ruby calibration module
-----------------------

pressure calibration using the R1 luminescence
