Metadata-Version: 2.4
Name: acti-data-analyzer
Version: 1.0.1
Summary: A library for processing and analyzing actigraphic data.
Author-email: Piotr Biegański <pbieganski@fuw.edu.pl>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://gitlab.com/fuw_software/aktygrafy
Keywords: actigraphy,sleep,circadian rhythms
Classifier: Natural Language :: English
Classifier: Topic :: Scientific/Engineering
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy~=2.3.0
Requires-Dist: tqdm~=4.67.1
Requires-Dist: ciso8601~=2.3.1
Requires-Dist: multiprocess~=0.70.16
Requires-Dist: scipy~=1.16.0
Requires-Dist: piecewise-regression~=1.5.0
Requires-Dist: matplotlib~=3.10.7
Requires-Dist: pandas~=2.3.3
Provides-Extra: gui
Requires-Dist: dearpygui~=2.1.1; extra == "gui"
Provides-Extra: test
Requires-Dist: pytest~=9.0.0; extra == "test"
Requires-Dist: pytest-order; extra == "test"
Requires-Dist: pytest-randomly; extra == "test"
Requires-Dist: flake8~=7.0.0; extra == "test"
Requires-Dist: flake8-pyproject; extra == "test"
Requires-Dist: mypy~=1.18.2; extra == "test"
Requires-Dist: mypy_extensions; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx~=8.2; extra == "docs"
Requires-Dist: sphinx-autoapi~=3.6; extra == "docs"
Requires-Dist: sphinx-book-theme~=1.1; extra == "docs"
Requires-Dist: commonmark~=0.9.1; extra == "docs"
Dynamic: license-file

# ADA – Actigraphic Data Analyzer
ADA stands for Actigraphic Data Analyzer, coincidentally being also the name of the first programmer in the world.
It is an open source Python module for processing, analyzing and visualizing actigraphic data, with the main focus on bedtime sleep/wake classification and circadian rhythms analysis.
ADA is usable in form of a python package, and in form of standalone application with graphical interface (GUI).

## Installation
Python 3.11 or higher is required. To install the module use pip:

```shell
pip install acti-data-analyzer
```

The GUI for Windows 10 and Windows 11 is availabe as a standalone executable from TODO WHERRE IT WILL BE??.

Alternatively, GUI can be run on any system as a Python script, best within a venv. To do so:
* Download the `run_gui.py` file from this repository
* Install ada with GUI using `pip install acti-data-analyzer[gui]`
* Run the script from the terminal

Alternatively, one may use following commands in the terminal to avoid manual downloading of `run_gui.py`:

* Install the GUI dependencies using `pip install acti-data-analyzer[gui]`
* Activate python by typing `python`
* Import the main using `from ada_gui.gui import main`
* Activate GUI using `main()`



## Main features

* Reading and writing data from:
  * GENEActiv .bin and .csv files
  * Actigraph Corp .gt3x and .csv files
  * The MESA dataset.
* Converting data to native .ada format (much more efficient in terms of disk space and reading speed).
* Multiple algorithms allowing collapsing into epochs:
  * MIMS
  * ActivityIndex
  * ENMO
  * Resampling
  * Cole-Kripke
* Sleep/wake scoring using multiple algorithms:
  * Cole-Kripke
  * Webster
  * Scripps Clinic
  * UCSD
  * Sazonov
  * Unified Filter, with possibility of custom filter construction.
* Estimating multiple sleep metrics:
  * Sleep efficiency
  * Sleep fragmentation index
  * Sleep onset latency
  * Wake after sleep onset
  * And more.
* Assessing circadian rhythms:
  * Single and multi-component cosinor in linear and nonlinear variants
  * Sigmoidally-transformed cosinor
  * Spectrum estimator using autoregressive model
  * Detrended Fluctuation Analysis
  * Nonparametric measures: Interdaily Stability, Intradaily Variability, M10, L5.
* Easy to read and analyze summaries of sleep/wake and circadian assessments for multiple subjects.
* Automatic and customizable synchronization of actigraphic data with PSG staging.
* Plotting of all analysis steps.

Full documentation together with usage tutorial can be found under the [link](https://fuw_software.gitlab.io/aktygrafy/).


## Acknowledgments

`pygt3x` source code included in ADA is developed under the GPL-3.0 license by the Actigraph team. The original repository can be found under the [link](https://github.com/actigraph/pygt3x).
