Skip to content

leocadio-miguel/pyActigraphy

 
 

Repository files navigation

https://gitlab.com/ghammad/pyActigraphy/badges/master/pipeline.svg?key_text=CI+tests

pyActigraphy

Open-source python package for actigraphy data visualization and analysis.

This package is meant to provide a comprehensive set of tools to:

  • read native actigraphy data files with various formats:
    • Actigraph: wGT3X-BT
    • CamNtech: Actiwatch 4 and MotionWatch 8
    • Condor Instrument: ActTrust 2
    • Daqtix: Daqtometer
    • Respironics: Actiwatch 2 and Actiwatch Spectrum (plus)
    • Tempatilumi (CE Brasil)
  • clean the raw data and mask spurious periods of inactivity
  • produce activity profile plots
  • visualize sleep agendas and compute summary statistics
  • calculate typical wake/sleep cycle-related variables:
    • Non-parametric rest-activity variables: IS(m), IV(m), RA
    • Activity or Rest fragmentation: kRA, kAR
    • Sleep regularity index (SRI)
  • automatically detect rest periods using various algorithms (Cole-Kripke, Sadeh, ..., Crespo, Roenneberg)
  • perform complex analyses:
    • Cosinor analysis
    • Detrended Fluctuation Analysis (DFA)
    • Functional Linear Modelling (FLM)
    • Locomotor Inactivity During Sleep (LIDS)
    • Singular Spectrum Analysis (SSA)
    • and much more...

Code and documentation

The pyActigraphy package is open-source and its source code is accessible online.

An online documentation of the package is also available here. It contains notebooks illustrating various functionalities of the package.

Installation

In a (bash) shell, simply type:

  • For users:
pip3 install pyActigraphy

To update the package:

pip3 install -U pyActigraphy
  • For developers:
git clone git@github.com:ghammad/pyActigraphy.git
cd pyActigraphy/
git checkout develop
pip3 install -e .

Quick start

The following example illustrates how to calculate the interdaily stability with the pyActigraphy package:

>>> import pyActigraphy
>>> rawAWD = pyActigraphy.io.read_raw_awd('/path/to/your/favourite/file.AWD')
>>> rawAWD.IS()
0.6900175913031027
>>> rawAWD.IS(freq='30min', binarize=True, threshold=4)
0.6245582891144925
>>> rawAWD.IS(freq='1H', binarize=False)
0.5257020914453097

Contributing

There are plenty of ways to contribute to this package, including (but not limiting to):

  • report bugs (and, ideally, how to reproduce the bug)
  • suggest improvements
  • improve the documentation

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU GPL-3.0 License - see the LICENSE file for details

Acknowledgments

  • Aubin Ardois @aardoi developed the first version of the MTN class during his internship at the CRC, in May-August 2018.
  • The CRC colleagues for their support, ideas, etc.

About

Python-based open source package for actigraphy data analysis

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%