0% found this document useful (0 votes)
117 views

Introduction To Raman Spectroscopy Measurement Data Processing Using Igor Pro

This document provides an introduction to processing Raman spectroscopy measurement data using Igor Pro software. It discusses loading raw spectral data files, performing wavelength calibration using atomic emission lines to convert pixel index to wavelength, and converting to Raman shift units. The process involves loading data files, displaying emission line spectra, fitting peaks to determine pixel positions, creating a calibration curve from the pixel-wavelength pairs, applying the calibration to measured data waves, and plotting the final Raman spectrum versus wavenumber. Indene can also be used for direct Raman shift calibration in the fingerprint region.

Uploaded by

Khloud Madih
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

Introduction To Raman Spectroscopy Measurement Data Processing Using Igor Pro

This document provides an introduction to processing Raman spectroscopy measurement data using Igor Pro software. It discusses loading raw spectral data files, performing wavelength calibration using atomic emission lines to convert pixel index to wavelength, and converting to Raman shift units. The process involves loading data files, displaying emission line spectra, fitting peaks to determine pixel positions, creating a calibration curve from the pixel-wavelength pairs, applying the calibration to measured data waves, and plotting the final Raman spectrum versus wavenumber. Indene can also be used for direct Raman shift calibration in the fingerprint region.

Uploaded by

Khloud Madih
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Introduction to Raman spectroscopy measurement data processing

using Igor Pro

This introduction is intended to minimally guide beginners to processing Raman spectroscopy


measurement data, which includes loading raw data to PC, performing calibrations, and displaying
spectrum, using Igor Pro. Igor Pro is a commercial software from Wavemetrics for data analysis and
graphing, primarily used in USIL.

0Getting familiar with Igor Pro


To begin with, you should get familiar with concept of a wave (a form of data) and user interface in
IGOR Pro. Because instructing how to use it is beyond the scope of this introduction, learn it by
yourself with Igor Pro manual, which can be downloaded from here
(http://www.wavemetrics.net/doc/igorman/IgorMan.pdf). It is recommended to start with some guided tours in the
getting started and to read the chapters listed below:

Getting started
I-1 Introduction to Igor Pro
I-2 Guided Tour of Igor Pro:
Guided Tour 1 – General Tour
Guided Tour 2 – Data Analysis

Chapters recommended to read


II-5 Waves
II-11 Tables
II-12 Graphs
III-8 Curve Fitting
1Loading Measured Data in Igor Pro
All the spectral data measured with the CCD cameras are saved in SPE file or SIF file depending on
which maker of CCD camera they are from. SPE file is of Princeton Instruments, and SIF file of Andor
Technologies. To load those data files, two extensions, called procedure in IGOR Pro, that are lab-made
file loader, namely FileLoader.ipf and takadaShimadaExtension.ipf, are required. If those have not yet
to be installed, place the procedure files in the folder described below and restart IGOR Pro:
C:\Users\<user>\My Documents\WaveMetrics\Igor Pro 6 User Files\Igor Procedures\

Loading from SIF file


i. In the menu, select [Data] -> [Load Waves] -> [Load SIF file].

ii. Select a file to load in the window just appeared and click [Open] button.

iii. Fill in the name of wave about to load and click [Continue] button.
iv. While loading, information about data is displayed in the history area. If no error is
reported, the data is properly loaded as a named wave. You may find the loaded wave in
the data browser.

History area
Data browser
Loading from a single SPE file
i. In the menu, select [Data] -> [Load Waves] -> [Load SPE file].

ii. Select a file to load in the window just appeared and click [Open] button.
iii. Fill in the name of wave about to load and click [Continue] button.

iv. While loading, information about data is displayed in the history area. If no error is
reported, the data is properly loaded as a named wave. You may find the loaded wave in
the data browser.
Loaded data will be found in data browser

Information about data displayed in history area


2Wavelength (Raman Shift) Calibration using atomic emission lines (Ne, Hg lamps)
Raw spectra data you measured have only CCD pixel index as the horizontal axis. (Even if it has
wavelength in nanometer or Raman shift in wavenumber as horizontal axis, it may not be reliable so
that you would need to determine the accurate horizontal axis by yourself.) To make a Raman spectrum,
you need to convert the horizontal axis from pixel index to Raman shift by calibration. This is usually
done in two steps: (i) Wavelength calibration, which connects pixel indices with wavelengths, and (ii)
conversion from wavelength to Raman shift. This is because wavelength is supposed to be proportional
to pixel index so that the calibration line of wavelength vs. pixel index will be close to straight line and
easy to fit with polynomial curve. For wavelength calibration, atomic emission lines of, for example, Ne
or Hg, wavelengths of which have been determined accurately and are available in the literatures, are
usually used as standards. Once Raman shift axis is calibrated, you do not need to perform it unless the
center wavelength or groove density of a grating in the spectrograph change no matter whether it is
intentionally or not.
If your Raman-shift region of interest is limited in so-called “finger print” region, you can use indene
as a direct Raman shift standard. This method is particularly useful when the wavelength of your
excitation source has not been accurately determined or is variable depending on the ambient condition.
Raman shift calibration using indene is to be described in the following chapter.

2-1
Display atomic emission spectrum of Ne or Hg lamps, etc.
Command:
Display NeLamp

Displayed spectrum.

2-2
Compare the measured spectrum with that in a reference and assign each observed line to
corresponding transition whose accurate wavelength is known. In the example, because lines below the
400th pixel are very weak, another spectrum with longer exposure time is measured (inset). Note that
the resulting calibration line may be reliable only in the region covered by lines that are taken into
account. Pick up as many lines from as wide area as possible for a better calibration.
By comparing with spectrum in the literature, assign each emission line and find accurate wavelength for it.
Spectra and tables in a literature. These are for 532-nm-excitation.
If you used different excitation wavelength, you need other region of spectra and tables.
(Raman spectroscopy by H. Hamaguchi (written in Japanese))
2-3
Make two 1D waves, named as wLinePix and wLineWL, whose numbers of elements as large as the
number of lines to take into account, and display them on a table. In this example, above-mentioned 20
lines are taken into account.
Command:
Make/N=20 wLinePix, wLineWL
Edit wLinePix, wLineWL

New table with wLinePix and wLineWL created.

2-4
Zoom in on the first line and place cursors on the both left and right sides of line on the baseline and
perform fitting analysis with Gaussian function within the region between the cursors.

Target emission line.

Cursors.

First emission line to be analyzed is zoomed in.

Curve fit using GUI:

1. Select [Gauss] 3. Click [Cursors] button

Select [Analysis] -> [Curve Fitting…] 2. Select wave to be analyzed 4. Click [Do It]
Or
Curve fit using command:
CurveFit/NTHR=0 gauss NeLamp[pcsr(A),pcsr(B)] /D

Fitting result is displayed in graph and history area


2-5
Input fitted peak position into the first row of the wave wLinePix. Also, input the wavelength of the
present line into the corresponding row of the wave wLineWL. Note that the wavelength considered
here must be that in vacuum.

Corresponding wavelength is

taken from the literature

X0 is fitted parameter of the center position.

Copy this value to the table.

2-6
Repeat 2-4 and 2-5 for all the other lines to take into account, and then, plot wLineWL vs. wLinePix. If
you find the plot is not smooth, your line assignment may be wrong.

Plotted line should be smooth.

Completed table.
2-7
Fit the plot with 3rd-order polynomial. The fitting result gives the wavelength calibration curve, which
connects CCD pixel indices and actual wavelengths in vacuum.
Curve fit using GUI:

2. Select [wLineWL]

3. Select [wLinePix]

1. Select [Poly] and input [4] for Polynomial Terms.

4. Click [Do It]

Curve fit using command:


CurveFit/NTHR=0 poly 4, wLineWL /X=wLinePix /D

Fitting result.

2-8
Duplicate one of measured spectrum data waves as wWavelength, and input wavelengths at each pixel
indices using fitted parameters just obtained above. Each fitted parameter is stored in a corresponding
row of automatically generated wave, w_coef (0th-term -> w_coef[0], 1st-term -> w_coef[1], and so on).
Command:
Duplicate NeLamp, wWavelength
wWavelength = w_coef[0] + w_coef[1]*p + w_coef[2]*p^2 + w_coef[3]*p^3
2-9
Duplicate the wave wWavelength as wRamanShift, and input Raman shifts calculated from the Raman
excitation wavelength (in vacuum) and wavelengths in wWavelength into wRamanShift. If the
excitation wavelength is not definite, fit the Rayleigh line with Gauss function and determine it. In this
example, suppose excitation wavelength was 532.22 nm.
Command:
Duplicate wWavelength, wRamanShift
wRamanShift = 1E7 * (1/(Excitation wavelength) - 1/wWavelength)

2-10
Plot Raman spectra data, e.g. wRamanSp versus wRamanShift. Because Raman spectrum is
conventionally plotted as wavenumber increases in a direction from right to left, switch the horizontal
axis direction accordingly. Make the axes labels; Raman shift / cm-1 for horizontal axis, Intensity /
counts for vertical.
Command:
Display wRamanSp, wRamanShift
SetAxis/A/R bottom
Label left "Intensity / counts"
Label bottom "Raman shift / cm¥¥S-1"
3Raman Shift Calibration using Indene
As mentioned above, it is useful to use indene as a standard for Raman shift calibration especially
when your Raman shift region of interest is limited within the “fingerprint region” and the excitation
wavelength has not been determined accurately or is variable with ambient condition. In contrast to
the calibration using atomic emission from Ne and Hg lamps for example, that using Raman bands of
indene directly assigns Raman shift value to each pixel index; not wavelengths but Raman shifts of
bands are plotted against pixel index, so that no further conversion of calibration curve is required.

3-1
Display Raman spectrum of indene.
Command:
Display indene

Displayed spectrum.

3-2
Compare the measured spectrum with that in a reference and assign each observed band whose
accurate Raman shift is known.

By comparing with spectrum in the reference,

assign each band and find accurate Raman shift for it.
Raman shift

Reference
3-3
Make two 1D waves, named as wIndenePix and wIndeneRS, whose numbers of elements as large as the
number of bands to take into account, and display them on a table. In this example, 17 bands are taken
into account.
Command:
Make/N=17 wIndenePix, wIndeneRS
Edit wIndenePix, wIndeneRS

New Table with wIndenePix and wIndeneRS created.

3-4
Zoom in on the first band and place cursors on the both left and right sides of the band on the baseline
and perform fitting analysis with Lorentzian function within the region between the cursors.
Target Raman band.

Cursors.

First bands to be analyzed are zoomed in.

Curve fit using GUI:

3. Click [Cursors] button


1. Select [Lorentz]
Select [Analysis] -> [Curve Fitting…] 4. Click [Do It]

2. Select wave to be analyzed

Or
Curve fit using command:
CurveFit/NTHR=0 lor indene[pcsr(A),pcsr(B)] /D

Fitting result is displayed in graph and history area


3-5
Input fitted peak position into the first row of the wave wIndenePix. Also, input the Raman shift of the
present band into the corresponding row of the wave wIndeneRS.

Corresponding wavelength is

taken from the literature

X0 is fitted parameter of the center position.

Copy this value to the table.

3-6
Repeat 3-4 and 3-5 for all the other bands to take into account, and then, plot wIndeneRS vs.
wInenePix.

Plotted line should be smooth.

Completed table.

3-7
Fit the plot with 3rd-order polynomial. The fitting result gives the Raman shift calibration curve, which
directly connects CCD pixel indices and actual Raman shifts.
Curve fit using GUI:
2. Select [wIndeneRS]

3. Select [wIndenePix]

4. Click [Do It] 1. Select [Poly] and input [4] for Polynomial Terms.

Curve fit using command:


CurveFit/NTHR=0 poly 4, wLineWL /X=wLinePix /D

3-8
Duplicate one of measured spectrum data waves as wRamanShift, and input Raman-shift values at
each pixel indices using fitted parameters just obtained above. Each fitted parameter is stored in a
corresponding row of automatically generated wave, w_coef (0th-term -> w_coef[0], 1st-term -> w_coef[1],
and so on).
Command:
Duplicate indene, wRamanShift
wWavelength = w_coef[0] + w_coef[1]*p + w_coef[2]*p^2 + w_coef[3]*p^3

3-9
Plot Raman spectra data, e.g. wRamanSp versus wRamanShift. Because Raman spectrum is
conventionally plotted as wavenumber increases in a direction from right to left, switch the horizontal
axis direction accordingly. Make the axes labels; Raman shift / cm-1 for horizontal axis, Intensity /
counts for vertical.
Command:
Display wRamanSp, wRamanShift
SetAxis/A/R bottom
Label left "Intensity / counts"
Label bottom "Raman shift / cm¥¥S-1"
4Intensity Calibration
Relative intensity of a raw Raman spectrum along Raman-shift axis is not reliable as it is because
every apparatus has specific non-flat sensitivity over spectral range, which mainly comes from
sensitivity of the CCD camera, diffraction efficiency of the grating and transmittance of a long-pass
edge filter dependent on wavelength. To compensate this variation in sensitivity, measured Raman
spectra must be divided by a sensitivity curve. A normalized white-lamp spectrum measured with the
same apparatus and supposed to be flat over the spectral range is usually used as a sensitivity curve.
This treatment is called intensity calibration.
Before intensity calibration is performed, a part of intensity which comes from non-photon origins
must be eliminated from an output of the CCD camera. Main contribution of this non-photon intensity
is from readout noise and dark current noise. The readout noise is generated while a CCD camera is
digitizing its charges, while the dark current noise is generated all the time and accumulated during an
exposure and hence develops with time. To eliminate contribution from those noises, a dark spectrum,
which is measured literally in the dark without excitation light and with the same exposure time as
Raman spectra are measured with, must be subtracted from every raw Raman spectrum. Subsequently,
the spectrum is divided by the sensitivity curve for intensity calibration.

4-1
Display the dark and white light spectra.
Command:
Display wDark
Display wWhiteLight

Dark current noise

Readout noise

Dark spectrum

White light spectrum


4-2
Subtract the dark spectrum form the white light spectrum. The dark spectrum must be measured
with the same exposure time as the white light spectrum is measured with.
Command:
wWhiteLight -= wDark

4-3
Duplicate the wave wWhiteLight as wSensCurve. Normalize wSensCurve with an arbitrary value. The
maximum or average value of the white light spectrum may be chosen for the normalization. Here, the
sensitivity curve is normalized with the maximum value.
Command:
Duplicate wWhiteLight, wSensCurve
wSensCurve /= WaveMax(wWhiteLight)

Obtained sensitivity curve.


4-4
Correct the intensity of a Raman spectrum by subtracting dark spectrum followed by dividing by
sensitivity curve. The dark spectrum must be measured with the same exposure time as the Raman
spectrum is measured with. Then, plot it.
Command:
wRamanSp -= wDark
wRamanSp /= wSensCurve
Display wRamanSp vs wRamanShift
SetAxis/A/R bottom
Label left "Intensity / counts"
Label bottom "Raman shift / cm¥¥S-1"
Baseline comes to zero.

Intensity-calibrated Raman spectrum

You might also like