# alexhuang1029/neurotrace architecture

> Architecture diagram of the GitHub repository alexhuang1029/neurotrace, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/alexhuang1029/neurotrace
- Repository: https://github.com/alexhuang1029/neurotrace

## Overview

NeuroTrace is a browser-based handwriting-kinematics tool intended to help detect neurodegenerative disease, with Wacom tablet support. The documented user path is to open the HTML app, use a supported tablet, and download kinematics CSV data for Python analysis; vocational/education history is also named in the project scope. The sampled Python helper loads and summarizes a feature dataset, but the HTML implementation was not sampled, so capture, history collection, and export wiring are shown only where documentation supports them.

Main entry points: [`NeuroTraceV1.4/NeuroTrace.html`](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/NeuroTrace.html) (Handwriting capture), [`NeuroTraceV1.4/DataHelperFile.py`](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/DataHelperFile.py) (Data analysis), [`NeuroTraceV1.4/data.csv`](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/data.csv) (Kinematics CSV), [`NeuroTraceV1.4`](https://github.com/alexhuang1029/neurotrace/tree/main/NeuroTraceV1.4) (History assessment)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interaction["Browser interaction"]
  node_app["NeuroTrace app<br/>[NeuroTrace.html]"]
  node_history["History assessment<br/>[NeuroTraceV1.4]"]
  node_capture["Handwriting capture<br/>[NeuroTrace.html]"]
end

subgraph group_analysis["Kinematics analysis"]
  node_helper["Data analysis<br/>[DataHelperFile.py]"]
  node_features["Feature summaries<br/>[DataHelperFile.py]"]
end

subgraph group_data["Data"]
  node_csv["Kinematics CSV<br/>[data.csv]"]
end

node_participant(("Participant"))
node_browser(("Web browser"))
node_tablet{{"Wacom tablet"}}

node_participant -->|"opens app in"| node_browser
node_browser -->|"loads"| node_app
node_participant -->|"provides history"| node_history
node_participant -->|"writes on"| node_capture
node_tablet -.->|"supplies input"| node_capture
node_app -->|"supports capture"| node_capture
node_capture -->|"downloads data"| node_csv
node_helper -->|"reads"| node_csv
node_helper -->|"summarizes"| node_features

click node_app "https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/NeuroTrace.html"
click node_history "https://github.com/alexhuang1029/neurotrace/tree/main/NeuroTraceV1.4"
click node_capture "https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/NeuroTrace.html"
click node_csv "https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/data.csv"
click node_helper "https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/DataHelperFile.py"
click node_features "https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/DataHelperFile.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_history,node_capture,node_browser toneBlue
class node_helper,node_features toneAmber
class node_csv toneMint
class node_participant,node_tablet toneIndigo
```

## Components

### Browser interaction

- [NeuroTrace app](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/NeuroTrace.html): `NeuroTraceV1.4/NeuroTrace.html`
- [History assessment](https://github.com/alexhuang1029/neurotrace/tree/main/NeuroTraceV1.4): `NeuroTraceV1.4`
- [Handwriting capture](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/NeuroTrace.html): `NeuroTraceV1.4/NeuroTrace.html`

### Kinematics analysis

- [Data analysis](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/DataHelperFile.py): `NeuroTraceV1.4/DataHelperFile.py`
- [Feature summaries](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/DataHelperFile.py): `NeuroTraceV1.4/DataHelperFile.py`

### Data

- [Kinematics CSV](https://github.com/alexhuang1029/neurotrace/blob/main/NeuroTraceV1.4/data.csv): `NeuroTraceV1.4/data.csv`

### Other components

- **Participant**
- **Web browser**
- **Wacom tablet**

## Connections

- Participant → Web browser: opens app in
- Web browser → NeuroTrace app: loads
- Participant → History assessment: provides history
- Participant → Handwriting capture: writes on
- Wacom tablet → Handwriting capture: supplies input
- NeuroTrace app → Handwriting capture: supports capture
- Handwriting capture → Kinematics CSV: downloads data
- Data analysis → Kinematics CSV: reads
- Data analysis → Feature summaries: summarizes
