Dispersion fitting demo
The fitting of a dataset that exhibits wavelength-dependence of time zero (dispersion) is demonstrated.
Load the supplied 'dispersion.dat' dataset first.
Two figures open. The raw dataset in three dimensions (can be rotated) and another plot that allows for data exploration. Clicking once inside the latter figure (the surface plot) to activate a cross-hair, and a second time to select a point inside the surface plot. The selected point (the center of the cross-hair) determines which time trace and which spectrum to plot individually. Click again for another point. See also the Start fitting demo.
Select the advance options in the fitting parameters section, and set the starting parameters for the dispersion function.
The parameters are defined according to the following equation, and symbolise the order n, time zero μo, the central wavelength λc, and one extra parameter for every order μi. Although the equation describes the phenomenon, it has no physical meaning. Type in some starting values, and press 'Fit dispersion'.
Your command window shows the results from a robust fit to the wavelength-dependent time zeros. These are calculated from the maximum gradient in the cross-correlation between a step-function IRF and each wavelength. See the start fitting page for more details.
A figure that shows the results graphically is generated. The top panel shows the raw dataset with the superimposed dispersion curve. The same dispersion curve is shown in the bottom panel, which also includes the results from the autocorrelation determination for each pixel. It is possible to select a specific time and wavelength range for dispersion fitting, do this in the 'Data Manipulation' panel (see image below). A thick black box will appear over the raw data to show which wavelength range is selected. The specified time range determines the axis limits for the top panel.
An important requirement of the used method is that your dataset should contain time zero. It this is not the case, the autocorrelation cannot be calculated, since the defined autocorrelation function is centered at time zero. If your dataset thus starts at 500, you need to manually 'define' time zero. Two ways can be used. The most easy solution is to define it inside the dataset (manipulating the time base to include time zero). Obviously, this does not mean changing the time spacing. Alternatively, this can be done in the gui. Check the properties of your dataset first via the 'Data properties button'.
Any data manipulation done in the next image will be shown in the data properties box that pops up.
The original dataset contains 0 as first time point. The modified dataset section is shown because the absolute value of 1 is added to the time base via data manipulation.
Now the dispersion cannot be estimated anymore via this method. The output now gives only a straight line.
Change the 'Time shift' value back to zero. Coming back to the correct results shown above, it can be seen that the first appearance of any signal in any wavelength is at 2.55 ps. The full dispersion is 0.2 ps. Shift the whole dataset with -2.55 (ps, the time units of the dataset) in the 'Data manipulation' panel to define time zero. This is also convient for plotting purposes later one (during global analysis), because the time traces are plotted on a logarithmic time scale by default. Otherwise a part of the signal may be absent in the plot (i.e. invisible) while it actually is included in the fit. The new fit results are now:
The command window also shows the time it needed to perform the autocorrelation calculation, in addition to a 'resampling' time. Resampling is required since the autocorrelation can only be determined on regularly time-spaced datasets. If your dataset is regularly spaced, the resampling has no effect. The data is therefore resampled to a new time base that has the same time range as the raw data, with a time spacing that is determined by the number of time points present in the raw data. The time steps in the bottom graph of the dispersion fit results are therefor regularly spaced, and may not be optimum for your dataset. The accuracy can be improved by zooming into the time region that contains the appearance of the signal only. Count the number of irrelavant time point by using the data selector (top left symbol in image below) and the arrow keys of your keyboard to walk through the data.
Adjust the data property settings correspondingly. Alternatively, change the data range and check the modified data properties via the 'Data properties' button. The new time limits are:
Check the resuls by rotating the top graph (click in the top graph and press the rotate button). The new time range has changed the interpolation time step size, which is now slightly improved to be 0.0611 as opposed to 0.0653.
The dataset contains coherent artifacts as well (the oscillations). The dispersion is qualitatively modelled. The described autocorrelation method has effectively picked the onset of the real signal from the (smaller) artifact. You can save the figure and the modelled dispersion curve via:
However, the signal attributed to artifact seems to appear earlier. If preferred, the dispersion curve properties can be manually set and fixed. After pressing 'Fit dispersion' your dispersion curve is then shown. You can also load your own dispersion curve, or the results of a previous run. The format is a single column which contains as many values as wavelengths in your dataset.
Finally, the dispersion curve can be used to model the wavelength-dependent time zero for your dataset in a global analysis. Press 'Apply'.
Before starting the global analysis, modify your dataset to include the desired time and wavelength ranges, but keep the value defined in time shift. Fix also time zero to 0 (in this case it is -2.55 ps).
Proceed to the global analysis demo section for an example on a different dataset (without dispersion).
See also