An easy-to-use web application for EEM (Excitation-Emission Matrix) analysis and visualization, built on top of the
eempy library (https://github.com/YongminHu/eempy).
- Load EEM from data files from a folder of files (.csv, .txt, .dat, etc.)
- Plot EEMs. Update the visualization according to preprocessing steps (cut ex/em ranges, Raman scattering unit normalization, Raman/Rayleigh scattering removal, IFE correction, smoothing, median filtering).
- Build an EEM dataset from the pre-processed EEMs and export the EEM dataset.
- Import EEM dataset and run signal interpretation models, including peak-picking, regional integration, (K-)PARAFAC, (K-)NMF. Review extracted signal features such as loadings, components, Fmax/score, reconstruction error, and validation metrics.
- Analyze correlations between EEM features and reference variables (such as contaminant concentrations, if imported).
- Visualize all results in an interactive browser interface (graphs, tables, tabs).
- On the GitHub page, click the green Code button.
- Choose Download ZIP.
- Unzip the file to a folder you can find easily (for example: Desktop).
If you do not already have Python, install Python 3.9 or newer from:
During installation on Windows, make sure to check "Add Python to PATH".
Open the unzipped folder (the one that contains app.py).
Windows
- Hold Shift and right-click inside the folder, then choose Open PowerShell window here (or Open in Terminal).
macOS
- Right-click the folder and choose New Terminal at Folder (or open Terminal and
cdinto the folder).
A virtual environment keeps this app's dependencies separate from other projects.
Windows (PowerShell)
python -m venv .venv
.venv\Scripts\Activate.ps1
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
python app.py
Then open your browser to:
http://127.0.0.1:8050
To stop the app, go back to the terminal and press Ctrl + C.
- "python" is not recognized (Windows): Python is not on PATH. Reinstall Python and check "Add Python to PATH".
- pip not found: Use
python -m pipinstead ofpip. - PowerShell blocks activation: Run this once, then try again:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - Port already in use: Close the other app using port 8050, or change the port in
app.py.