You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-21Lines changed: 28 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,37 @@
1
-
## BioAmp-Tool-Python
1
+
## BioAmpTool - Python
2
2
3
-
The BioAmp Tool is a Python script designed to interface with an Arduino-based bioamplifier, read data from it, and optionally log this data to CSV or stream it via the Lab Streaming Layer (LSL).
3
+
The BioAmp Tool is a Python script designed to interface with an Arduino-based bioamplifier, read data from it, optionally log this data to CSV or stream it via the Lab Streaming Layer (LSL), and visualize it through a graphical user interface (GUI) with live plotting.
4
4
5
5
## Features
6
6
7
7
-**Automatic Arduino Detection:** Automatically detects connected Arduino devices via serial ports.
8
-
-**Data Reading:** Reads ModularEEG P2 format data packets from the Arduino's serial port.
8
+
-**Data Reading:** Reads and processes data packets from the Arduino.
9
9
-**CSV Logging:** Optionally logs data to a CSV file.
10
10
-**LSL Streaming:** Optionally streams data to an LSL outlet for integration with other software.
11
-
-**Verbose Output:** Provides detailed statistics and error reporting.
11
+
-**Verbose Output:** Provides detailed statistics and error reporting, including sampling rate and drift.
12
+
-**GUI:** Live plotting of six channels using a PyQt-based GUI.
Parses data from Arduino and manages logging, streaming, and GUI updates.
74
+
75
+
### `init_gui()`
68
76
69
-
Parses data from Arduino and manages logging and streaming.
77
+
Initializes and displays the GUI with six real-time plots, one for each bio-signal channel.
70
78
71
79
### `main()`
72
80
73
81
Handles command-line argument parsing and initiates data processing.
74
82
75
83
## Data Logging
76
84
77
-
-**CSV Output**: The script saves the processed data in a CSV file named `packet_data.csv`.
78
-
- The CSV contains the following columns:
85
+
- **CSV Output**: The script saves the processed data in a CSV file with a timestamped name.
86
+
- The CSV file contains the following columns:
79
87
- `Counter`: The sample counter from the Arduino.
80
88
- `Channel1` to `Channel6`: The data values from each channel.
81
89
82
-
-**Log Intervals**: The script logs data counts every minute and provides a summary every 10 minutes, including the sampling rate and drift in seconds per hour.
90
+
- **Log Intervals**: The script logs data counts every second and provides a summary every 10 minutes, including the sampling rate and drift in seconds per hour.
83
91
84
92
## LSL Streaming
85
93
@@ -89,7 +97,7 @@ Handles command-line argument parsing and initiates data processing.
89
97
- **Sampling Rate**: `250 Hz`
90
98
- **Data Format**: `float32`
91
99
92
-
Use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data in real-time.
100
+
If GUI is not enabled, you can use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data in real-time.
93
101
94
102
## Troubleshooting
95
103
@@ -102,4 +110,3 @@ Use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data
102
110
We are thankful to our awesome contributors, the list below is alphabetically sorted.
0 commit comments