A sleep classification tool for wearables
Project description
asleep: a sleep classifier for wearable sensor data using machine learning
This is a Python package for classifying sleep stages from wearable sensor data / wrist - worn accelerometer. The underlying model was trained and tested in 1000 + nights of multi - centre polysomnography with tri - axial accelerometer data.
The key features of this package are as follows:
- A simple and easy - to - use API for sleep stage classification.
- Sleep / wake metric estimation including total sleep duration and sleep efficiency.
- Sleep architecture metric estimation including rapid - eye - movement(REM) / NREM sleep duration.
Dependencies
- Python 3.8+
- Java 8 (1.8.0) or greater
Check with:
$ python --version
$ java -version
Installation
$ pip install asleep
Usage
All the processing will be much faster after the first time because the model weights will to have to be downloaded the first time that the package is used.
# Process an AX3 file
$ get_sleep sample.cwa
# Or an ActiGraph file
$ get_sleep sample.gt3x
# Or a GENEActiv file
$ get_sleep sample.bin
# Or a CSV file (see data format below)
$ get_sleep sample.csv
Output
Summary
-------
{
"Filename": "sample.cwa",
"Filesize(MB)": 65.1,
"Device": "Axivity",
"DeviceID": 2278,
"ReadErrors": 0,
"SampleRate": 100.0,
"ReadOK": 1,
"StartTime": "2013-10-21 10:00:07",
"EndTime": "2013-10-28 10:00:01",
"Total sleep duration(min)": 655.7,
"Total overnight sleep(min)": 43132,
...
}
Estimated total sleep duration
---------------------
total sleep duration(min)
time
2013 - 10 - 21 435.2
2013 - 10 - 22 436.2
2013 - 10 - 23 432.2
...
Output: outputs / sample/
Processing CSV files
If a CSV file is provided, it must have the following header: time, x, y, z.
Example:
time, x, y, z
2013 - 10 - 21 10: 00: 08.000, -0.078923, 0.396706, 0.917759
2013 - 10 - 21 10: 00: 08.010, -0.094370, 0.381479, 0.933580
2013 - 10 - 21 10: 00: 08.020, -0.094370, 0.366252, 0.901938
2013 - 10 - 21 10: 00: 08.030, -0.078923, 0.411933, 0.901938
Citation
If you want to use our package for your project, please cite our paper below: TBD
Acknowledgements
We would like to thank all our code contributors, manuscript co - authors, and research participants for their help in making this work possible. The data processing pipeline of this repository is based on the step_count package from our group. Special thanks to @chanshing for his help in developing the package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file asleep-0.3.8.tar.gz
.
File metadata
- Download URL: asleep-0.3.8.tar.gz
- Upload date:
- Size: 41.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59262a7d3fd04bbef9d88c7094e919a3021e0851e5afa029c51559a461fdb017 |
|
MD5 | 1798673c673000a6fbf6c74f27a53fcc |
|
BLAKE2b-256 | 9db0f78ff7dbb5b7f889c5560d64d5dec024184a0379e403c54c068b991d16b4 |
File details
Details for the file asleep-0.3.8-py3-none-any.whl
.
File metadata
- Download URL: asleep-0.3.8-py3-none-any.whl
- Upload date:
- Size: 38.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a7e3acda904d284aea552e888d88c79cd1b7a849f9f2ee1abcdd232c1d8bced |
|
MD5 | b2d71b82b8e4f59f9b23320bce099cf5 |
|
BLAKE2b-256 | 3f4e0a48bc36e3b4da714d8f2136804f971655eb51d20acb91393a98c5bd7f62 |