From 035419f8f2a441904bf94ddc187162e04f2ae829 Mon Sep 17 00:00:00 2001 From: "bchung2017@gmail.com" Date: Fri, 21 Feb 2025 06:16:41 -0500 Subject: [PATCH] Added documentation of Marker Widget and expanded UDP Network documentation. Included sample Python scripts for UDP --- .../Examples/EEGProjects/20-Motor_Imagery.md | 2 +- .../OpenBCISoftware/02_GUI_Widget_Guide.md | 132 +++++++++++++++++- .../OpenBCI_GUI-MarkerWidget.png | Bin 0 -> 48181 bytes 3 files changed, 132 insertions(+), 2 deletions(-) create mode 100755 website/docs/assets/SoftwareImages/OpenBCISoftware/OpenBCI_GUI-MarkerWidget.png diff --git a/website/docs/Examples/EEGProjects/20-Motor_Imagery.md b/website/docs/Examples/EEGProjects/20-Motor_Imagery.md index 4e4ff45bc..9a407a196 100644 --- a/website/docs/Examples/EEGProjects/20-Motor_Imagery.md +++ b/website/docs/Examples/EEGProjects/20-Motor_Imagery.md @@ -2,7 +2,7 @@ id: MotorImagery title: Motor Imagery --- -**NOTEe** There are known stumbling blocks with this tutorial. The author is not available for questions. +**NOTE** There are known stumbling blocks with this tutorial. The author is not available for questions. This tutorial was made by Rakesh C Jakati. diff --git a/website/docs/Software/OpenBCISoftware/02_GUI_Widget_Guide.md b/website/docs/Software/OpenBCISoftware/02_GUI_Widget_Guide.md index 97639f877..9e9a9dd3c 100644 --- a/website/docs/Software/OpenBCISoftware/02_GUI_Widget_Guide.md +++ b/website/docs/Software/OpenBCISoftware/02_GUI_Widget_Guide.md @@ -255,6 +255,75 @@ Able to stream one data type. The data is sent sequentially, bit by bit, in cons User Datagram Protocol is used primarily for establishing low-latency and loss-tolerating connections between applications on the internet. The UDP protocol allows for up to three different data sets to be sent to three different applications. +#### Running sample Python UDP scripts + +##### Sample scripts overview +> 📌 **Repository URL**: [OpenBCI GUI Networking-Test-Kit - UDP](https://github.com/OpenBCI/OpenBCI_GUI/tree/master/Networking-Test-Kit/UDP) + +This section explains how to test **UDP marker reception** in OpenBCI GUI using the **Networking-Test-Kit**. The test consists of two Python scripts: + +- **`udp_receive_marker.py`** - Starts a UDP listener to receive marker packets. +- **`udp_send_marker.py`** - Sends test UDP marker packets to the listener. + + +##### Prerequisites + +Before running the test, ensure the following: + +- **Python 3** is installed (`python3 --version`). +- You are inside the **Networking-Test-Kit/UDP** directory: + + ```sh + cd path/to/OpenBCI_GUI/Networking-Test-Kit/UDP + ``` + +##### Running the UDP Test +> ⚠ **Important:** +> The **receiver must start before the sender**, otherwise the UDP packets will be lost. + +Open **Terminal 1** and run: + +```sh + python3 -m udp_receive_marker --ip 127.0.0.1 --port 12345 --option print +``` + +Open **Terminal 2** and run: + +```sh + python3 -m udp_send_marker --ip 127.0.0.1 --port 12345 +``` + +##### Expected Sender Output +```sh +--------------------- +-- UDP MARKER SEND -- +--------------------- +IP: 127.0.0.1 +PORT: 12345 +--------------------= +``` + +##### Expected Receiver Output +```sh +-------------------- +-- UDP LISTENER -- +-------------------- +IP: 127.0.0.1 +PORT: 12345 +-------------------- +print option selected +Listening for UDP packets... +Received Marker: 2.506424330049714 +Received Marker: 1.5585284066901215 +Received Marker: 2.8304827346407384 + +``` + +:::tip +[The Marker Widget supports receiving UDP packets for marking timestamps in data via external hardware](#external-marking-via-udp) +::: +--- + ### LSL Lab Streaming Layer is a system for synchronizing streaming data for live analysis or recording. LSL is a good way to send your OpenBCI stream to applications that can record or manipulate the data, such as [Matlab](../../Software/CompatibleThirdPartySoftware/01-Matlab.md). @@ -317,12 +386,73 @@ In the picture below, you will see an example of some acceptable impedance value ## Playback Widget -This Widget only appears when in playback mode. It allows you to select a different playback without having to “Stop System”. There is a button in the top right of the Widget that allows you to select any OpenBCI playback file (.txt or .csv). Selecting other types of files may cause an error. +This widget only appears when in playback mode. It allows you to select a different playback without having to “Stop System”. There is a button in the top right of the Widget that allows you to select any OpenBCI playback file (.txt or .csv). Selecting other types of files may cause an error. ## Pulse Widget This widget will only show for Cyton in Live mode. It uses the Analog Read mode to get data from the pin marked D11 on the Cyton. Using this data, the widget will calculate the Beats per minute (BPM) and the Interbeat Interval (IBI). When using the Networking widget, this data type will send BPM, Raw Signal, and IBI. +## Marker Widget + +This widget provides a method for marking timestamps during a live session in realtime with values ranging from 1 to 8. These markers appear on the time-series graph, where the bar height corresponds to the selected marker value. When a marker input button is pressed, a bar is placed at the corresponding timestamp in the graph. The marker data is saved in the output data under the "Marker" column. The graph progresses forward over time and displays past time data, allowing users to see the history of marker inputs. + +Additionally, users can configure: +- Vertical Scale (Vert scale): Adjusts the height of the graph so that only values less than the specified height are displayed. +- Time Window (Window): Defines how many seconds backwards the time-series graph displays data. +- IP address input: Defines the target IP for receiving external markers. +- Port input: Specifies the port for receiving UDP marker data. + +![Marker Widget Live Mode with Data](../../assets/SoftwareImages/OpenBCISoftware/OpenBCI_GUI-MarkerWidget.png) + +### Inputs + +#### UI Buttons +The GUI features 8 dedicated buttons, each representing a unique marker value: +- Pressing a button inserts the corresponding marker into the time-series data. +- The height of the bar in the graph represents the marker value at a given timestamp. +- A bar is placed at the corresponding timestamp when a marker input button is pressed. +- The marker data is recorded in the output data under the "Marker" column. + +#### Keyboard Inputs +Users can input markers using specific keyboard keys: + +| Key Press | Marker Value | +|-----------|-------------| +| `z` | 1 | +| `x` | 2 | +| `c` | 3 | +| `v` | 4 | +| `Z` | 5 | +| `X` | 6 | +| `C` | 7 | +| `V` | 8 | +:::note +Previous functionalities associated with these keys have been removed. +::: + +#### Graph Configuration + +| Setting | Description | +|--------------|-------------| +| **Vert scale** | Adjusts the height of the graph so that only values less than the specified height are displayed. | +| **Window** | Defines how many seconds backwards the time-series graph displays data. | + + +### External Marking via UDP + +This method can be used to mark timestamps in live sessions with external hardware. Users can set the IP Address and Port to their external hardware configurations. The UDP Receiver starts listening upon GUI startup. + +The UDP receiver expects a single floating-point value, which represents the marker. The UDP packet data containing the single floating-point value must be formatted as 4 bytes of raw binary data. +- The receiver **decodes the float** using: + ```java + ByteBuffer.wrap(data).getFloat(); + ``` +When a valid UDP packet is received, the corresponding marker is added to the time-series data. The marker data is recorded in the output data under the "Marker" column. + +:::info +[More about UDP can be learned here](#udp) +::: + --- ## Custom Widget diff --git a/website/docs/assets/SoftwareImages/OpenBCISoftware/OpenBCI_GUI-MarkerWidget.png b/website/docs/assets/SoftwareImages/OpenBCISoftware/OpenBCI_GUI-MarkerWidget.png new file mode 100755 index 0000000000000000000000000000000000000000..9e9ec9fce850dc7bee79bb85a3de79f945e4eaae GIT binary patch literal 48181 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 Zlt~W4Qr#zh{GI?_x8+rD=H4*!{U0V7XjuRN literal 0 HcmV?d00001