This part of the manual describes the processing of inverse Laplace transform in Gifa. This includes of course the processing of the DOSY experiments, but also any data-sets (such as relaxation measuremnts experiments) that can interpreted in terms of exonential decay.
Laplace transform is the mathematical operation which relates a decaying signal with the distribution of dampers which created it.
eq [1]
In the terms of this manual, G(s) is said to be in the direct space (experimental data); whereas A(d) is in the reciprocal space.
When there is only one well-defined dampers, the equation 1 simplifies to
G(s) = A exp(-ds) eq [2]
The general problem consists in determining the damper distribution A(d), given the measured signal G(s).
In the case where eq [2] is a correct description of the measured signal (diffusion of monodisperse solutions for instance), Determination of the parameters (A and d) can be simply performed by a least-square fit of the signal G(s). When the equation 1 is to be used (polydisperse solutions), then the Laplace transform has to be inversed. This is a well-known numerically difficult method, the whole purpose of this module is to realise this inversion.
The inverse Laplace analysis permits to describe the complete distribution of dampers A(d) as used in eq 1. This permits to analyze with the same ease, single exponential decays (that will appear as a distribution with one single peak , whose width is related with the accuracy of the estimate), but also sums of exponential (with no assumption needed on the number of components) or even continuous distribution.
The possibility in Gifa to handle Laplace transform has needed the implementation of additional data representations as well as a set of additionnal commands.
Direct space data-sets can be handled in memory in two representations : as a regular sampling of the direct space, or as a tabulated data-set, i.e. data-points measured at arbitrary locations of the direct space.
When regularly sampled, the direct space is assimilated to a time space. So seconds are the natural unit, and the spacing of points in the buffer is determined by the spectral width (SPECW).
When using tabulated data-sets (sampled at arbitrary locations), the location of the sampled points are stored in a special buffer 'TAB' designed for this purpose. This buffer is loaded by copying the data values held in the 1D buffer buffer with the PUT TAB command. The GET TAB command realises the opposite, and copy the TAB buffer to the current working 1D buffer. When handling tabulated data, the current UNIT can be set to TAB in order to locate points in this natural unit rather than in index. The macro showtab has been written to display the normal view of such data-sets.
The macro load permits to read a plain ascii file (one value per line, # and ; are comment) as a 1D data-set. This can be usefull when tabulated values are stored in such a file.
Values in the reciprocal space (damping amplitudes) are always stored in a geometrical series, the slower decay on the left, the faster on the right. The smallest value (lower index) is given with the context DMIN, and the largest with DMAX. This decribes the values as they will be used in the Laplace transform, along with the direct space values. However, one might want to correlate the reciprocal space values to a physical constant (such as diffusion for instance), for this purpose, a calibrating factor is added which is multiplied to the actual value when computing the coordinate : DFACTOR. The macro calib has been adapted to permit DFACTOR calibration from a known signal, on the other hand, the macro calibdosy tries to set DFACTOR form the experimental parameters of the DOSY experiment itself (Length of the gradient pulse; duration of the diffusion delay; intensity in G/cm of a nominal gradient of 1.0)
The dosy_setup macro creates an interactive environment which permits to set most of the pertinent parameters more easily.
These two commands perform the direct Laplace transform from a reciprocal space distribution, to either a regularly sampled direct space data-set (LAPLACE) or to a tabulated one (TLAPLACE). Both commands prompt for the final data-set size, which is completely independent of the starting size. Sizes do not have to be powers of 2.
These commands actually implements the Maximum Entropy Laplace inversion. INVLAP and INVTLAP starts the inversion. They both prompt for the final size, and should be issued with the direct-space data-set (damped data) in the current 1D buffer. They will start for ITER number of iterations. Information on the process will be issued every NDISP iterations, if display is enabled, the progress of the process is also displayed on screen. INVLAP is for regularly sampled data-sets, whereas INVTLAP is for tabulated data-sets.
When the number of iterations is reached, it is possible to increase the ITER context, and the INVLAPCONT and INVTLAPCONT commands permit to continue the process, restarting from the current state.
In the Maximum Entropy theory, the transpose of the Laplace transform appears in the computation of the derivative. These commands implements this transform, they may be needed in certain cases.
These two macros realise the Laplace inversion of the actual DOSY experiments. dosy2d is for the processing of a 2D DOSY experiment : a set of 1D spectra, weighted by the diffusion coefficients; dosy3d is for a 3D DOSY : a set of 2D spectra weighted by the diffusion coefficients. Both macros require 3 parameters : nature of the data-set (regular or tabulated); the final size and a threshold which permits to determine which slices will be processed. This determination is done by considering the initial spectrum of the data-set, and the diffusion dimension is processed only if the related point in this initial data-set is higher than the noise level time the threshold. dosy3d also asks for a file-name, in order to create a file in which the result will bestored, rather than in memory.
Usage of the DOSY module is actually quite simple. First acquire a DOSY experiment (either 2D or 3D). Then process it in a regular fashion along the spectroscopic axes (note that you will not be able to use the easy2D module, but will have to go through the elementary operations yourself). Then estimate the noise in a signal free region. Preset the various Laplace parameters : DMIN, DMAX, TAB buffer, etc... as well as the MaxEnt parameters : ITER, LAMBSP, etc... Then start the complete processing (which can be quite lengthy, even on a fast computer) with dosy2d or dosy3d.
This menu is defined in the /usr/local/gifa/macro/env_dosy.g macro and permits to access most of the needed commands.
Brings a form that permit to set most of the relevent parameters for DOSY processing.
Permits to examine and change the DMIN value
Permits to examine and change the DMIN value
Permits to compute a value for DFACTOR (thus calibrating the damping unit in mm2/sec) from the experimental parameters.
equivalent to calling the load macro, which permits to read a plain ascii file into the 1D buffer.
Raise to square the content of the 1D buffer, needed when using tabulated gradient values, before loading them into the TAB buffer. (performed by copying the data temporary to DATA)
The PUTTAB command which copies the current 1D buffer to the TAB buffer, used for tabulated Laplace transform.
Displays the content of the 1D buffer as a tabulated data-set. Xi, Yi are plotted, where Xi is taken from the TAB buffer, and Yi from the current data-set. This is the showtab macro.
The LAPLACE command which replaces the current data-set by its Laplace transform, as obtained from the current values of SPECW (for the direct space) DMIN and DMAX (for the reciproqual space).
Evaluate the noise of the experiment in a signal free region. Needed by the MaxEnt processing. Actually calls the evaln.g macro.
Access to the ITER context, which detrmines the numbner of iteraton for the MaxEnt inversion.
The context LAMBSP which determines the speed at which the GIFA algorithm will converge (a large value may generate instabilities in the processing).
The context NDISP which determines the screen refresh rate during MaxEnt processing.
The TLAPLACE command which replaces the current data-set by its Laplace transform, computed over the tabulated values in TAB, and obtained from the current values of DMIN and DMAX.
Starts the MaxEnt processing for computing the inverse Laplace transform of the current data-set, considered as a regularly sampled one. Equivalent to the INVLAP command.
Increments ITER and continue the preceding processing, uses the INVLAPCONT command.
Starts the MaxEnt processing for computing the inverse Laplace transform of the current data-set, considered as a tabulated sampled one. Equivalent to the INVTLAP command.
Incremnts ITER and continue the preceding processing, uses the INVTLAPCONT command.
This will bring a box in which the user can sim$ly enter the parameters for the dosy2d or dosy3d processing.
Starts the dosy2d macro which performs the complete processing of the current 2D data-set.
Starts the dosy3d macro which performs the complete processing of the current 3D data-set.
$DMIN
$DMAX
$DFACTOR
$SI_TAB
$TAB[i]
all MaxEnt Related contexts