PAAT

PAAT: Physical Activity Analysis Toolbox for the analysis of hip-worn raw accelerometer data in Python - Published in JOSS (2025)

https://github.com/trybnetic/paat

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

accelerometry actigraph actigraphy hip physical-activity

Scientific Fields

Mathematics Computer Science - 84% confidence
Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

The physical activity analysis toolbox (PAAT) is a comprehensive toolbox to analyse raw acceleration data from the hip.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 3
  • Open Issues: 1
  • Releases: 6
Topics
accelerometry actigraph actigraphy hip physical-activity
Created almost 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Zenodo

README.rst

=========================================
Physical Activity Analysis Toolbox (PAAT)
=========================================

.. image:: https://github.com/Trybnetic/paat/actions/workflows/python-test.yml/badge.svg
 :target: https://github.com/Trybnetic/paat/actions/workflows/python-test.yml
 :alt: Tests

.. image:: https://codecov.io/gh/Trybnetic/paat/branch/main/graph/badge.svg
  :target: https://codecov.io/gh/Trybnetic/paat
  :alt: Coverage

.. image:: https://readthedocs.org/projects/paat/badge/?version=latest
 :target: https://paat.readthedocs.io/en/latest/?badge=latest
 :alt: Documentation Status

.. image:: https://img.shields.io/pypi/pyversions/paat.svg
  :target: https://pypi.python.org/pypi/paat/
  :alt: Python Versions

.. image:: https://img.shields.io/github/license/trybnetic/paat.svg
 :target: https://github.com/trybnetic/paat/blob/master/LICENSE.txt
 :alt: License

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.13885749.svg
  :target: https://doi.org/10.5281/zenodo.13885749
  :alt: zenodo

The physical activity analysis toolbox (PAAT) is a comprehensive toolbox to analyze raw acceleration data. We developed all code mainly for analyzing ActiGraph data (GT3X files) in large sample study settings where manual annotation and analysis is not feasible. Most functions come along with scientific papers describing the methodology in detail. Even though, the package was and is primarily develop for analyzing ActiGraph data, we warmly welcome contributions for other clinical sensors as well!


Installation
============

The easiest way is to install *paat* directly from PyPI using pip:

.. code:: bash

    pip install paat

For reproducible versions, see `zenodo `_.


Usage
=====

*PAAT* comprises several functions to work with raw data from ActiGraph devices. The following code snippet should give you a brief overview and idea on how to use this package. Further examples and more information on the functions can be found in the documentation.

It is also possible to use other packages such as `actipy `_ or `SciKit Digital Health (SKDH) `_ to load the data. The only prerequisite is that a pandas DataFrame with a TimeStamp index and the sampling frequency is provided. The pandas DataFrame should have raw acceleration data of the vertical axis ("Y" column), the sagittal axis ("X" column), and the frontal axis ("Z" column).

.. code-block:: python

    # Load data from file
    data, sample_freq = paat.read_gt3x('path/to/gt3x/file')

    # Detect non-wear time
    data.loc[:, "Non Wear Time"] = paat.detect_non_wear_time_hees2011(data, sample_freq)

    # Detect sleep episodes
    data.loc[:, "Time in Bed"] = paat.detect_time_in_bed_weitz2024(data, sample_freq)

    # Classify moderate-to-vigorous and sedentary behavior
    data.loc[:, ["MVPA", "SB"]] = paat.calculate_pa_levels(
      data, 
      sample_freq, 
      mvpa_cutpoint=.069, 
      sb_cutpoint=.015
    )

    # Merge the activity columns into one labelled column. columns indicates the
    # importance of the columns, later names are more important and will be kept
    data.loc[:, "Activity"] = paat.create_activity_column(
      data, 
      columns=["SB", "MVPA", "Time in Bed", "Non Wear Time"]
    )

    # Remove the other columns after merging
    data =  data[["X", "Y", "Z", "Activity"]]


Getting involved
================

The *paat* project welcomes help in the following ways:

* Making Pull Requests for
  `code `_,   `tests `_   or `documentation `_.
* Commenting on `open issues `_   and `pull requests `_.
* Helping to answer `questions in the issue section `_.
* Creating feature requests or adding bug reports in the `issue section `_.


Authors and Contributers
========================

*paat* was mainly developed by
`Marc Weitz `_ and `Shaheen Syed `_. For the full list of contributors have a look at `Github's Contributor summary `_.

Currently, it is maintained by `Marc Weitz `_. In case you want to contact the project maintainers, please send an email to marc [dot] weitz [at] uit [dot] no


Acknowledgments
===============

This work was supported by the High North Population Studies at UiT The Arctic University of Norway.

Owner

  • Name: Marc Weitz
  • Login: Trybnetic
  • Kind: user
  • Location: Tromsø, Norway
  • Company: University of Tromsø (@uit-no)

PhD candidate in hip-based accelerometry

JOSS Publication

PAAT: Physical Activity Analysis Toolbox for the analysis of hip-worn raw accelerometer data in Python
Published
July 24, 2025
Volume 10, Issue 111, Page 8136
Authors
Marc Weitz ORCID
Department of Computer Science, UiT The Arctic University of Norway, Tromsø, Norway
Shaheen Syed ORCID
Department of Computer Science, UiT The Arctic University of Norway, Tromsø, Norway
Alexander Horsch ORCID
Department of Computer Science, UiT The Arctic University of Norway, Tromsø, Norway
Editor
Stefan Appelhoff ORCID
Tags
physical-activity accelerometers ActiGraph hip methods

GitHub Events

Total
  • Create event: 13
  • Release event: 7
  • Issues event: 13
  • Watch event: 2
  • Delete event: 15
  • Issue comment event: 19
  • Push event: 50
  • Pull request event: 25
  • Fork event: 2
Last Year
  • Create event: 13
  • Release event: 7
  • Issues event: 13
  • Watch event: 2
  • Delete event: 15
  • Issue comment event: 19
  • Push event: 50
  • Pull request event: 25
  • Fork event: 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 28
  • Total pull requests: 34
  • Average time to close issues: 6 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.91
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 11
  • Pull requests: 27
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 30 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.36
  • Average comments per pull request: 0.93
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Trybnetic (26)
  • mprib (2)
  • helgeingvart (1)
Pull Request Authors
  • Trybnetic (40)
  • freddie-freeloader (2)
  • claaslendt (2)
Top Labels
Issue Labels
enhancement (6) good first issue (5) question (4) bug (3) v1.0.0 (2) documentation (1) wontfix (1)
Pull Request Labels
documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 28 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
  • Total maintainers: 1
pypi.org: paat

A comprehensive toolbox to analyse and model raw physical activity data

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 28 Last month
Rankings
Dependent packages count: 10.3%
Average: 34.0%
Dependent repos count: 57.7%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • easydev >=0.9.35
  • nbsphinx >=0.8.8
  • notebook >=6.4.10
  • numpydoc >=1.2
  • seaborn >=0.11.2
  • sphinx >=1.4
  • sphinx_rtd_theme >=1.0.0
pyproject.toml pypi
  • easydev 0.9.35 develop
  • flake8 ^4.0.1 develop
  • nbsphinx 0.8.8 develop
  • notebook ^6.4.10 develop
  • numpydoc 1.2 develop
  • pydocstyle ^6.1.1 develop
  • pygt3x ^0.1.1 develop
  • pylint ^2.0.0 develop
  • pytest ^7.0 develop
  • pytest-cov ^2.4 develop
  • seaborn ^0.11.2 develop
  • sphinx ^1.4 develop
  • sphinx_rtd_theme 1.0.0 develop
  • vulture ^2.3 develop
  • agcounts ^0.1.1
  • bitstring ^3.1.7
  • glob2 ^0.7
  • joblib ^1.0.1
  • numpy ^1.20.3
  • pandas ^1.2.4
  • psutil ^5.8.0
  • python >=3.8,<3.10
  • resampy ^0.2.2
  • scipy ^1.6.2
  • tables ^3.7.0
  • tensorflow ^2.7.0
  • toml ^0.10.2
  • torch ^1.10.1
.github/workflows/python-publish.yml actions
  • abatilo/actions-poetry v2.1.3 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/python-test.yml actions
  • abatilo/actions-poetry v2.1.3 composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite