How quasars/orange-spectroscopy works
Orange Spectroscopy is an Orange3 add-on for spectral-data analysis. The principal workflow is to load instrument or general-format files into Orange spectral tables, apply spectral preprocessing, then inspect or analyze spectra and hyperspectral maps in Orange widgets. Separate widget branches provide operations such as integration, FFT, peak fitting, and PLS modeling. Reader registration and shared table-construction utilities form an internal data layer. The README establishes the add-on’s role; edges are limited to imports and relationships shown in the supplied excerpts or index, so some widget-to-analysis connections remain unverified.
Main entry points: preprocess Preprocessing methods · owhyper.py Hyperspectral viewer · owspectra.py Spectra viewer · io File readers
Components 21
Data ingestion
- File readers
orangecontrib/spectroscopy/io - Reader registration
orangecontrib/spectroscopy/io/__init__.py - Tile loading
orangecontrib/spectroscopy/widgets/owtilefile.py
Spectral processing
- Preprocessing methods
orangecontrib/spectroscopy/preprocess - Baseline correction
orangecontrib/spectroscopy/preprocess/als/baseline.py - EMSC correction
orangecontrib/spectroscopy/preprocess/emsc.py - Integration methods
orangecontrib/spectroscopy/preprocess/integrate.py - Spectral transforms
orangecontrib/spectroscopy/preprocess/transform.py - Preprocessing widget
orangecontrib/spectroscopy/widgets/owpreprocess.py
Analysis widgets
- Spectra viewer
orangecontrib/spectroscopy/widgets/owspectra.py - Hyperspectral viewer
orangecontrib/spectroscopy/widgets/owhyper.py - Spatial analysis
orangecontrib/spectroscopy/widgets - Peak fitting
orangecontrib/spectroscopy/widgets/peakfit_compute.py - FFT analysis
orangecontrib/spectroscopy/widgets/owfft.py - PLS modeling
orangecontrib/spectroscopy/widgets/owpls.py
Shared runtime
- Spectral tables
orangecontrib/spectroscopy/io/util.py - Data compatibility
orangecontrib/spectroscopy/data.py - PLS model
orangecontrib/spectroscopy/models/pls.py - Widget helpers
orangecontrib/spectroscopy/widgets/gui.py - Line geometry
orangecontrib/spectroscopy/widgets/line_geometry.py
Other components
- Orange user
Connections 23
- Orange user → File readers: loads spectra
- Reader registration → File readers: registers readers
orangecontrib/spectroscopy/io/__init__.py - Data compatibility → File readers: imports readers
orangecontrib/spectroscopy/data.py - File readers → Spectral tables: builds tables
orangecontrib/spectroscopy/io/neaspec.py - Tile loading → Spectral tables: loads tiles
- Spectral tables → Spectra viewer: supplies spectral data
- Orange user → Preprocessing widget: configures processing
- Preprocessing widget → Preprocessing methods: applies methods
- Preprocessing methods → EMSC correction: includes correction
orangecontrib/spectroscopy/preprocess/__init__.py - Preprocessing methods → Spectral transforms: includes transforms
orangecontrib/spectroscopy/preprocess/__init__.py - Preprocessing methods → Integration methods: includes integration
orangecontrib/spectroscopy/preprocess/__init__.py - Orange user → Spectra viewer: inspects spectra
- Orange user → Hyperspectral viewer: inspects maps
- Hyperspectral viewer → Spectral tables: reshapes data
orangecontrib/spectroscopy/widgets/owhyper.py - Hyperspectral viewer → Widget helpers: uses controls
orangecontrib/spectroscopy/widgets/owhyper.py - Hyperspectral viewer → Line geometry: uses geometry
orangecontrib/spectroscopy/widgets/owhyper.py - Spectra viewer → Widget helpers: uses controls
orangecontrib/spectroscopy/widgets/owspectra.py - Spectra viewer → Line geometry: uses geometry
orangecontrib/spectroscopy/widgets/owspectra.py - Orange user → Spatial analysis: analyzes maps
- Orange user → Peak fitting: fits peaks
- Orange user → FFT analysis: analyzes transforms
- Orange user → PLS modeling: builds models
- PLS modeling → PLS model: uses model