Visual Interfaces#
A Visual Interface (VI) is an external application that provides visual feedback to participants during experiments. MyoGestic communicates with VIs over UDP and manages their lifecycle.
Each VI integration consists of three components:
Setup Interface – Launches/stops the external process and manages communication (e.g., UDP sockets).
Recording Interface – Manages per-VI recording settings and ground truth collection.
Output System – Routes model predictions to the VI during online sessions.
MyoGestic supports multiple active VIs simultaneously. The main window
exposes them via active_visual_interfaces, a dict[str, VisualInterface]
keyed by the VI short name (e.g., "VHI").
See also
Part 0: Overview and UI Setup for a tutorial on adding a new VI.
Templates#
|
Base class for visual interfaces in the MyoGestic application. |
|
Base class for the setup interface of a visual interface. |
|
Base class for the recording interface of a visual interface. |
Output System Template#
|
Represents a base class handling initialization of main window and prediction type for classification or regression tasks. |
Pre-implemented Visual Interfaces#
Virtual Hand Interface (VHI)#
Displays two virtual hands (user pose vs target pose) using a Unity application. Records 9 DOF of hand kinematics at 60 Hz and maps 10 gestures.
|
Setup interface for the Virtual Hand Interface. |
Recording interface for the Virtual Hand Interface. |
|
|
Output system for the Virtual Hand Interface. |
Virtual Cursor Interface (VCI)#
A 2-D cursor tracking task. Uses the Cursor task category
(CURSOR_TASK_MAP – 5 directions: rest, up, down, right, left).
|
Setup interface for the Virtual Cursor Interface. |
Recording interface for the Virtual Cursor Interface. |
|
|
Output system for the Virtual Cursor Interface. |