paradigma 0.2.0__py3-none-any.whl → 0.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import json
3
3
  import numpy as np
4
4
  import pandas as pd
5
5
  from pathlib import Path
6
- from typing import List
6
+ from typing import List, Union
7
7
  from datetime import datetime, timedelta
8
8
 
9
9
  import tsdf
@@ -31,7 +31,7 @@ def scan_and_sync_segments(input_path_ppg, input_path_imu):
31
31
  return metadatas_ppg, metadatas_imu
32
32
 
33
33
 
34
- def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TSDFMetadata, output_path: str, ppg_config: PPGPreprocessingConfig, imu_config: IMUPreprocessingConfig):
34
+ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TSDFMetadata, output_path: Union[str, Path], ppg_config: PPGPreprocessingConfig, imu_config: IMUPreprocessingConfig):
35
35
 
36
36
  # Load PPG data
37
37
  metadata_time_ppg = tsdf_meta_ppg[ppg_config.time_filename]
@@ -53,16 +53,16 @@ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TS
53
53
  df_imu[DataColumns.TIME] = paradigma.imu_preprocessing.transform_time_array(
54
54
  time_array=df_imu[DataColumns.TIME],
55
55
  scale_factor=1000,
56
- input_unit_type = paradigma.constants.TimeUnit.difference_ms,
57
- output_unit_type = paradigma.constants.TimeUnit.absolute_ms,
56
+ input_unit_type = TimeUnit.DIFFERENCE_MS,
57
+ output_unit_type = TimeUnit.ABSOLUTE_MS,
58
58
  start_time = start_time_ppg)
59
59
 
60
60
  start_time_imu = parse_iso8601_to_datetime(metadata_time_imu.start_iso8601).timestamp()
61
61
  df_ppg[DataColumns.TIME] = paradigma.imu_preprocessing.transform_time_array(
62
62
  time_array=df_ppg[DataColumns.TIME],
63
63
  scale_factor=1000,
64
- input_unit_type = paradigma.constants.TimeUnit.difference_ms,
65
- output_unit_type = paradigma.constants.TimeUnit.absolute_ms,
64
+ input_unit_type = TimeUnit.DIFFERENCE_MS,
65
+ output_unit_type = TimeUnit.ABSOLUTE_MS,
66
66
  start_time = start_time_imu)
67
67
 
68
68
  # Extract overlapping segments
@@ -74,7 +74,7 @@ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TS
74
74
  df_imu_proc = paradigma.imu_preprocessing.resample_data(
75
75
  df=df_imu_overlapping,
76
76
  time_column=DataColumns.TIME,
77
- time_unit_type=paradigma.constants.TimeUnit.absolute_ms,
77
+ time_unit_type=TimeUnit.ABSOLUTE_MS,
78
78
  unscaled_column_names = list(imu_config.d_channels_accelerometer.keys()),
79
79
  resampling_frequency=imu_config.sampling_frequency,
80
80
  scale_factors=metadata_samples_imu.scale_factors[0:3],
@@ -84,7 +84,7 @@ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TS
84
84
  df_ppg_proc = paradigma.imu_preprocessing.resample_data(
85
85
  df=df_ppg_overlapping,
86
86
  time_column=DataColumns.TIME,
87
- time_unit_type=paradigma.constants.TimeUnit.absolute_ms,
87
+ time_unit_type=TimeUnit.ABSOLUTE_MS,
88
88
  unscaled_column_names = list(ppg_config.d_channels_ppg.keys()),
89
89
  scale_factors=metadata_samples_imu.scale_factors,
90
90
  resampling_frequency=ppg_config.sampling_frequency,
@@ -125,16 +125,16 @@ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TS
125
125
  df_imu_proc[DataColumns.TIME] = paradigma.imu_preprocessing.transform_time_array(
126
126
  time_array=df_imu_proc[DataColumns.TIME],
127
127
  scale_factor=1,
128
- input_unit_type=paradigma.constants.TimeUnit.absolute_ms,
129
- output_unit_type=paradigma.constants.TimeUnit.relative_ms,
128
+ input_unit_type=TimeUnit.ABSOLUTE_MS,
129
+ output_unit_type=TimeUnit.RELATIVE_MS,
130
130
  start_time=start_time_ppg,
131
131
  )
132
132
 
133
133
  df_ppg_proc[DataColumns.TIME] = paradigma.imu_preprocessing.transform_time_array(
134
134
  time_array=df_ppg_proc[DataColumns.TIME],
135
135
  scale_factor=1,
136
- input_unit_type=paradigma.constants.TimeUnit.absolute_ms,
137
- output_unit_type=paradigma.constants.TimeUnit.relative_ms,
136
+ input_unit_type=TimeUnit.ABSOLUTE_MS,
137
+ output_unit_type=TimeUnit.RELATIVE_MS,
138
138
  start_time=start_time_imu,
139
139
  )
140
140
 
@@ -142,14 +142,14 @@ def preprocess_ppg_data(tsdf_meta_ppg: tsdf.TSDFMetadata, tsdf_meta_imu: tsdf.TS
142
142
  metadata_samples_imu.channels = list(imu_config.d_channels_accelerometer.keys())
143
143
  metadata_samples_imu.units = list(imu_config.d_channels_accelerometer.values())
144
144
  metadata_samples_imu.file_name = 'accelerometer_samples.bin'
145
- metadata_time_imu.units = [TimeUnit.absolute_ms]
145
+ metadata_time_imu.units = [TimeUnit.ABSOLUTE_MS]
146
146
  metadata_time_imu.file_name = 'accelerometer_time.bin'
147
147
  write_data(metadata_time_imu, metadata_samples_imu, output_path, 'accelerometer_meta.json', df_imu_proc)
148
148
 
149
149
  metadata_samples_ppg.channels = list(ppg_config.d_channels_ppg.keys())
150
150
  metadata_samples_ppg.units = list(ppg_config.d_channels_ppg.values())
151
151
  metadata_samples_ppg.file_name = 'PPG_samples.bin'
152
- metadata_time_ppg.units = [TimeUnit.absolute_ms]
152
+ metadata_time_ppg.units = [TimeUnit.ABSOLUTE_MS]
153
153
  metadata_time_ppg.file_name = 'PPG_time.bin'
154
154
  write_data(metadata_time_ppg, metadata_samples_ppg, output_path, 'PPG_meta.json', df_ppg_proc)
155
155
 
@@ -1,5 +1,5 @@
1
- from paradigma.constants import DataColumns
2
-
1
+ from paradigma.constants import DataColumns, DataUnits
2
+ from paradigma.gait_analysis_config import IMUConfig
3
3
 
4
4
  class BasePreprocessingConfig:
5
5
 
@@ -9,8 +9,8 @@ class BasePreprocessingConfig:
9
9
  self.values_filename = ''
10
10
  self.time_filename = ''
11
11
 
12
- self.acceleration_units = 'm/s^2'
13
- self.rotation_units = 'deg/s'
12
+ self.acceleration_units = DataUnits.ACCELERATION
13
+ self.rotation_units = DataUnits.ROTATION
14
14
 
15
15
  self.time_colname = DataColumns.TIME
16
16
 
@@ -23,18 +23,26 @@ class BasePreprocessingConfig:
23
23
  self.upper_cutoff_frequency = 3.5
24
24
  self.filter_order = 4
25
25
 
26
+ def set_filenames(self, prefix: str) -> None:
27
+ """Sets the filenames based on the prefix. This method is duplicated from `gaits_analysis_config.py`.
28
+
29
+ Parameters
30
+ ----------
31
+ prefix : str
32
+ The prefix for the filenames.
33
+ """
34
+ self.meta_filename = f"{prefix}_meta.json"
35
+ self.time_filename = f"{prefix}_time.bin"
36
+ self.values_filename = f"{prefix}_samples.bin"
26
37
 
27
38
  class IMUPreprocessingConfig(BasePreprocessingConfig):
28
39
 
29
40
  def __init__(self) -> None:
30
41
  super().__init__()
31
42
 
32
- self.meta_filename = 'IMU_meta.json'
33
- self.values_filename = 'IMU_samples.bin'
34
- self.time_filename = 'IMU_time.bin'
35
-
36
- self.acceleration_units = 'm/s^2'
37
- self.rotation_units = 'deg/s'
43
+ self.set_filenames('IMU')
44
+ self.acceleration_units = DataUnits.ACCELERATION
45
+ self.rotation_units = DataUnits.ROTATION
38
46
 
39
47
  self.d_channels_accelerometer = {
40
48
  DataColumns.ACCELEROMETER_X: self.acceleration_units,
@@ -53,12 +61,9 @@ class PPGPreprocessingConfig(BasePreprocessingConfig):
53
61
  def __init__(self) -> None:
54
62
  super().__init__()
55
63
 
56
- self.meta_filename = 'PPG_meta.json'
57
- self.values_filename = 'PPG_samples.bin'
58
- self.time_filename = 'PPG_time.bin'
59
-
64
+ self.set_filenames('PPG')
60
65
  self.d_channels_ppg = {
61
- DataColumns.PPG: 'none'
66
+ DataColumns.PPG: DataUnits.NONE
62
67
  }
63
68
 
64
69
  self.sampling_frequency = 30
paradigma/util.py CHANGED
@@ -26,13 +26,13 @@ def write_data(metadata_time: TSDFMetadata, metadata_samples: TSDFMetadata,
26
26
 
27
27
  # Make sure the iso8601 format is correctly set
28
28
  #TODO: this should be properly validated in the tsdf library instead
29
- start_date = parser.parse(metadata_time.__getattribute__('start_iso8601'))
29
+ start_date = parser.parse(metadata_time.start_iso8601)
30
30
  metadata_time.start_iso8601 = format_datetime_to_iso8601(start_date)
31
- end_date = parser.parse(metadata_time.__getattribute__('end_iso8601'))
31
+ end_date = parser.parse(metadata_time.end_iso8601)
32
32
  metadata_time.end_iso8601 = format_datetime_to_iso8601(end_date)
33
- start_date = parser.parse(metadata_samples.__getattribute__('start_iso8601'))
33
+ start_date = parser.parse(metadata_samples.start_iso8601)
34
34
  metadata_samples.start_iso8601 = format_datetime_to_iso8601(start_date)
35
- end_date = parser.parse(metadata_samples.__getattribute__('end_iso8601'))
35
+ end_date = parser.parse(metadata_samples.end_iso8601)
36
36
  metadata_samples.end_iso8601 = format_datetime_to_iso8601(end_date)
37
37
 
38
38
  # TODO: improve the way the metadata is stored at a different location
paradigma/windowing.py CHANGED
@@ -2,6 +2,8 @@ import pandas as pd
2
2
  import numpy as np
3
3
  import math
4
4
 
5
+ from typing import Union, List
6
+
5
7
 
6
8
  def create_window(
7
9
  df: pd.DataFrame,
@@ -57,11 +59,11 @@ def tabulate_windows(
57
59
  df: pd.DataFrame,
58
60
  time_column_name: str,
59
61
  data_point_level_cols: list,
60
- window_length_s: int = 6,
61
- window_step_size_s: int = 1,
62
+ window_length_s: Union[int, float] = 6,
63
+ window_step_size_s: Union[int, float] = 1,
62
64
  sampling_frequency: int = 100,
63
- segment_nr_colname: str = None,
64
- segment_nr: int = None,
65
+ segment_nr_colname: Union[str, None] = None,
66
+ segment_nr: Union[int, None] = None,
65
67
  ) -> pd.DataFrame:
66
68
  """Compiles multiple windows into a single dataframe
67
69
 
@@ -73,9 +75,9 @@ def tabulate_windows(
73
75
  The name of the time column
74
76
  data_point_level_cols: list
75
77
  The names of the columns that are to be kept as individual datapoints in a list instead of aggregates
76
- window_length_s: int, optional
78
+ window_length_s: int | float, optional
77
79
  The number of seconds a window constitutes (default: 6)
78
- window_step_size_s: int, optional
80
+ window_step_size_s: int | float, optional
79
81
  The number of seconds between the end of the previous and the start of the next window (default: 1)
80
82
  sampling_frequency: int, optional
81
83
  The sampling frequency of the data (default: 100)
@@ -0,0 +1,79 @@
1
+ Metadata-Version: 2.1
2
+ Name: paradigma
3
+ Version: 0.3.1
4
+ Summary: Paradigma - a toolbox for Digital Biomarkers for Parkinson's Disease
5
+ License: Apache-2.0
6
+ Author: Peter Kok
7
+ Author-email: p.kok@esciencecenter.nl
8
+ Requires-Python: >=3.10,<4.0
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Dist: pandas (>=2.1.4,<3.0.0)
15
+ Requires-Dist: pytype (>=2024.4.11,<2025.0.0)
16
+ Requires-Dist: scikit-learn (>=1.3.2,<2.0.0)
17
+ Requires-Dist: tsdf (>=0.5.2,<0.6.0)
18
+ Description-Content-Type: text/markdown
19
+
20
+ # paradigma
21
+
22
+ | Badges | |
23
+ |:----:|----|
24
+ | **Packages and Releases** | [![Latest release](https://img.shields.io/github/release/biomarkersparkinson/paradigma.svg)](https://github.com/biomarkersparkinson/paradigma/releases/latest) [![PyPI](https://img.shields.io/pypi/v/paradigma.svg)](https://pypi.python.org/pypi/paradigma/) [![Static Badge](https://img.shields.io/badge/RSD-paradigma-lib)](https://research-software-directory.org/software/paradigma) |
25
+ | **Build Status** | [![](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![Build and test](https://github.com/biomarkersParkinson/paradigma/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/biomarkersParkinson/paradigma/actions/workflows/build-and-test.yml) [![pages-build-deployment](https://github.com/biomarkersParkinson/paradigma/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/biomarkersParkinson/paradigma/actions/workflows/pages/pages-build-deployment) |
26
+ | **License** | [![GitHub license](https://img.shields.io/github/license/biomarkersParkinson/paradigma)](https://github.com/biomarkersparkinson/paradigma/blob/main/LICENSE) |
27
+ <!-- | **DOI** | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7867899.svg)](https://doi.org/10.5281/zenodo.7867899) | -->
28
+ <!-- | **Fairness** | [![fair-software.eu](https://img.shields.io/badge/fair--software.eu-%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F-green)](https://fair-software.eu) [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/8083/badge)](https://www.bestpractices.dev/projects/8083) | -->
29
+
30
+ Digital Biomarkers for Parkinson's Disease Toolbox
31
+
32
+ A package ([documentation](https://biomarkersparkinson.github.io/paradigma/)) to process wearable sensor data for Parkinson's disease.
33
+
34
+ ## Installation
35
+
36
+ The package is available in PyPi and requires [Python 3.10](https://www.python.org/downloads/) or higher. It can be installed using:
37
+
38
+ ```bash
39
+ pip install paradigma
40
+ ```
41
+
42
+ ## Usage
43
+
44
+ See our [extended documentation](https://biomarkersparkinson.github.io/paradigma/).
45
+
46
+
47
+ ## Development
48
+
49
+ ### Installation
50
+ The package requires Python 3.10 or higher. Use [Poetry](https://python-poetry.org/docs/#installation) to set up the environment and install the dependencies:
51
+
52
+ ```bash
53
+ poetry install
54
+ ```
55
+
56
+ ### Testing
57
+
58
+ ```bash
59
+ poetry run pytest
60
+ ```
61
+
62
+ ### Building documentation
63
+
64
+ ```bash
65
+ poetry run make html --directory docs/
66
+ ```
67
+
68
+ ## Contributing
69
+
70
+ Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
71
+
72
+ ## License
73
+
74
+ `paradigma` was created by Peter Kok, Vedran Kasalica, Erik Post, Kars Veldkamp, Nienke Timmermans, Diogo Coutinho Soriano, Luc Evers. It is licensed under the terms of the Apache License 2.0 license.
75
+
76
+ ## Credits
77
+
78
+ `paradigma` was created with [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) and the `py-pkgs-cookiecutter` [template](https://github.com/py-pkgs/py-pkgs-cookiecutter).
79
+
@@ -1,12 +1,12 @@
1
1
  paradigma/__init__.py,sha256=vCLqo7vOEgcnYs10gUVYvEFfi8y-jBi7w1YKRoqn95k,127
2
- paradigma/constants.py,sha256=FVmoK6srAW0Qsc3oUbkcx53iejyIPsuWu13qKrbPAzY,973
3
- paradigma/feature_extraction.py,sha256=2H9aQmdbbPmm3F_D55gFWjGl-P9R49gsVvfojei-jBM,28152
4
- paradigma/gait_analysis.py,sha256=mu-3Oa8O65Dl1L_xGbl_QZQ46-HIaDaZpHx6WNqDaQk,19356
5
- paradigma/gait_analysis_config.py,sha256=3IRLWERAoqbCHCYg58NYXg52ZusO-y3_hlYgL5eKhME,9663
2
+ paradigma/constants.py,sha256=fC64MZY7b8BdakakQPxOnr4fvqTvAthInezbEXWp2Y0,1944
3
+ paradigma/feature_extraction.py,sha256=534lOy-a_cLbThrbN2CkLypp53OmyKfm2zVBrDcICCE,29092
4
+ paradigma/gait_analysis.py,sha256=_dIfGJksF3SUi-ViZzy9kHel_I_9_5rJqY8Sd4C9aEA,19678
5
+ paradigma/gait_analysis_config.py,sha256=89iWUGom6YocBxAqS7VwCn4Cput2mzxP2e7RI2iA4y4,9858
6
6
  paradigma/heart_rate_analysis.py,sha256=6upEOkMYD-Pu8OKWK7iY_j96iOxJgSMqmZJx8ILAc28,6208
7
7
  paradigma/heart_rate_analysis_config.py,sha256=fxvX_P2BpN7ImtbgFxMforp02GpIEXg3OXE5d2BIkTk,168
8
- paradigma/heart_rate_util.py,sha256=lgZTRdpk-9EVN6HB1-nQoKB6sD3FZd6pQBscBy73-as,6213
9
- paradigma/imu_preprocessing.py,sha256=kygJQb8gcIZlpNtZ4YSjkM7bY_dmZwXKDe1Mui8XBbU,8636
8
+ paradigma/heart_rate_util.py,sha256=ECTnyOw-KgKUazzK9pg3dMYCdYsGZ1ixEusF-hzu4Vw,6233
9
+ paradigma/imu_preprocessing.py,sha256=n0NY80TfjtBL2XNDFsTebaLYvzepZlL_XrEZAqjo4dU,8789
10
10
  paradigma/ppg/classifier/LR_PPG_quality.pkl,sha256=Zet2g1JIjwBPIK_eJs-aiKACyLbe0tLwSfA5Vm_5bsw,948
11
11
  paradigma/ppg/classifier/LR_model.mat,sha256=LaciVbQGHBGbMaui3mEdq-b898FshU6vY9QAp502Xwg,3712
12
12
  paradigma/ppg/feat_extraction/acc_feature.m,sha256=D32PToHF7GupfItJculfdLmf0sET9z5LE-RchGpbJJc,975
@@ -87,8 +87,8 @@ paradigma/ppg/hr_functions/TFD toolbox JOT/utils/padWin.m,sha256=DTOK5JTm49A2a6p
87
87
  paradigma/ppg/hr_functions/TFD toolbox JOT/utils/vtfd.m,sha256=U5WdtSOjIRW8tiahpURdFjD95IpfdLEuyQL2firTnFA,4836
88
88
  paradigma/ppg/preprocessing/preprocessing_imu.m,sha256=tevkDPC23S4NQor62HlJwCc2MwtMv3-_buvB1P-KOuo,763
89
89
  paradigma/ppg/preprocessing/preprocessing_ppg.m,sha256=tHnGuqS7RKUptzFIu-vu6I8P50iIOR8Bulq0IIDB1so,700
90
- paradigma/ppg_preprocessing.py,sha256=Usvoz1m0XAdEx1DZjat6QisDyp8t4JAiL4759XjXCAQ,14261
91
- paradigma/preprocessing_config.py,sha256=ZVAco9U9rAsmOB10zroZ2lYnQsdJg171IspaBU8Ga_0,1853
90
+ paradigma/ppg_preprocessing.py,sha256=ZJK4wXqdDpYW2ziKdlwfdxtowJSmmDB438ncGEBBH8g,14081
91
+ paradigma/preprocessing_config.py,sha256=A48blQi7L-k3cXTHiVuAeahBCPa4ijMFw-ZIgGexibo,2204
92
92
  paradigma/quantification.py,sha256=ymYDWRoWl3QNCOaHlCR3eyHu1nlkAndJRAm3-gg5doE,2035
93
93
  paradigma/tremor/TremorFeaturesAndClassification.m,sha256=DhaLx8R9VcjetUAztWiUDv1PkzeN9s8hU0WRh1OB-CU,16636
94
94
  paradigma/tremor/feat_extraction/DerivativesExtract.m,sha256=-WuRBpuUO3gZ9dFDzQhoqBmEEMuU2gcU6XBuzXnvweU,883
@@ -100,9 +100,9 @@ paradigma/tremor/feat_extraction/PSDExtrAxis.m,sha256=HVp2KewVHbpN1D-gBpjWMYIJ6v
100
100
  paradigma/tremor/feat_extraction/PSDExtrOpt.m,sha256=FKpAL69_Qu9_Gw0rqye9wV5cU_t42R2humOFUtznHxo,4223
101
101
  paradigma/tremor/preprocessing/InterpData.m,sha256=jsrdiE6IPvDTPz5LdZtP1opAh_hQ-M9o7K4WXXsLOhw,1167
102
102
  paradigma/tremor/weekly_aggregates/WeeklyAggregates.m,sha256=OMT_W8B6i6WdXzC9IUiblxzUKHACg4yeRYnCDRcT06k,15816
103
- paradigma/util.py,sha256=enoOaYPp7L-yhgdqL9urPu1gUoWOr6Zyo8Vp480TCcM,2270
104
- paradigma/windowing.py,sha256=g2g9d4sXzMqso0XGTw2-lbXpRszaIHadJy0_HEtHYAc,7327
105
- paradigma-0.2.0.dist-info/LICENSE,sha256=Lda8kIVC2kbmlSeYaUWwUwV75Q-q31idYvo18HUTfiw,9807
106
- paradigma-0.2.0.dist-info/METADATA,sha256=dAxihjfD0WPt8jn254YrtPMYwDI5iPliACPbEiO88AY,1835
107
- paradigma-0.2.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
108
- paradigma-0.2.0.dist-info/RECORD,,
103
+ paradigma/util.py,sha256=eK1zv0of9_MpG-HN29ijkTwgMwV0bCUXjcF3FbzCYeg,2190
104
+ paradigma/windowing.py,sha256=GFFCu_WEwsfWGCJKyLO-o0_7HJt4YAEgU9XoqBXOnEQ,7429
105
+ paradigma-0.3.1.dist-info/LICENSE,sha256=Lda8kIVC2kbmlSeYaUWwUwV75Q-q31idYvo18HUTfiw,9807
106
+ paradigma-0.3.1.dist-info/METADATA,sha256=H_sPZWP3-t9DyR_Z1IpxVlnc3zw8srGh8DUjh6chyi0,3805
107
+ paradigma-0.3.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
108
+ paradigma-0.3.1.dist-info/RECORD,,
@@ -1,58 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: paradigma
3
- Version: 0.2.0
4
- Summary: Paradigma - a toolbox for Digital Biomarkers for Parkinson's Disease
5
- License: Apache-2.0
6
- Author: Peter Kok
7
- Author-email: p.kok@esciencecenter.nl
8
- Requires-Python: >=3.9,<4.0
9
- Classifier: License :: OSI Approved :: Apache Software License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.9
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Requires-Dist: pandas (>=2.1.4,<3.0.0)
16
- Requires-Dist: scikit-learn (>=1.3.2,<2.0.0)
17
- Requires-Dist: tsdf (>=0.5.2,<0.6.0)
18
- Description-Content-Type: text/markdown
19
-
20
- # paradigma
21
-
22
- Digital Biomarkers for Parkinson's Disease Toolbox
23
-
24
- ## Implementation progress
25
-
26
- See [here](https://docs.google.com/spreadsheets/d/19AZZ44cOJeHonGaSpAPh0eMXW2ix5JHz9L9zYTNnH6g/edit?usp=sharing).
27
-
28
- ## Installation
29
- The package requires Python 3.9 or higher. It can be installed using [Poetry](https://python-poetry.org/docs/#installation):
30
-
31
- ```bash
32
- $ poetry install
33
- ```
34
-
35
- ## Usage
36
-
37
- - TODO
38
-
39
- ## Development
40
-
41
- ### Building documentation
42
-
43
- ```bash
44
- poetry run make html --directory docs/
45
- ```
46
-
47
- ## Contributing
48
-
49
- Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
50
-
51
- ## License
52
-
53
- `paradigma` was created by Peter Kok, Vedran Kasalica, Erik Post, Kars Veldkamp, Nienke Timmermans, Diogo Coutinho Soriano, Luc Evers. It is licensed under the terms of the Apache License 2.0 license.
54
-
55
- ## Credits
56
-
57
- `paradigma` was created with [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) and the `py-pkgs-cookiecutter` [template](https://github.com/py-pkgs/py-pkgs-cookiecutter).
58
-