EEGlass
To make clinical diagnoses more understandable, we present a visual interactive dashboard on top of the efficient xEEG classifier network architecture, which puts a special emphasis on explainibility of the model and outcome. This dataset and model focusses on Alzheimerβs Disease (AD) and Frontotemporal Dementia (FTD), every step in the classification is presented in a visual and understandable way, on top of an integrated EEG database viewer.
EEGlass
To make clinical diagnoses more understandable, we present EEGlass, a visual interactive dashboard on top of the efficient xEEGNet classifier network architecture, which puts a special emphasis on explainability of the model and outcome. This dataset and model focuses on Alzheimerβs Disease (AD) and Frontotemporal Dementia (FTD); every step in the classification is presented in a visual and understandable way, on top of an integrated Electroencephalography (EEG) database viewer.

The Model
xEEGNet is a fully interpretable classifier with only trainable parameters. For a subject : channels , samples ( s, Hz).
1. Bandpass filters ( fixed FIR filters ):
2. Spatial mixing with learned weights :
3. Batch norm + band power (square, average, log):
4. Linear classifier (, classes):
gives the signed per-band class contribution shown in the dashboard.
In short: fixed bandpass filters learned spatial mixing bandpower linear classifier. Every intermediate value has a direct physical meaning, so clinicians inspect architecture-intrinsic evidence rather than post-hoc saliency maps.
Supported Dimensionality Reductions
PCA, t-SNE and UMAP projections, selectable in all embedding views (PCA is the default).
Example Use-Case
As an example workflow, a user can start with a new participant by selecting a typical point in the window embedding (R2) to see the predicted output. The Total Band Power panel immediately shows how typical this window's band powers are for the patient, and whether the (e.g. alpha) bands align more with the healthy or AD/FTD cohort (R3). The Scalp View and Band Activations panel make explicit which channels and bands drove the prediction (R1).
Inspecting the raw signal, the user can judge for themselves whether the window looks atypical, where, for each patient and time window individually, the topomap, band activations, and total band power panel indicate which channels and bandpowers are worth a closer look (the corresponding bandpass filter can also be applied to the time-series view), directing the user to the most interesting aspects and making comparison easy while keeping them in control.
Contribute
Combination of all frontend and backend utilities, and baseline for xEEG dashboard development.
To install dependencies:
uv install
bun install
If uv version is newer, use:
uv sync
To start a development server:
uv run fastapi dev backend/app.py --reload-dir backend/
bun dev
To format code:
ruff format
prettier -w .
Also useful: ruff check --fix --unsafe-fixes.
Docker Deployment
Build and start the full stack:
docker compose up --build
The compose setup starts three services:
dataset-downloader: downloads and extracts the configured dataset into thedatasetsDocker volume, then exits.backend: starts only afterdataset-downloadercompleted successfully. It serves the API on http://localhost:8000.frontend: serves the UI on http://localhost:3000.
The default dataset is large. docker-compose.yml also contains a commented smaller dataset URL (only 5 patients instead of 88) that can be swapped into DATASET_URL to test the download flow without downloading the full 4.2 GB dataset.

