Predicting Neurological Recovery from Coma After Cardiac Arrest: The George B. Moody PhysioNet Challenge 2023
- The Conference
- Description of the files/folders(modules)
- Distributions of the EEG data against clinical information of the patients
- External Resources Used
Conference Website | Official Phase Leaderboard | Final Results
The table of final results of the team:
Final results collecting:
from utils.gather_results import gather_results
td = get_team_digest("Revenger") # overall digest
# a smaller part of the overall digest, in the format of a latex table
# Challenge Score will always be included in the table in the front rows
td = get_team_digest("Revenger", fmt="tex", hour_limits=[72, 48, 24], targets=["CPC"], metrics=["MAE"])
Conference paper: GitHub | IEEE Xplore | [CinC Papers On-line](https://cinc.org/archives/2023/pdf/CinC2023-060.pdf)
Click to view the details
- README.md: this file, serves as the documentation of the project.
- cfg_models.py, cfg.py: configuration files (the former for configuration of models, the latter for configuration of the whole project)
- data_reader.py: data reader, including data downloading, file listing, data loading, etc.
- dataset.py: dataset class, which feeds data to the models.
- Dockerfile: docker file for building the docker image for submissions.
- evaluate_model.py, helper_code.py, remove_data.py, remove_labels.py, run_model.py, train_model.py, truncate_data.py: scripts inherited from the official baseline and official scoring code. Modifications on these files are invalid and are immediately overwritten after being pulled by the organizers (or the submission system).
- evaluate_pipeline.py: pipeline for evaluating models on multiple patients.
- [sync_official.py](sync_official.py): script for synchronizing data from the official baseline and official scoring code.
- requirements.txt, requirements-docker.txt, requirements-no-torch.txt: requirements files for different purposes.
- team_code.py: entry file for the submissions.
- test_local.py, test_docker.py, test_run_challenge.sh: scripts for testing the docker image and the local environment. The latter 2 files along with the docker-test action are used for CI. Passing the CI almost guarantees that the submission will run successfully in the official environment, except for potential GPU-related issues (e.g. model weights and data are on different devices, i.e. CPU and GPU, in which case torch will raise an error).
- trainer.py: trainer class, which trains the models.
- submissions: log file for the submissions, including the key hyperparameters, the scores received, commit hash, etc. The log file is updated after each submission and organized as a YAML file.
Click to view the details
- official_baseline: the official baseline code, included as a submodule.
- official_scoring_metric: the official scoring code, included as a submodule.
- models: folder for model definitions, including CRNN models, and traditional ML models. The latter serves as a minimal garantee model using patient metadata only, which is used when no (EEG) data is available. It is indeed a wrapper containing model construction, training, hyperparameter tuning via grid search, model saving/loading, and end-to-end inference (from raw input to the form of output that the challenge requires).
- utils: various utility functions, as well as some intermediate data files (e.g. train-val split files, etc.). SQI computation code, as mentioned in the unofficial phase (and also the v1 version of the I-CARE database). This will be described in detail in the External Resources Used section.
Source Code integrated from bdsp-core/icare-dl.
As stated in the Artfiact Screening (Signal Quality)
subsection of the Data Description
section of the
I-CARE database version 1.0 hosted at PhysioNet, the SQI is calculated as follows:
...This artifact score is based on how many 10-second epochs within a 5-minute EEG window are contaminated by artifacts. Each 10-second epoch was scored for the presence of the following artifacts including: 1) flat signal, 2) extreme high or low values, 3) muscle artifact, 4) non-physiological spectra, and 5) implausibly fast rising or decreasing signal amplitude...
Precomputed SQI (5min window (epoch), 1min step length) for all EEGs: Google Drive | Alternative
Distribution of SQI for all 5min windows (epochs):