How jray-lin/spectralab works
FTIR Tools is a PyQt6 desktop application for turning Jasco .jws spectra into YLK data, then viewing, correcting, comparing, and exporting spectra. The principal workflow is to open a folder, select spectra, inspect raw or corrected plots, and optionally create and save baselines or run correlation analysis. The graph combines shown imports and calls with README-documented capabilities; some UI and processing wiring is documented but not visible in the sampled excerpts, so those links are marked unverified.
Main entry points: main.py Main analyzer · gui_components.py Baseline editor · dialogs.py Application dialogs · file_converter.py YLK files
Components 15
Application UI
- Main analyzer
main.py - File selection
main.py - Recent folders
main.py
Spectral workflow
- JWS converter
modules/file_converter.py - YLK files
modules/file_converter.py
Analysis and display
- Data processing
modules/data_processing.py - Correlation analysis
modules/data_processing.py - Baseline editor
modules/gui_components.py - Baseline algorithms
modules/baseline.py - Spectrum plotting
modules/plotting.py
Reference and export
- Plot and export helpers
modules/ui_helpers.py - Application dialogs
modules/dialogs.py - Absorption reference
modules/reference_data.py - Version information
modules/version.py
Other components
- Spectroscopy user
Connections 16
- Spectroscopy user → Main analyzer: uses
README.md - Main analyzer → File selection: offers selection
README.md - File selection → Recent folders: selects recent
README.md - Main analyzer → JWS converter: invokes conversion
main.py - JWS converter → YLK files: writes and reads
modules/file_converter.py - Main analyzer → YLK files: loads spectra
main.py - Main analyzer → Data processing: uses processing
main.py - Main analyzer → Correlation analysis: requests correlations
README.md - Main analyzer → Baseline editor: opens editor
README.md - Baseline editor → Baseline algorithms: calculates baseline
modules/gui_components.py - Baseline editor → YLK files: saves baseline
modules/gui_components.py - Main analyzer → Spectrum plotting: renders spectra
README.md - Main analyzer → Plot and export helpers: delegates exports
main.py - Main analyzer → Application dialogs: opens reference
main.py - Application dialogs → Absorption reference: creates tab
modules/dialogs.py - Application dialogs → Version information: gets app details
modules/dialogs.py