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
<p>A Python toolkit for the analysis of Graphomotor study.</p>
75
+
<p>Welcome to <code><ahref="">graphomotor</a></code>, a specialized Python library for analyzing graphomotor data collected via <ahref="https://www.gettingcurious.com/">Curious</a>. 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.</p>
<p>⚠️ <strong>This package is under active development.</strong> 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.</p>
<h2id="data-format-requirements">Data Format Requirements</h2>
114
125
115
-
<p>Install the newest development version via :</p>
126
+
<p>⚠️ <strong>This implementation requires data to adhere to a specific format matching the standard output from <ahref="https://mindlogger.atlassian.net/servicedesk/customer/portal/3/article/859242501">Curious drawing responses</a>.</strong></p>
127
+
128
+
<p>When exporting drawing data from Curious, you typically receive the following files:</p>
129
+
130
+
<ul>
131
+
<li><strong>report.csv</strong>: Contains the participants' actual responses.</li>
132
+
<li><strong>activity_user_journey.csv</strong>: Logs the entire journey through the activity, including button actions like "Next", "Skip", "Back", and "Undo", regardless of whether a response was provided.</li>
133
+
<li><strong>drawing-responses-{date}.zip</strong>: A ZIP archive with raw drawing response CSV files for each participant (e.g., <code>drawing-responses-Mon May 29 2023.zip</code>).</li>
134
+
<li><strong>media-responses-{date}.zip</strong>: A ZIP archive containing SVG files for the drawing responses (e.g., <code>media-responses-Mon May 29 2023.zip</code>).</li>
135
+
<li><strong>trails-responses-{date}.zip</strong>: A ZIP archive with raw trail making response CSV files (if there are any) for each participant (e.g., <code>trails-responses-Mon May 29 2023.zip</code>).</li>
136
+
</ul>
137
+
138
+
<p>For Spiral tasks, the toolkit uses only the CSV files from the drawing responses ZIP. Support for additional tasks will be added in future releases.</p>
<h2id="links-or-references">Links or References</h2>
149
+
<p>Where:</p>
123
150
124
151
<ul>
125
-
<li><ahref="https://www.youtube.com/watch?v=dQw4w9WgXcQ">A very important resource</a></li>
152
+
<li><strong>Participant ID</strong>: Must be enclosed in brackets <code>[]</code> and be a 7-digit number starting with <code>5</code> (e.g., <code>[5123456]</code>) that matches the <code>target_secret_id</code> column in the <strong>report.csv</strong> file.</li>
153
+
<li><strong>Activity Submission ID</strong>: Must be a 32-character hexadecimal string (e.g., <code>18f2-45ea-a1e4-2334e07cc706</code>) that matches the <code>id</code> column in the <strong>report.csv</strong> file.</li>
154
+
<li><strong>Task</strong>: Must be one of the following that matches the <code>item</code> column in the <strong>report.csv</strong> file:
155
+
<ul>
156
+
<li><code>spiral_trace1_Dom</code> through <code>spiral_trace5_Dom</code> (dominant hand tracing tasks)</li>
157
+
<li><code>spiral_trace1_NonDom</code> through <code>spiral_trace5_NonDom</code> (non-dominant hand tracing tasks)</li>
158
+
<li><code>spiral_recall1_Dom</code> through <code>spiral_recall3_Dom</code> (dominant hand recall tasks)</li>
159
+
<li><code>spiral_recall1_NonDom</code> through <code>spiral_recall3_NonDom</code> (non-dominant hand recall tasks)</li>
160
+
</ul></li>
126
161
</ul>
162
+
163
+
<h3id="data-format">Data Format</h3>
164
+
165
+
<p>Your spiral data CSV file must contain the following columns:</p>
166
+
167
+
<divclass="pdoc-code codehilite">
168
+
<pre><span></span><code>line_number, x, y, UTC_Timestamp, seconds, epoch_time_in_seconds_start
169
+
</code></pre>
170
+
</div>
171
+
172
+
<p>This format represents the standard output from <ahref="https://mindlogger.atlassian.net/servicedesk/customer/portal/3/article/596082739">Curious drawing responses data dictionary</a>.</p>
<li><strong>Velocity Features</strong>: Velocity analysis including linear, radial, and angular velocity components with statistical measures (sum, median, variation, skewness, kurtosis).</li>
181
+
<li><strong>Distance Features</strong>: Spatial accuracy measurements using Hausdorff distance metrics with temporal normalizations and segment-specific analysis.</li>
182
+
<li><strong>Drawing Error Features</strong>: Area under the curve (AUC) calculations between drawn paths and ideal reference trajectories to quantify spatial accuracy.</li>
<p>Currently, <code><ahref="">graphomotor</a></code> is available as an importable Python library. CLI functionality is planned for future releases.</p>
204
+
205
+
<h3id="extracting-features-from-spiral-drawing-data">Extracting Features from Spiral Drawing Data</h3>
<p>For detailed configuration options and additional parameters, refer to the <ahref="https://childmindresearch.github.io/graphomotor/graphomotor/core/orchestrator.html#run_pipeline"><code>run_pipeline</code> documentation</a>.</p>
228
+
229
+
<blockquote>
230
+
<p><strong>Note:</strong> Currently, only single file processing is supported, with batch processing planned for future releases.</p>
231
+
</blockquote>
232
+
233
+
<h2id="future-directions">Future Directions</h2>
234
+
235
+
<p>The Graphomotor Study Toolkit is under active development. For more detailed information about upcoming features and development plans, please refer to our <ahref="https://github.com/childmindresearch/graphomotor/issues">GitHub Issues</a> page.</p>
236
+
237
+
<h2id="contributing">Contributing</h2>
238
+
239
+
<p>We welcome contributions from the community! If you're interested in contributing, please review our <ahref="CONTRIBUTING.md">Contributing Guidelines</a> for information on how to get started, coding standards, and the pull request process.</p>
240
+
241
+
<h2id="references">References</h2>
242
+
243
+
<ol>
244
+
<li>Messan, K. S., Kia, S. M., Narayan, V. A., Redmond, S. J., Kogan, A., Hussain, M. A., McKhann, G. M. II, & Vahdat, S. (2022). Assessment of Smartphone-Based Spiral Tracing in Multiple Sclerosis Reveals Intra-Individual Reproducibility as a Major Determinant of the Clinical Utility of the Digital Test. Frontiers in Medical Technology, 3, 714682. <ahref="https://doi.org/10.3389/fmedt.2021.714682">https://doi.org/10.3389/fmedt.2021.714682</a></li>
0 commit comments