In this project, we attempt to train a sleep stage classification from polysomnography (PSG) data and integrate it into a mobile app for real-time deployment.
The goal is to stream data from a smart watch and use the pulse data as surrogate for the Fpz-Cz (EEG) signal.
When using this framework, it is a good idea to setup a virtual environment:
virtualenv -ppython3 venv --clear
source venv/bin/activate
pip install -r requirements.txt
Tested with Python 3.7.9, on Win10, macOS, and Ubuntu Linux operating systems.
Note that to activate the virtual environment on Windows instead run ./venv/Scripts/activate
.
To train a model, simply run:
python main.py
The script supports multiple arguments. To see supported arguments, run python main.py -h
.
The mobile app was developed using Flutter, which is a framework developed by Google. For the app, the following open packages were used (either MIT, BSD-2, or BSD-3 licensed):