problem with the intensity in *.spc file tgspcread

5 vues (au cours des 30 derniers jours)
Alejandro Castro Alvarez
Alejandro Castro Alvarez le 31 Mai 2024
I am using the tgspcread function to import *.spc files from a spectrometer.
The function reads everything fine, however the intensity of the spectra is much lower than it should be.
When I compare the intensity using the spectrometer program there is a difference of several orders of magnitude in the intensities and completely arbitrary. It appears that the tgspcread function is dividing the intensity of each spectrum by an arbitrary factor.
Does anyone have any idea what the function is doing?
below an example
  1 commentaire
Alejandro Castro Alvarez
Alejandro Castro Alvarez le 31 Mai 2024
I also found that the x-axis is slightly different from Matlab and spectrometer software. That moves the whole spectra

Connectez-vous pour commenter.

Réponses (1)

Garmit Pant
Garmit Pant le 3 Juil 2024
Hello Alejandro Castro Alvarez
I see that you are working with spectral data acquired from a spectrometer and saved as a Thermo Galactic GRAMS format SPC-file. You are trying to import the data to MATLAB using “tgspcread” function.
tgspcread” function reads the raw binary data stored in the SPC-file and imports it into MATLAB in ‘double’ precision format. The function reads and converts the binary data as it is, without any post-processing like normalization.
I investigated the behaviour of the “tgspcread” function using a sample file that I have attached to the answer. On comparing the plots between MATLAB R2021b and Spectragryph v1.2.16.1, I found no discrepancy between the plots.
The following can be the reasons behind the discrepancy in the plots:
  • The spectrometer software can be applying some post-processing steps like normalization or scaling while exporting the data to a SPC-file.
  • The MATLAB script used to read and plot the data can be applying some normalization or scaling after using the “tgspcread” function.
You can refer to the documentation for the “tgspcread” function to understand how to refine your readings using input arguments:
I hope you find the above explanation and suggestions useful!
  1 commentaire
Alejandro Castro Alvarez
Alejandro Castro Alvarez le 25 Juil 2024
Modifié(e) : Walter Roberson le 25 Juil 2024
Hi Garmit,
Thank you for your response. I checked your file and it works properly (Spectragryph vs Matlab). However, I do not understand what happened to my files. I never use the equipment's software to treat the data; instead, I save it as it was measured.
I always check the files first before doing the analysis. Here a small script to check and plot the files.
[file,path] = uigetfile('*.spc','Select Raman');
filename = fullfile(path,file);
SPCStruct = tgspcread(filename);
Freq=SPCStruct.X; % cm-1 or nm
Y =SPCStruct.Y; % intensity
plot(Freq,Y)
Do you have any idea what the problem could be?
I attach an example of the map.
Thank a lot for your help!

Connectez-vous pour commenter.

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by