Skip to main content

Infrared spectra

>

Introduction

Infrared spectroscopy (IR) is a spectroscopic technique dealing with the infrared region of the electromagnetic spectrum (wavelengths between 700 nm and 1 mm). It is widely used to characterize and study chemicals. The IR spectrum can be visualized in a graph of infrared light absorbance or transmittance (%) with respect to the frequency or wavelength given in wavenumber (cm⁻¹). Infrared spectroscopy exploits the fact that molecules absorb specific frequencies of light characteristic of their structure. The absorption occurs at the resonant frequency which corresponds to the vibrational frequency of the molecule, associated to a particular normal mode of motion and bond type.

spectrum

Analyze

Upload and visualize spectra

In this view there are different ways to upload an IR spectrum in either a JCAMP or a text file format.

Upload a file
How to upload a file

In this view, it is possible to upload one or more spectra of a target sample by drag/drop either a JCAMP-DX or a text file. An individual spectrum can be visualized and analyzed by clicking on its name in the "List of files". Several spectra can also be compared. The information about the chosen sample can be found in the colored window on the right.

Upload spectrum

You can upload a spectrum in 3 different ways:

  • by dragging your files and then dropping them in the designated zone.
  • by clicking on the upload zone and selecting the files to upload.
  • by copying the spectrum into the clipboard and then pasting it using CTRL+V (or ⌘+V on MacOS).

add dragdrop

The format of the file to be uploaded should be JCAMP-DX (extension .dx or .jdx), this is the usual format used on most IR spectrophotometers.

Once the spectrum is uploaded you can visualize it by clicking on its name and manipulate it.

Manipulate a spectrum
How to manipulate a spectrum.

Manipulating the spectrum

Once uploaded, you can select the spectrum on the right in the List of files tab. Once selected the spectrum will appear in the Analyse spectrum tab.

You can manipulate the graph in the following ways:

  • SHIFT + drag on the graph to translate it
  • Click + drag to zoom in on the selected window
  • Double click to return to default view
  • Scroll the mouse wheel to rescale the y-axis of the spectrum
  • SHIFT + double click to zoom out progressively

add manipulate

Switch between absorbance and transmittance

When loading an IR spectrum, the application is aware if it was acquired in transmittance or absorbance mode. If you want to switch between the two modes, you may click on the toggle icon shown below.

The application will remember your preferred mode for the next time.

Switch

caution

Don't forget to Save data before leaving the page!

Peak picking

It is possible to manually peak picking on an infrared spectrum by holding down the ALT key, and then left-clicking on the peaks of interest.

Manual peak picking
Informations about the manual peak picking.

Peak picking

It is possible to manually pick peaks in a spectrum by holding down the ALT key, and then left-clicking on the peaks of interest.

The application will systematically look for the strongest signal close to the wavelength that has been clicked. The peaks will be stored in a separate tab.

The algorithm automatically classifies the peaks.

add manualpick

The application will systematically look for the strongest signal close to the wavelength that has been clicked.

The peak will then be displayed under IR peaks.

pickpeak

Alternatively, the system allows to perform peak picking automatically within a certain range and signal-to-noise ratio.

Auto peak picking
Informations about the auto peak picking.

Auto peak picking

The system can automatically pick peaks of interest for a specific range of wavenumbers with a defined noise level using Auto peak picking tab.

Auto peak picking is based on the Savitzky Golay filter.

add autopick

The signal strength is given automatically. The categorization S, m and w is done automatically based on the highest and lowest selected peak. Sfor strong, m for medium and wfor weak.

In the table below the spectra, you can see the results of the peak picking. You can assign to each peak a name and you can delete unwanted peaks.

All peak wavenumbers and intensities are reported in a compact format ready for publication.

add peaklist

Spectrum preprocessing
Apply mathematical tools to the spectra.

Preprocessing

preprocessing

Filters

You can apply the following filters to the spectra to enhance the visualization. The modifications include the following:

  • Center Mean : subtract the mean from every variable observation in the dataset, so that the new variable's mean is centered at 0.
  • Center Median : subtract the median from every variable observation in the dataset, so that the new variable's median is centered at 0`
  • Divide by SD : divide every variable observable in the dataset by the standard deviation yields a distribution with a standard deviation equal to 1.
  • Normed: Specify a value in the value field and select the type of normalization:
    • Sum to value: normalize the integral under the curve so that it sums to the specified value.
    • Absolute sum to value: normalize the integral under the curve so that the absolute sum sums to the specified value.
    • Max to value: normalize the maximum value to the specified value.
  • Rescale (x to y) : rescale the graph such that the y-values fit between specified minimum and maximum values.
  • First derivative : calculate the first derivative of the spectra.
  • Second derivative : calculate the second derivative of the spectra.
  • Third derivative : calculate the third derivative of the spectra.
  • Savitzky-Golay : smooth the spectra and calculate derivatives based on the following parameters:
    • Window: smoothing window size, must be an odd number, greater than 5.
    • Derivative: derivative order.
    • Polynomial: the degree of the polynomial used to calculate the Savitzky-Golay.
  • AirPLS baseline : baseline correction using adaptive iterative reweighed penalized least squares algorithm.
  • Iterative polynomial baseline : baseline correction using iterative polynomial fitting algorithm.
  • Rolling average baseline : baseline correction using a rolling average.
  • Rolling median baseline : baseline correction using a rolling median.
  • Rolling ball baseline : baseline correction using a rolling ball.
  • Ensure growing X values: ensure that the x-values are in increasing order.
  • Function on X : apply a function to the x-values. For example, log(x).
  • Function on Y : apply a function to the y-values. For example, log10(y+1).
  • Calibrate X : calibrate the x-values with the parameters from, to, nbPeak and targetX.
  • Pareto normalization : Pareto scaling, which uses the square root of standard deviation as the scaling factor, circumvents the amplification of noise by retaining a small portion of magnitude information. 10.1016/j.molstruc.2007.12.026

One classical preprocessing algorithm is Standard Normal Variate (SNV). This preprocessing can be achieved by selecting the 2 options Center mean and Divide by SD.

Selecting the range

A certain range of x-values can be selected to show only a part of the spectrum using Range.

Exclusions

Depending on the analysis, some regions should be removed using Exclusions in order to improve the visualization.

Number of points

Number of points can be changed to reduce the number of points in the spectra.

For instance, centering the mean and dividing by the standard deviation is a common practice in the IR spectra. This can be performed by successively applying the Center Mean and the Divide by SD filters. Filters are added in the order that we set them.

Compare

You can compare multiple IR spectra by first opening up an IR spectrum, and then clicking Compare on top of the IR spectrum.

After which, under List of selected entries, you can choose the other molecule which has the spectrum that you would like to compare. Then choose the IR spectrum you would like to be plotted under List of IR spectra. (check animation below)

add compare

The spectra will then be both displayed on top of each other. You can also freely hide selected graphs and change the color by clicking the color bar.

Visualising spectra
How to show/hide spectra.

Visualising spectra

If you wish to see only certain spectra, it is possible to selectively hide (or delete) them.

In order to do so, use the add icons buttons on the top panel of the displayed spectra list.

add showhide

You can also change the color of an individual spectrum in the displayed spectra tab with a double click.

add changecolor

Columns customization
In many tables it is possible to select which columns to display. This is achieved by clicking on the icon.

After clicking on the icon a dialog box opens that allows to add a new column.

There are 5 parameters to fill for a new column:

  • name: the column name. This will be displayed as the header to the column.
  • rendererOptions: options that allows among other to format numbers. One very useful formatter is numeral (see after)
  • width: number of pixels for the specific column. May stay empty for automatic layout.
  • forceType: select how to display complex values (see later)
  • jpath: where to find the information to display in the column

In order to add a new column you need to select the jpath using the hierarchical drop down menu.

add.gif

Columns can be moved or rearranged as well.

deleteMove.gif

rendererOptions: numeral

number,

Value to formatrendererOptionsResult
12.345678numeral:'#.##'12.34
12.3numeral:'#.00'12.30
0.3numeral:'#.0 %'30.0 %

forceType

In the database some values are stored as an object that needs to be displayed to the user in an intuitive way.

For example the unit type will store in the database the value using as units SI (we convert the data to the units defined by the 'standard international') and specify in which units the user would like to display the data. So in the following example we are in fact storing the value -150°C by storing the value in SI (Kelvin) and specifying that the user wants to see it in °C.

{
"SI": 123.15,
"unit": "°C"
}

Another example is the valueUnits type that will store the data in 2 different properties (value and unit). In this case the value is stored in the specified units and there is no conversions.

{
"value": 123,
"units": "°C"
}

While this way to store the data in the database is very practical it is not the way that the user would like to see his results. We have therefore the possibility to forceType: define how the user would like to see the results.

Other types include mf. This formatter allows to correctly display a molecular formula that is stored in the database as "C10H20O3". i.e. it will put the numbers in subscript (C₁₀H₂₀O₃).