↓  Spectra Samples
data.elodiz.com
📚  References & Sources
⚠  ELODIZ LENS — Disclaimer, licence & citation
Research use only, provided “as is” without warranty. Library & THEYA-LED certified polynomials are property of ELODIZ Ltd. Please cite if used in publications.
Spectral Pre-processing Algorithms
[1]
Savitzky, A. & Golay, M. J. E.
Smoothing and Differentiation of Data by Simplified Least Squares Procedures
Analytical Chemistry, 36(8), 1627–1639 (1964)
Savitzky-Golay smoothing
doi:10.1021/ac60214a047
Quadratic/cubic convolution coefficients for windows 5, 7, 11, 15 points (Table V) used directly in savGol().
[2]
Eilers, P. H. C. & Boelens, H. F. M.
Baseline Correction with Asymmetric Least Squares Smoothing
Leiden University Medical Centre Report (2005)
ALS baseline
Google Scholar
Asymmetric penalty weighting p / 1−p iterated over a Whittaker smoother. The Whittaker tridiagonal solver in whittaker() follows Eilers' 2003 formulation.
[3]
Eilers, P. H. C.
A Perfect Smoother
Analytical Chemistry, 75(14), 3631–3636 (2003)
Whittaker smoother
doi:10.1021/ac034173t
Tridiagonal system formulation used as the inner solver of the ALS baseline algorithm.
[4]
Ryan, C. G., Clayton, E., Griffin, W. L., Sie, S. H., & Cousens, D. R.
SNIP, a Statistics-Sensitive Background Treatment for the Quantitative Analysis of PIXE Spectra in Geoscience Applications
Nuclear Instruments and Methods in Physics Research B, 34(3), 396–402 (1988)
SNIP baseline
doi:10.1016/0168-583X(88)90063-8
Statistics-sensitive Non-linear Iterative Peak-clipping (SNIP). The double-logarithmic variance-stabilising transform in snipBaseline() follows the formulation in Ryan et al. and its adaptation by Morháč & Matoušek (2008).
[5]
Morháč, M. & Matoušek, V.
Peak Clipping Algorithms for Background Estimation in Spectroscopic Data
Applied Spectroscopy, 62(1), 91–106 (2008)
SNIP baseline
doi:10.1366/000370208783412762
Extended SNIP treatment and variance-stabilisation used in the Raman-adapted implementation.
[6]
Lieber, C. A. & Mahadevan-Jansen, A.
Automated Method for Subtraction of Fluorescence from Biological Raman Spectra
Applied Spectroscopy, 57(11), 1363–1367 (2003)
Rubber Band baseline
doi:10.1366/000370203322554518
Convex hull lower-envelope algorithm used in rubberBand(). The upper convex hull is computed via Andrew's monotone chain and the baseline interpolated linearly between hull vertices.
[7]
Whitaker, D. A. & Hayes, K.
A Simple Algorithm for Despiking Raman Spectra
Chemometrics and Intelligent Laboratory Systems, 179, 82–84 (2018)
Cosmic ray removal
doi:10.1016/j.chemolab.2018.06.009
Modified Z-score criterion using local median absolute deviation (MAD). Threshold of 5× MAD used in cosmicRay().
Peak Detection & Gaussian Fitting
[8]
Du, P., Kibbe, W. A., & Lin, S. M.
Improved Peak Detection in Mass Spectrum by Incorporating Continuous Wavelet Transform-based Pattern Matching
Bioinformatics, 22(17), 2059–2065 (2006)
Peak prominence detection
doi:10.1093/bioinformatics/btl355
Prominence-based local maximum filtering and non-maximum suppression strategy used in findPeaks().
[9]
Marquardt, D. W.
An Algorithm for Least-Squares Estimation of Nonlinear Parameters
Journal of the Society for Industrial and Applied Mathematics, 11(2), 431–441 (1963)
Gaussian peak fitting
doi:10.1137/0111030
Gauss-Newton iteration with Levenberg-Marquardt damping used in fitGaussian() to fit A·exp(−(x−µ)²/2σ²) + bg. The 4×4 normal equations are solved via Gaussian elimination in solveLinear4().
Relative Intensity Correction & Reference Standards
[10]
ASTM International
ASTM E1840-96 (Reapproved 2022): Standard Guide for Raman Shift Standards for Spectrometer Calibration
ASTM International, West Conshohocken, PA
ASTM E1840Wavenumber standardIntensity standard
astm.org/e1840-96r22
Source of all tabulated relative band intensities for the eight reference compounds: polystyrene, cyclohexane, benzonitrile, 4-acetamidophenol, BMB, toluene/acetonitrile mixture, naphthalene, and elemental sulfur.
[11]
Choquette, S. J., Etz, E. S., Hurst, W. S., Blackburn, D. H., & Leigh, S. D.
Relative Intensity Correction of Raman Spectrometers: NIST SRMs 2241 through 2243 for 785 nm, 532 nm, and 1064 nm Excitation
Applied Spectroscopy, 61(2), 117–129 (2007)
NIST SRM 2241Polystyrene peaks
doi:10.1366/000370207779947585
Source of the polystyrene band positions and relative intensities used in the REFS.ps table (normalised to 1001.4 cm⁻¹), and confirmation of the 11-band set used for PS intensity correction diagnosis.
[12]
NIST
Standard Reference Material 2241: Relative Intensity Correction Standard for Raman Spectroscopy — 785 nm Excitation
National Institute of Standards and Technology, Gaithersburg, MD (2023)
NIST SRM 2241
nist.gov SRM 2241
Certified 9-term polynomial C2241 (valid 800–1100 nm emission, 785 nm excitation) implemented in getSRF() as the simulated instrument response function. Coefficients evaluated in absolute emission wavelength (nm).
[13]
NIST
Standard Reference Material 2242a: Relative Intensity Correction Standard for Raman Spectroscopy — 532 nm Excitation
National Institute of Standards and Technology, Gaithersburg, MD (2023)
NIST SRM 2242a
nist.gov SRM 2242a
Certified 9-term polynomial C2242A (valid 540–800 nm emission, 532 nm excitation) implemented as the 532 nm simulated SRF option. Coefficients evaluated in absolute emission wavelength (nm).
[14]
Frost, K. J. & McCreery, R. L.
Calibration of Raman Spectrometer Response Function Using Scattering from Optically Thick Polytetrafluoroethylene
Applied Spectroscopy, 52(12), 1614–1618 (1998)
SRF correction methodology
doi:10.1366/0003702981945439
Foundational methodology for spectral response function correction by dividing measured spectra by the instrument response, normalised to preserve amplitude scale — approach used in the intensity correction module.
[15]
Pelletier, M. J.
Quantitative Analysis Using Raman Spectrometry
Applied Spectroscopy, 57(1), 20A–42A (2003)
Empirical SRF from reference peaks
doi:10.1366/000370203321165133
Describes the use of reference compound band intensity ratios to characterise and correct for instrument spectral response — the basis of the empirical SRF polynomial fitting implemented in buildEmpiricalSRF().
File Format Specifications & Parsers
[16]
Galactic Industries / Thermo Fisher Scientific
SPC File Format Specification (GSPC 4.0)
Thermo Scientific internal specification (rev. 1996)
SPC binary parser
spc-parser reference (GitHub)
The parseSPC() function implements the Galactic SPC binary format (version bytes 0x4B and 0x4D), reading FTFLGS, FEXP, FNPTS, FFIRST, FLAST, FNSUB and Y data blocks directly from an ArrayBuffer.
[17]
Renishaw plc
WDF (Renishaw Wire Data Format) — public reverse-engineering
Based on py-wdf-reader (MIT licence), Renishaw community documentation
WDF parser
py-wdf-reader (GitHub)
parseWDF() reads the WIRE magic header, iterates block records (DATA, XLST, YLST, ORGN), and extracts X/Y arrays. Block structure derived from py-wdf-reader (Tian, 2018, MIT).
[18]
WITec GmbH
WXD/WIP File Format — native deflate-compressed XML
Parsed using browser-native DecompressionStream API (WHATWG Compression Streams, Level 1)
WXD/WIP parser
WHATWG Compression Streams spec
parseWXDAsync() decompresses the deflate stream natively, then parses the XML <DataPoints> / <XAxisValues> nodes to extract spectral data.
[19]
BW Tek, Inc.
BWSpec™ Semicolon-Delimited Export Format
BWSpec software documentation (B&W Tek / Metrohm, internal format)
BWTek parser
parseBWTek() detects the semicolon delimiter, harvests metadata key-value pairs from the header block, and dynamically resolves column indices for Raman Shift, Raw Data, Dark Subtracted, and Processed Data.
[20]
McDonald, R. S. & Wilks, P. A.
JCAMP-DX: A Standard Form for Exchange of Infrared Spectra in Computer Readable Form
Applied Spectroscopy, 42(1), 151–162 (1988)
JCAMP-DX parser
doi:10.1366/0003702884428734
JCAMP-DX ##XYDATA= (X++(Y..Y)) and X,Y pair forms parsed by the universal ASCII parser, which handles FIRSTX / DELTAX-defined abscissa reconstruction.
JavaScript Libraries
[21]
Chart.js Contributors
Chart.js — Simple yet flexible JavaScript charting
Version 4.4.1 · MIT Licence · chartjs.org
Chart.js 4.4.1
chartjs.org  GitHub
Used for all spectral visualisation (line charts, scatter overlays, dual-axis SRF display). Loaded from Cloudflare CDN.
[22]
Google Fonts
DM Mono & Outfit typefaces
Colophon Foundry / Open Font Licence · fonts.google.com
Typography
DM Mono  Outfit
Numerical Methods
[23]
Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P.
Numerical Recipes: The Art of Scientific Computing (3rd ed.)
Cambridge University Press, 2007. ISBN 978-0-521-88068-8
Gaussian eliminationPolynomial least squaresNormal equations
numerical.recipes
Partial-pivot Gaussian elimination for the 4×4 system in solveLinear4(), Vandermonde normal equations in fitPolynomial(), and Gauss-Newton iteration structure in fitGaussian().
[24]
Schulze, H. G., Foist, R. B., Okuda, K., Ivanov, A., & Turner, R. F. B.
A Small-Window Moving Average-Based Fully Automated Baseline Estimation Method for Raman Spectra
Applied Spectroscopy, 54(9), 1379–1388 (2000)
SGSD peak detection2nd derivative
Savitzky–Golay second-derivative (SGSD) approach used server-side in search.php to detect true Raman peaks under fluorescence backgrounds for library matching.
[25]
Stein, S. E. & Scott, D. R.
Optimization and Testing of Mass Spectral Library Search Algorithms for Compound Identification
Journal of the American Society for Mass Spectrometry, 5(9), 859–866 (1994)
Cosine similarityLibrary search
Cosine similarity score cos(A,B) = (A·B)/(‖A‖·‖B‖) — primary metric in Step 5 library search, reported as cos(raw) and cos(corr).
[26]
Park, J. W., Park, J., Park, S. W., & Ahn, S.
Reliable and Robust Weighted Segmental Hit Quality Index (SHQI) for Raman and Infrared Spectral Library Searching
Journal of Raman Spectroscopy, 48(1), 44–52 (2017)
SHQIRegion-weighted matching
Region-weighted SGSD cosine score (fingerprint × 1, CH × 2, silent × 0.1) used as primary ranking metric in library search.
[27]
Olivero, J. J. & Longbothum, R. L.
Empirical fits to the Voigt line width: A brief review
Journal of Quantitative Spectroscopy and Radiative Transfer, 17(2), 233–236 (1977)
Voigt profilePeak fitting
Raman peaks are intrinsically Voigt-shaped (Lorentzian × Gaussian convolution). Pseudo-Voigt option in fitPeakShape() returns the better of G/L per peak with an R²-weighted mixing ratio.
[28]
Pearson, K.
Note on Regression and Inheritance in the Case of Two Parents
Proceedings of the Royal Society of London, 58, 240–242 (1895)
Pearson correlation
Linear correlation coefficient r on SGSD vectors — secondary metric reported in library search results with two-tailed p-value.
[29]
Plotly Technologies Inc.
Plotly.js — Open source graphing library for interactive charts
Version 2.27.0, MIT Licence, plotly.com/javascript
Plotly 2.27Library overlay plot
[30]
SheetJS LLC
SheetJS Community Edition — JavaScript library for parsing Excel workbooks
Version 0.20.1, Apache 2.0 Licence
SheetJS 0.20XLSX parsing
Parses Excel workbooks (.xlsx, .xlsm, .xls) in parseXLSX(). Reads all sheets, auto-detects numeric columns, skips index columns. Supports files exported from Altaxo, OriginLab, Bruker OPUS, and other spectroscopy packages.
[31]
Lellinger, D.
Altaxo — Data Processing and Plotting Program
Open-source scientific data analysis software
Altaxo format
Altaxo exports Raman spectra as .xlsx tables (columns A, B for wavenumber, intensity, row 1 = names, row 2 = types). Auto-detected by parseXLSX() via its column-typing heuristic.
[32]
Barnes, R. J., Dhanoa, M. S., & Lister, S. J.
Standard Normal Variate Transformation and De-trending of Near-Infrared Diffuse Reflectance Spectra
Applied Spectroscopy, 43(5), 772–777 (1989)
SNVNormalisation
Standard Normal Variate normalisation available as preprocessing option in the server search pipeline.
[33]
NIST
Standard Reference Material 2243: Relative Intensity Correction Standard for Raman Spectroscopy — 488 nm and 514.5 nm Excitation
National Institute of Standards and Technology, Gaithersburg, MD (2023)
NIST SRM 2243
Additional certified reference for Real correction mode (488/514.5 nm excitation).
[34]
ELODIZ Ltd.
Certificate of Conformance: THEYA-LED Calibration Light Source for 785 nm Raman Systems (SN TRE853)
ELODIZ Manufacturing Certificate 4Ba5Ab6_785_LED_TRE853_Cert, 03/03/2026
ELODIZ THEYA-LED 785
5th-order polynomial certified model for 797.5–1048.3 nm (200–3200 cm⁻¹ at 785 nm), implemented in CTHEYA785 array. Traceable to NIST SRM 2241 with MRE < 5%.
[35]
ELODIZ Ltd.
Certificate of Conformance: THEYA-LED Calibration Light Source for 532 nm Raman Systems (SN GYG314)
ELODIZ Manufacturing Certificate 4Ba5Aa4_532_LED_GYG314_Cert, 03/03/2026
ELODIZ THEYA-LED 532
5th-order polynomial certified model for 536–675 nm (150–4000 cm⁻¹ at 532 nm), implemented in CTHEYA532 array. Same unit certified for 514 nm use. Traceable to NIST SRM 2242a with MRE = 2.23%.
[36]
Burger, J. & Geladi, P.
Spectral pre-treatments of hyperspectral near infrared images: analysis of diffuse reflectance scattering
Journal of Chemometrics, 19(5–7), 355–363 (2005)
Tikhonov regularisationWiener filter
Regularised division as used in applyRealCorrection(): Icorr(ν) = Isample(ν) · SRF(ν) / (SRF(ν)² + ε²). Prevents noise blow-up where SRF is small (CH region at 785 nm).
Note on simulation vs. measurement: The NIST SRM polynomial corrections (refs [12,13]) and the ELODIZ theya-LED model are used here as theoretical ideal SRF shapes for simulation purposes. A true relative intensity correction requires a measured spectrum of the reference standard acquired on the specific instrument being characterised. The empirical SRF from reference peaks (ref [15]) provides an instrument-specific correction using any of the ASTM E1840 compounds.

Wavenumber-to-wavelength conversion used throughout: λemit (nm) = 107 / (107excit − Δ𝑣̃), consistent with IUPAC recommendations for Raman shift reporting.
1
Upload
2
Process
3
Correct
4
Peaks
5
Search
Spectrum File
📊
Device
Wavelength
Integration
Averages
📂
Drop file here or click to browse
All Raman formats supported
ELODIZ RMN BWTek SPC Binary WDF WXDWIP* TXTCSV DPTASC JDXXY PRNDAT
WDF · SPC · WXD/WIP* · BWTek · Horiba · Ocean Optics · JCAMP · ELODIZ RMN · any two-column ASCII
WXD parsed natively · WIP: export as TXT or SPC from WITec Project software
↔ Wavenumber Range
From (cm⁻¹)
To (cm⁻¹)
🎯 Wavenumber Calibration
Apply wavenumber shift
Correct the x-axis by a fixed Δcm⁻¹. Positive values shift spectrum to higher wavenumbers (right), negative to lower (left).
⚠ Exclude noisy region
Mask spectral region
Zero out a wavenumber range (e.g. sharp laser line leakage or detector dead pixel).
⚙ Pre-Processing
Cosmic Ray Removal
Remove sharp spike artefacts
Baseline Correction
Remove fluorescence background
Higher = smoother baseline
Savitzky-Golay Smoothing
Reduce noise, preserve peak shape
📋 Relative Intensity Correction
Simulation: theoretical SRF (no instrument data needed). Real: uses a measured reference spectrum to build instrument-specific SRF.
Simulation mode — subtle correction expected. This divides your spectrum by the selected certified SRF polynomial (NIST/THEYA). Because those polynomials describe a smooth reference emission curve, not a steep detector roll-off, the visible change is small (a few percent) even for uncorrected 785 nm spectra. The RIC Diagnostics panel below shows the exact numerical change per peak.

For a dramatic correction that properly boosts the CH region (matching NIST literature ratios ≈ 0.5–0.7 for polystyrene), switch to Real Correction tab and upload a measured reference spectrum acquired on your instrument.
Icorr(ν) = Isample(ν) · SRF(ν) / (SRF(ν)2 + ε2). Same formula as Real Correction; ε controls noise damping.
🔍 Peak Finding & Fitting
5
Raman peaks are typically Voigt-shaped. Pure Gaussian suits low-resolution spectra; pure Lorentzian suits sharp, high-resolution peaks.
Reference compound mode
Match peaks to ASTM E1840 tabulated bands & diagnose correction
Original
pts
range
peak
SNR
λ
📈
No spectrum loaded
Upload a file to begin
💾 Save
telemetry: idle