Digital biomarkers for ataxia. CeMoQu extends selected SARA subtests and lets patients perform objective self-assessments of motor and speech functions through a web-based system.
- Self-assessment tasks for ataxia and cerebellar disorders
- Quantitative metrics (reaction time, accuracy, smoothness, tremor, intelligibility)
- Browser-based, lightweight, cross-platform (PC & tablet)
- Optional JavaScript modules (browser/Node) for analysis and CSV aggregation
- Cloud-ready for secure, large-scale data storage
CeMoQu/
├── index.html
├── LD/ # Line Drawing Test (SARA Test 6 Finger-to-Nose extension)
│ ├── cmq_LineDrawing.html
│ └── raw/
│ └── LD_P003_20251026_141523.json # Raw trajectory or event log, format:MOD_PID_YYYYMMDD_HHMMSS.ext (LD_P003_20251026_141523.csv)
├── RT/ # Random Target Touch Test (SARA Test 5 Finger-to-Finger extension)
│ ├── cmq_RandomTarget.html
│ └── raw/
│ └── RT_P003_20251026_141455.csv # Raw touch log
├── SD/ # Speech Disturbance Test (SARA Test 4 Speech extension)
│ ├── cmq_SpeechDisturbance.html
│ └── raw/
│ └── SD_P003_20251026_141700.wav # Raw speech data
├── data/ # Aggregated / processed data for all modules
│ ├── csv/
│ │ ├── LD_P003_20251026.csv
│ │ ├── RT_P003_20251026.csv
│ │ └── SD_P003_20251026.csv
│ └── summary/
│ └── CeMoQu_aggregate_20251026.csv # Optional combined summary
├── common/ # Shared utils (unit conversion, scoring, logging)
├── draft/ # Experimental / WIP code
├── LICENSE
└── README.md
- LD — Line Drawing (SARA Test 6 Finger-to-Nose extension)
Path deviation, smoothness (CV), tremor (RMS) - RT — Random Target Touch Test (SARA Test 5 Finger-to-Finger extension)
Reaction time, accuracy, smoothness, tremor, distance→SARA(0–4) mapping - SD — Speech Disturbance Test (SARA Test 4 Speech Disturbance extension)
WER/CER, duration, intelligibility % - common/ — Shared utilities for calibration, scoring, and logging
- draft/ — Experimental or early-stage code
- Open the corresponding
.htmlfile (e.g.,SD/cmq_SpeechDisturbance.html) - Follow on-screen instructions
- The output CSV will be saved under each module’s
data/folder
💡 If your browser blocks saving: Run a local server using Node.js:
npx serve .or
npx http-server -p 8000Then open http://localhost:3000 or http://localhost:8000
Some modules (especially SD) can be extended with Node.js scripts for data analysis, file management, or ASR (Automatic Speech Recognition).
# 1. Verify Node.js installation
node -v
# (Recommended: v18 or higher)
# 2. Initialize project and install dependencies
npm init -y
# 3. Install required packages
npm install csv-writer csv-parser mathjs
# For speech analysis (optional):
# npm install openai whisper-speech or faster-whisper-js
# 4. (Optional) Install a lightweight static server for testing
npm install -g serve http-server