You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Welcome to `graphomotor`, a specialized Python library for analyzing graphomotor data collected via [Curious](https://www.gettingcurious.com/). This toolkit provides comprehensive tools for processing, analyzing, and visualizing data from various graphomotor assessment tasks including spiral drawing, trails making, alphabetic writing, digit symbol substitution, and the Rey-Osterrieth Complex Figure Test.
14
+
Welcome to `graphomotor`, a specialized Python library for analyzing graphomotor data collected via [Curious](https://www.gettingcurious.com/). This toolkit aims to provide comprehensive tools for processing, analyzing, and visualizing data from various graphomotor assessment tasks, including spiral drawing, trails making, alphabetic writing, digit symbol substitution, and the Rey-Osterrieth Complex Figure Test.
15
15
16
-
## Development Progress
16
+
> ⚠️ **This package is under active development.** Currently, the focus is on the spiral drawing task. After finalizing feature extraction, the next steps will involve implementing both preprocessing and visualization for this task. Once these parts are in place, we plan to extend support to other tasks.
17
+
18
+
## Feature Extraction Capabilities
19
+
20
+
The toolkit extracts clinically relevant metrics from digitized drawing data. Currently implemented features include:
21
+
22
+
-**Temporal Features**: Task completion duration.
23
+
-**Velocity Features**: Velocity analysis including linear, radial, and angular velocity components with statistical measures (sum, median, variation, skewness, kurtosis).
24
+
-**Distance Features**: Spatial accuracy measurements using Hausdorff distance metrics with temporal normalizations and segment-specific analysis.
25
+
-**Drawing Error Features**: Area under the curve (AUC) calculations between drawn paths and ideal reference trajectories to quantify spatial accuracy.
26
+
27
+
## Installation
28
+
29
+
Install the graphomotor package from PyPI:
30
+
31
+
```sh
32
+
pip install graphomotor
33
+
```
34
+
35
+
Or install the latest development version directly from GitHub:
> ⚠️ This library **requires input data to adhere to a specific format** matching the standard output from [Curious drawing responses](https://mindlogger.atlassian.net/servicedesk/customer/portal/3/article/859242501). See more details in the [Data Format Requirements](#data-format-requirements) section below.
44
+
45
+
### Extracting Features from Spiral Drawing Data
46
+
47
+
#### Single File Processing
48
+
49
+
```python
50
+
from graphomotor.core import orchestrator
51
+
52
+
# Path to your spiral drawing data file
53
+
input_file ="path/to/your/spiral_data.csv"
54
+
55
+
# Option 1: Process file without saving any CSV file
56
+
# Only return the DataFrame with extracted features
57
+
features_df = orchestrator.run_pipeline(
58
+
input_path=input_file
59
+
)
60
+
61
+
# Features are returned as a pandas DataFrame with source file as index
⚠️ **This package is under active development.** Currently, the focus is on the Spiral task. After finalizing feature extraction, the next steps will involve implementing both preprocessing and visualization for this task. Once these parts are in place, we plan to extend support to other tasks.
118
+
```
119
+
120
+
```python
121
+
# Option 2: Save to a directory with auto-generated filename
122
+
# Creates a single consolidated CSV file with auto-generated name
123
+
# Format: batch_features_{YYYYMMDD_HHMM}.csv
124
+
features_df = orchestrator.run_pipeline(
125
+
input_path=input_dir,
126
+
output_path="path/to/output/directory"
127
+
)
128
+
```
129
+
130
+
```python
131
+
# Option 3: Save to a specific CSV file (single consolidated file)
132
+
# All features will be written to one specified file
133
+
features_df = orchestrator.run_pipeline(
134
+
input_path=input_dir,
135
+
output_path="path/to/consolidated_features.csv"
136
+
)
137
+
```
138
+
139
+
Currently, `graphomotor` is available as an importable Python library. CLI functionality is planned for future releases.
140
+
141
+
For detailed configuration options and additional parameters, refer to the [`run_pipeline` documentation](https://childmindresearch.github.io/graphomotor/graphomotor/core/orchestrator.html#run_pipeline).
@@ -27,8 +152,6 @@ Welcome to `graphomotor`, a specialized Python library for analyzing graphomotor
27
152
28
153
## Data Format Requirements
29
154
30
-
⚠️ **This implementation requires data to adhere to a specific format matching the standard output from [Curious drawing responses](https://mindlogger.atlassian.net/servicedesk/customer/portal/3/article/859242501).**
31
-
32
155
When exporting drawing data from Curious, you typically receive the following files:
33
156
34
157
-**report.csv**: Contains the participants' actual responses.
@@ -67,58 +190,6 @@ line_number, x, y, UTC_Timestamp, seconds, epoch_time_in_seconds_start
67
190
68
191
This format represents the standard output from [Curious drawing responses data dictionary](https://mindlogger.atlassian.net/servicedesk/customer/portal/3/article/596082739).
69
192
70
-
## Feature Extraction Capabilities
71
-
72
-
The toolkit extracts clinically relevant metrics from digitized drawing data. Currently implemented features include:
73
-
74
-
-**Temporal Features**: Task completion duration.
75
-
-**Velocity Features**: Velocity analysis including linear, radial, and angular velocity components with statistical measures (sum, median, variation, skewness, kurtosis).
76
-
-**Distance Features**: Spatial accuracy measurements using Hausdorff distance metrics with temporal normalizations and segment-specific analysis.
77
-
-**Drawing Error Features**: Area under the curve (AUC) calculations between drawn paths and ideal reference trajectories to quantify spatial accuracy.
78
-
79
-
## Installation
80
-
81
-
Install the graphomotor package from PyPI:
82
-
83
-
```sh
84
-
pip install graphomotor
85
-
```
86
-
87
-
Or install the latest development version directly from GitHub:
For detailed configuration options and additional parameters, refer to the [`run_pipeline` documentation](https://childmindresearch.github.io/graphomotor/graphomotor/core/orchestrator.html#run_pipeline).
119
-
120
-
> **Note:** Currently, only single file processing is supported, with batch processing planned for future releases.
121
-
122
193
## Future Directions
123
194
124
195
The Graphomotor Study Toolkit is under active development. For more detailed information about upcoming features and development plans, please refer to our [GitHub Issues](https://github.com/childmindresearch/graphomotor/issues) page.
0 commit comments