Category Archives: Computing and fitting spectra

Fit parameter sets embedded in configuration file

Starting with object generation 5.12, you can store fit parameter sets in a list called ‘Fit parameter pool’.  This list is stored as part of the SCOUT or CODE configuration file. Using fit parameter sets from the pool avoids the necessity to load them from separate files.

Instead of specifying a filename for the fit parameter set (which is still possible) you can use phrases like ‘pool(step 1)’ or ‘pool(oscillator strengths only)’ to load fit parameter sets with names ‘step 1’ or ‘oscillator strengths only’.

Using file based fit parameter sets is possible after all, of course.

Angle of incidence distribution

Spectroscopic experiments can never realize single angle of incidence but have to work with a (continuous) distribution of angles. Although in most cases the assumption of a single angle of incidence is a very good approximation there are cases where we need to take into account more details in producing simulated spectra. One example is taking reflectance spectra of small spots with a microscope objective, using a large cone of incident radiation.

For a long time our software packages can compute spectra averaged for a set of incidence angles, each one defined by the value of the angle and a weight. We have now implemented new features to simplify work in this field.

If you have prepared a list of angles of incidence you can now connect these angles to the angle of incidence that you have defined for spectrum object which owns the list of angles. You can check the option as shown here:

If you have activated this option you can use a set of angles with positive and negative values (centered around 0) as shown here:

If the angle of the parent object is 50° the computation of the spectrum is done for the 3 angles 45°, 50° and 55°, with weights 0.3, 0.4 and 0.3, respectively. If you have declared the angle of the parent object to be a fit parameter the set of 3 angles is moved automatically when the value of the center angle changes during the fit. This helps to adjust the distribution of angles to match the experimental settings.

Finally, there is a new fit parameter called ‘Scaling factor of angle range’. This number scales the distance of the individual angles to the center angle: If the factor is 1.0 the original angles are used. If the factor is 0.1, for example, a value of 5° becomes 0.5°. Varying the factor between 0.1 and 2 in the example shown above, you can compute spectra for a distributions between -0.5° … 0.5° to -10° … 10°.

We hope that this new flexibility helps to achieve better fitting results for spectra measured with microscopes or other systems with spectra features depending critically on the angle of incidence.

New spectrum type to define fit restrictions

Starting with object generation 5.05 the list of spectra offers a new object type called ‘Function fit’. It allows the user to define a function which may contain terms that retrieve optical functions, fit parameters and integral quantities (the latter in CODE only, but not in SCOUT). The function value is computed based on the current model and compared to a user-defined target value, or an interval of allowed target values. The fit deviation of the object is the absolute difference between current value and target value (or closest limit of the target range), taken to a user-defined power. If the function value stays within the target interval the deviation is zero.

Objects of this type can be used to impose restrictions to the model. If, for example, an optical function returns the real part n of the refractive index at a certain wavelength, you can define a target interval for n and generate a large deviation outside the target interval. This forces the fit to look for solutions that are compatible with the given range of refractive index values.

 

New fit option

We have included a new fit option which helps to increase the speed of analysis in time critical applications: In methods which use pre-fit sets in the list of fit parameters you can now include the current fit parameter values in the pre-fit search. This eventually avoids many fit iterations if differences between consecutive measurements are small.

The new feature can be turned on or off in the dialog of fit options.

 

Thickness fits: Automatic slider range

Starting with object generation 4.77 you can generate low and high limits for fit parameters automatically when you generate them – at least for thickness values. In the fit options dialog (File/Options/Fit) you can set a percentage (lower right corner) which is used to compute the low and high limit of the available thickness range. The reference value is the thickness value at the time the new fit parameter is generated.

Note that the automatically generated range is also the range of parameter sliders that are based on fit parameters.

Note also that you can automatically generate thin film thickness values as fit parameters by drag&drop of a layer stack to the list of fit parameters in the treeview. If the list of fit parameters is shown in a view this is certainly the fastest way of generating thickness sliders.

Here is an example showing sliders with limits of +/-5% that have been generated automatically:

Batch import using Excel files

If you have used the option to export measured spectra in CODE using Excel format you can now import these spectra in batch mode.

There is a restriction, however: The spectra must be stored in the first worksheet of the Excel document, with the first wavelength in cell A1.

The number of the file format to be used in the batch control sheet is 27.

This feature is available starting with object generation 4.48.

 

Difference spectra

How can I display the difference of simulated and measured spectra?

Sometimes it is advantageous to inspect the difference of simulated and measured spectra in order to find out about appropriate model extensions. Please read the instructions below to activate the drawing of difference spectra.

Open the spectrum for which you want to see the difference with a right-click in the treeview. Select the local menu command File/Options/Difference/Show to turn on the difference display. This menu item is a checked property: Clicking on it changes its status from checked to unchecked or vice-versa.

The additional menu commands File/Options/Difference/Pen and File/Options/Difference/Line mode are used to control the appearance of the difference curve. Use these settings to clearly separate the difference curve from the simulated and measured spectra. You can use, for example, pen 3 (green by default) and line mode 3 (dashed).