How lunar-boy/e-nose-gas-classification-h2s-regression works
This repository is a collection of standalone electronic-nose analysis workflows, not a shared application. Users prepare frame-wise gas recordings for multi-gas classification and run a separate H2S concentration-regression pipeline; both yield evaluation results and figures. Additional scripts derive run-level fingerprints and visualize model summaries, while small utilities inspect or trim sensor recordings. The README documents the major capabilities, but sampled excerpts do not expose every pipeline’s internal calls, so the graph shows documented input/output relationships and omits uncertain internal wiring.
Main entry points: raw_data Gas recordings · run_h2s_concentration_regression.py H2S regression pipeline · all_gases_framewise.csv Frame-wise dataset · fuse_data.py Add cycle metadata
Components 21
Data preparation
- Gas recordings
data/raw_data - Metadata-enriched files
data/raw_data/with_meta - Add cycle metadata
tools/fuse_data.py - Merge gas CSVs
tools/fuse_csv.py - Frame-wise dataset
data/all_gases_framewise.csv - Recording trim utilities
tools/drop_flush_prefix.py
Gas classification
- Run/window classification
baseline_run_window_pipeline_rf.py - Classification metrics and confusion matrices
H2S regression
- H2S concentration recordings
data - H2S regression pipeline
run_h2s_concentration_regression.py - Regression metrics and artifacts
- Baseline comparison CSV
data/baseline_comparison.csv
Analysis figures
- Fingerprint and PCA
figure_fingerprint_pca.py - Fingerprint figures
- H2S model comparison figure
fig_h2s_regression_main4.py - H2S summary outputs
- Metrics summary plots
plot_metrics_summary.py - Confusion-matrix panels
plot_confmats_5baselines_rasterpanels.py - Sensor time-series plots
tools/plot_16_sensors.py - Flush-trimmed sensor plots
tools/plot_16_sensors_skip_flush600s.py
Other components
- Researcher
Connections 29
- Researcher → Add cycle metadata: runs
- Gas recordings → Add cycle metadata: reads
- Add cycle metadata → Metadata-enriched files: writes
- Researcher → Merge gas CSVs: runs
- Metadata-enriched files → Merge gas CSVs: reads
- Merge gas CSVs → Frame-wise dataset: writes
- Researcher → Run/window classification: runs
- Frame-wise dataset → Run/window classification: reads
- Run/window classification → Classification metrics and confusion matrices: writes
- Researcher → H2S regression pipeline: runs
- H2S concentration recordings → H2S regression pipeline: reads
- H2S regression pipeline → Regression metrics and artifacts: writes
- H2S regression pipeline → Baseline comparison CSV: writes
- Researcher → Fingerprint and PCA: runs
- Frame-wise dataset → Fingerprint and PCA: reads
- Fingerprint and PCA → Fingerprint figures: writes
- Researcher → H2S model comparison figure: runs
- Baseline comparison CSV → H2S model comparison figure: reads
- H2S model comparison figure → H2S summary outputs: writes
- Researcher → Metrics summary plots: runs
- Metrics summary plots → Classification metrics and confusion matrices: reads
- Researcher → Confusion-matrix panels: runs
- Confusion-matrix panels → Classification metrics and confusion matrices: reads
- Researcher → Sensor time-series plots: runs
- Gas recordings → Sensor time-series plots: reads
- Researcher → Flush-trimmed sensor plots: runs
- Gas recordings → Flush-trimmed sensor plots: reads
- Researcher → Recording trim utilities: runs
- Recording trim utilities → Gas recordings: rewrites