Metadata-Version: 2.4
Name: uniovi-simur-wearablepermed-predictor
Version: 1.17.0
Summary: Uniovi Simur WearablePerMed Predictor.
Home-page: https://github.com/SiMuR-UO/uniovi-simur-wearablepermed-predictor.git
Author: Miguel Salinas Gancedo
Author-email: masalinas.gancedo@gmail.com
License: MIT
Project-URL: Documentation, https://pyscaffold.org/
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
License-File: LICENSE.txt
Requires-Dist: importlib-metadata; python_version < "3.8"
Requires-Dist: build==1.3.0
Requires-Dist: cachetools==6.2.0
Requires-Dist: chardet==5.2.0
Requires-Dist: colorama==0.4.6
Requires-Dist: contourpy==1.3.3
Requires-Dist: cycler==0.12.1
Requires-Dist: distlib==0.4.0
Requires-Dist: et_xmlfile==2.0.0
Requires-Dist: filelock==3.19.1
Requires-Dist: fonttools==4.60.0
Requires-Dist: imbalanced-learn==0.14.1
Requires-Dist: joblib==1.5.3
Requires-Dist: kiwisolver==1.4.9
Requires-Dist: matplotlib==3.10.6
Requires-Dist: numpy==2.3.3
Requires-Dist: openpyxl==3.1.5
Requires-Dist: packaging==25.0
Requires-Dist: pandas==2.3.2
Requires-Dist: patsy==1.0.1
Requires-Dist: pillow==11.3.0
Requires-Dist: platformdirs==4.4.0
Requires-Dist: pluggy==1.6.0
Requires-Dist: pyparsing==3.2.4
Requires-Dist: pyproject-api==1.9.1
Requires-Dist: pyproject_hooks==1.2.0
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: python-discovery==1.1.3
Requires-Dist: pytz==2025.2
Requires-Dist: PyYAML==6.0.3
Requires-Dist: scikit-learn==1.8.0
Requires-Dist: scipy==1.16.2
Requires-Dist: setuptools==80.9.0
Requires-Dist: setuptools-scm==9.2.0
Requires-Dist: six==1.17.0
Requires-Dist: sklearn-compat==0.1.5
Requires-Dist: statsmodels==0.14.5
Requires-Dist: threadpoolctl==3.6.0
Requires-Dist: tomli_w==1.2.0
Requires-Dist: tox==4.30.2
Requires-Dist: tzdata==2025.2
Requires-Dist: uniovi-simur-wearablepermed-utils==1.32.0
Requires-Dist: virtualenv==20.34.0
Requires-Dist: wheel==0.45.1
Provides-Extra: testing
Requires-Dist: setuptools; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-cov; extra == "testing"
Dynamic: license-file

<!-- These are examples of badges you might want to add to your README:
     please update the URLs accordingly

[![Built Status](https://api.cirrus-ci.com/github/<USER>/uniovi-simur-wearablepermed-predictor.svg?branch=main)](https://cirrus-ci.com/github/<USER>/uniovi-simur-wearablepermed-predictor)
[![ReadTheDocs](https://readthedocs.org/projects/uniovi-simur-wearablepermed-predictor/badge/?version=latest)](https://uniovi-simur-wearablepermed-predictor.readthedocs.io/en/stable/)
[![Coveralls](https://img.shields.io/coveralls/github/<USER>/uniovi-simur-wearablepermed-predictor/main.svg)](https://coveralls.io/r/<USER>/uniovi-simur-wearablepermed-predictor)
[![PyPI-Server](https://img.shields.io/pypi/v/uniovi-simur-wearablepermed-predictor.svg)](https://pypi.org/project/uniovi-simur-wearablepermed-predictor/)
[![Conda-Forge](https://img.shields.io/conda/vn/conda-forge/uniovi-simur-wearablepermed-predictor.svg)](https://anaconda.org/conda-forge/uniovi-simur-wearablepermed-predictor)
[![Monthly Downloads](https://pepy.tech/badge/uniovi-simur-wearablepermed-predictor/month)](https://pepy.tech/project/uniovi-simur-wearablepermed-predictor)
[![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Twitter)](https://twitter.com/uniovi-simur-wearablepermed-predictor)
-->

[![Project generated with PyScaffold](https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold)](https://pyscaffold.org/)

# Description

Uniovi Simur WearablePerMed Predictor.

<!-- pyscaffold-notes -->
##  Build and publish docker image
You must install docker previous to use these commands

To build the image execute this command:
```bash
$ docker build -t wearablepermed-predictor:1.17.0 .
```

To tag the image to be published in `simuruo` docker hub account execute this command:
```bash
$ docker build tag wearablepermed-predictor:1.17.0 simuruo/wearablepermed-predictor:1.17.0 
```

Login in `simuruo` docker hub account execute this command:
```bash
$ docker login -u simuruo
Password: 
```

To publish image in `simuruo` docker hub account execute this command:
```bash
$ docker push simuruo/wearablepermed-predictor:1.17.0
```

## Execute docker image
```bash
$ docker run \
--rm \
-u $(id -u):$(id -g) \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/models:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/models \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/input:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/input \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/output:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/output \
simuruo/wearablepermed-predictor:1.17.0 \
--models-folder /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/models \
--model-id MODEL_PI_RF_ACC_GYR_4 \
--resources-folder /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/input \
--resource-id case_PI_BRF_acc_gyr_01/PMP1024_W1_PI_1.csv \
--cases-folder /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/output \
--case-id case_PI_BRF_acc_gyr_4_classes_01
--verbose
```

Where these arguments are:

- **models-folder (*)**: The root models folder.

- **model-id (*)**: The model id to be load. Possible values are: [MODEL_PI_RF_ACC_GYR_15, MODEL_M_RF_ACC_GYR_15, MODEL_C_RF_ACC_GYR_15, MODEL_PI_RF_ACC_GYR_4, MODEL_M_RF_ACC_GYR_4, MODEL_C_RF_ACC_GYR_4. Example: MODEL_PI_RF_ACC_GYR_15].

- **resources-folder (*)**: The root resourcers folder.

- **resource-id (*)**: The resource file id in csv format.

- **cases-folder**: The root cases folder.

- **case-id**: Case unique name where save results under cases-folder.

- **case-file-format**: Case file format. Default is npz. Possible values: [npz, csv].

- **is-label-export**: Specify if predictions are export as label format. Default is False.

- **is-database-export**: The prediction result is database saved. Default is False.

- **verbose**: activate verbose logging mode.

(*) are mandatory arguments

If you want login inside the container execute this command.

```bash
$ docker run \
--rm \
-it \
-u $(id -u):$(id -g) \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/models:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/models \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/input:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/input \
-v /home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/output:/home/miguel/git/uniovi/simur/uniovi-simur-wearablepermed-predictor/data/output \
--entrypoint sh \
simuruo/wearablepermed-predictor:1.17.0
```

## Default Value

All models offered by predictor are trained with

- Window size of 250 and overlapping of 50%.
- Right now only individual models are offered by predc¡ictor: Wrist, Thigh or Hip segment bodies.

## Build and Publish in Pypi and Docker Hub
1. Set the final version to the precitor python package from file `setup.cfg`

     ```bash
     version = 1.17.0
     ```

2. Set the new version in the shell scripts: `run_predictor.sh`, `run_predictor.bat`

     Linux/Mac `run_predictor.sh` script:
     ```bash
     # --- CONFIGURATION (Change these) ---
     PREDICTOR_VERSION="1.17.0"
     ```

     Windows `run_predictor.bat script:
     ```bash
     :: --- SYSTEM CONFIGURATION ---
     set PREDICTOR_VERSION=1.17.0
     ```
3. Rebuild and publish package in Pypi repository (You must have credentials)

     ```bash
     $ tox -e clean
     $ tox -e build
     $ tox -e publish -- --repository pypi
     ```

4. Finally build docker image with the last version selected and publish in `simuruo` Docker Hub account (You must have credentials)

     ```bash
     $ docker build -t wearablepermed-predictor:1.17.0 .
     $ docker tag wearablepermed-predictor:1.17.0 simuruo/wearablepermed-predictor:1.17.0
     $ docker push simuruo/wearablepermed-predictor:1.17.0
     ```

## Note

This project has been set up using PyScaffold 4.6. For details and usage
information on PyScaffold see https://pyscaffold.org/.
