# pluze/labkit-matlab-workbench architecture

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

- Interactive diagram: https://gitdiagram.com/pluze/labkit-matlab-workbench
- Repository: https://github.com/pluze/labkit-matlab-workbench

## Overview

LabKit is a MATLAB workbench of focused laboratory apps, launched from a shared catalog. The documented user flow is to choose an app, work with data, review plots, and export results; the repository tree identifies app families and shared runtime modules. Since no source excerpts were provided, links between individual app subsystems and detailed processing stages are not inferred.

Main entry points: [`apps/electrochem`](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrochem) (Electrochemistry), [`apps/dic`](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/dic) (DIC workflows), [`apps/electrical_measurement`](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrical_measurement) (Electrical measurement), [`apps/force_gauges`](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/force_gauges) (Force gauges)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_launch["Launch and Runtime"]
  node_launcher["App launcher"]
  node_runtime["App runtime"]
end

subgraph group_measurement["Measurement Apps"]
  node_electrochem["Electrochemistry"]
  node_dic["DIC workflows"]
  node_electrical["Electrical measurement"]
  node_force["Force gauges"]
end

subgraph group_visual["Image and Motion"]
  node_image["Image measurement"]
  node_gait["Gait analysis"]
  node_studio["Figure Studio"]
end

subgraph group_analysis["Analysis Apps"]
  node_biosignal["Biosignal tools"]
  node_neuro["Neurophysiology"]
  node_statistics["Statistics"]
  node_wearable["Wearable ECG"]
end

subgraph group_shared["Shared Framework"]
  node_plots["Plot review"]
  node_exports["Result export"]
end

node_user(("Lab user"))
node_data["Lab data"]

node_user -->|"opens"| node_launcher
node_launcher -->|"launches"| node_runtime
node_runtime -->|"opens app"| node_electrochem
node_runtime -->|"opens app"| node_dic
node_runtime -->|"opens app"| node_electrical
node_runtime -->|"opens app"| node_force
node_runtime -->|"opens app"| node_image
node_runtime -->|"opens app"| node_gait
node_runtime -->|"opens tool"| node_biosignal
node_runtime -->|"opens app"| node_neuro
node_runtime -->|"opens app"| node_statistics
node_runtime -->|"opens app"| node_wearable
node_runtime -->|"opens app"| node_studio
node_data -->|"analyzes"| node_electrochem
node_data -->|"analyzes"| node_dic
node_data -->|"records"| node_electrical
node_data -->|"measures"| node_force
node_data -->|"analyzes"| node_image
node_data -->|"analyzes"| node_gait
node_data -->|"processes"| node_biosignal
node_data -->|"analyzes"| node_neuro
node_data -->|"analyzes"| node_statistics
node_data -->|"analyzes"| node_wearable
node_user -->|"reviews plots"| node_plots
node_user -->|"exports results"| node_exports

click node_electrochem "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrochem"
click node_dic "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/dic"
click node_electrical "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrical_measurement"
click node_force "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/force_gauges"
click node_image "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/image_measurement"
click node_gait "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/gait"
click node_neuro "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/neurophysiology"
click node_statistics "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/statistics"
click node_wearable "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/wearable"
click node_studio "https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/labkit_core/figure_studio"

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_launcher,node_runtime,node_user toneBlue
class node_electrochem,node_dic,node_electrical,node_force toneAmber
class node_image,node_gait,node_studio toneMint
class node_biosignal,node_neuro,node_statistics,node_wearable toneRose
class node_plots,node_exports,node_data toneIndigo
```

## Components

### Launch and Runtime

- **App launcher**
- **App runtime**

### Measurement Apps

- [Electrochemistry](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrochem): `apps/electrochem`
- [DIC workflows](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/dic): `apps/dic`
- [Electrical measurement](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/electrical_measurement): `apps/electrical_measurement`
- [Force gauges](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/force_gauges): `apps/force_gauges`

### Image and Motion

- [Image measurement](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/image_measurement): `apps/image_measurement`
- [Gait analysis](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/gait): `apps/gait`
- [Figure Studio](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/labkit_core/figure_studio): `apps/labkit_core/figure_studio`

### Analysis Apps

- **Biosignal tools**
- [Neurophysiology](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/neurophysiology): `apps/neurophysiology`
- [Statistics](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/statistics): `apps/statistics`
- [Wearable ECG](https://github.com/pluze/labkit-matlab-workbench/tree/main/apps/wearable): `apps/wearable`

### Shared Framework

- **Plot review**
- **Result export**

### Other components

- **Lab user**
- **Lab data**

## Connections

- Lab user → App launcher: opens
- App launcher → App runtime: launches
- App runtime → Electrochemistry: opens app
- App runtime → DIC workflows: opens app
- App runtime → Electrical measurement: opens app
- App runtime → Force gauges: opens app
- App runtime → Image measurement: opens app
- App runtime → Gait analysis: opens app
- App runtime → Biosignal tools: opens tool
- App runtime → Neurophysiology: opens app
- App runtime → Statistics: opens app
- App runtime → Wearable ECG: opens app
- App runtime → Figure Studio: opens app
- Lab data → Electrochemistry: analyzes
- Lab data → DIC workflows: analyzes
- Lab data → Electrical measurement: records
- Lab data → Force gauges: measures
- Lab data → Image measurement: analyzes
- Lab data → Gait analysis: analyzes
- Lab data → Biosignal tools: processes
- Lab data → Neurophysiology: analyzes
- Lab data → Statistics: analyzes
- Lab data → Wearable ECG: analyzes
- Lab user → Plot review: reviews plots
- Lab user → Result export: exports results
