Spectral convolution

* This tool allows to convolve a high resolution spectrum with a specific convolution function (Gaussian, triangle, trapeze) and a given width (+ top for trapeze) on a set of destination wavelengths.
* The original and convolved spectrum units can be either cm-1, µm, nm or Angstrom.

The tool is provided as a stand-alone executable written in python, and available for Windows, Mac and Linux.


  • Windows :
  • Mac :
  • Linux :

How it works:

It ask you to:

  • 1. load the spectrum to convolve (text file (.txt, .csv, .tsv) with units in A, µm, nm, or cm-1)
  • 2a. set the destination wavelengths (in A, µm, nm, or cm-1) of the convolved spectrum
  • 2b. define the type of convolution function (Gaussian, Triangle or Trapeze) and its parameters (width and also top for Trapeze) from a file, or generated (constants or linear function)
  • 3. test if the data fulfill the constraints of convolution, mostly to check if there are any edge effects (option)
  • 4. calculate the convolution
  • 5. plot the initial spectrum with the convolved one (option)
  • 6. set the format of the output file (option)
  • 7. save the convolved spectrum

Source code:

The source code in Python 3 can be found in its ’Spectro Convolution’ GitHub repository. Its license is CC BY 4.0. This code can therefore be reused with only the attribution of the author.