eprload from Ciqtek?

General forum for EasySpin: questions, how to's, etc.
Post Reply
Emilien
Resident User
Posts: 73
Joined: Mon Apr 20, 2015 12:13 am

eprload from Ciqtek?

Post by Emilien »

Dear Easyspin developpers,
I was asked for the possibility to load spectra from Ciqtek in SimLabel... Before trying to do that directly in SimLabel, I would like to know if you plan to offer the possibility to load these spectra with eprload.
I have 2 examples (1D and 2D) but unfortunately I can not upload them because the extension .epr is not allowed...
Thank you!

Stefan Stoll
EasySpin Creator
Posts: 1146
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: eprload from Ciqtek?

Post by Stefan Stoll »

Unfortunately, CIQTEK are currently not supported. We are happy to implement this in eprload if a full file format specification is available.

Emilien
Resident User
Posts: 73
Joined: Mon Apr 20, 2015 12:13 am

Re: eprload from Ciqtek?

Post by Emilien »

I didn't think to .zip...
You can find attached a zip file containing one 1D spectrum and one 2D spectrum saved with a ciqtek spectrometer.

Examples_CIQTEK.zip
(198.69 KiB) Downloaded 146 times

Thank you!

Stefan Stoll
EasySpin Creator
Posts: 1146
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: eprload from Ciqtek?

Post by Stefan Stoll »

Thanks for the example files! We'll add this to our to-do list for the next EasySpin release. Hopefully we can get some official documentation about this JSON-based file format from the vendor.

Meanwhile, try using the following code snipped to load the spectra (should work for both 1D and 2D files). Note that the spectral data vectors appear to come in pairs (stored in ReData and ImData). Probably they are the in-phase and quadrature outputs from an IQ mixer in the detection system.

Code: Select all

clear, clc

fileName = 'Exemple_TEMPO_CIQTEK.epr';
%fileName = 'Exemple_CIQTEK_2D.epr';
fid = fopen(fileName);
jsonstring = fread(fid, "*char").';
fclose(fid);
data = jsondecode(jsonstring);
nSpectra = numel(data.dataStore.lineDataList);
for iSpectrum = 1:nSpectra
  B(:,iSpectrum) = data.dataStore.lineDataList(iSpectrum).ReData(:,1);
  spcRe(:,iSpectrum) = data.dataStore.lineDataList(iSpectrum).ReData(:,2);
  spcIm(:,iSpectrum) = data.dataStore.lineDataList(iSpectrum).ImData(:,2);
end
subplot(2,1,1)
plot(B,spcRe)
subplot(2,1,2)
plot(B,spcIm)
Post Reply