MEDUSA© Panels
Here you have a detailed explanation about the three main panels of MEDUSA© Platform: plots, log and app panels.
For MEDUSA© Platform v2023
If you have any questions that are beyond the scope of this help file, please feel free to ask for help in the forum or contact with us.
Plots panel
The right part of the MEDUSA© main screen shows the “Real time plots”. There you can view the signals that are being monitored in real time. Different features, such as the shape and number of plots displayed, can be fully customized to suit your needs. Four categories of real-time plots are provided:
- Time plots. This type of graph presents the time courses of one (or more) channels.
- PSD plots. This type of graph shows the power spectral density (PSD) of the signals you are recording in real time. Detailed information on what a PSD is can be found here.
- Topography plots. This type of graph shows the power spectral density (PSD) M/EEG signals in real-time as a heat map over the head.
- Connectivity plots. This type of graph shows different functional connectivity measures of M/EEG signals in real time as links between electrode positions over the head.
Of course, these graphs have many options to configure, adapting to the requirements of the study. Let's see how to add graphics to the MEDUSA© window and configure them!
Configuring the plot window layout
First of all, you need to consider how many charts you want to create and their size. To do so, the first step is to click the button (remember to set up the LSL signal first!).
The window below will appear. In the upper left corner, you can set the size of the grid to accommodate different plots. You can also create a new plot by clicking the button. Created parcels can be deleted by dragging them to the
icon in the upper right corner. At the bottom of the window, the
Clear
button would remove all existing charts, Load
and Save
buttons would restore and save a specific plot layout, OK
button would apply the current layout, and Cancel
button would discard the changes and close the window.
Now that you know what all the buttons do, let's create some graphs! To do this, click the button. A light gray square will appear indicating the position of the created graph. You can change its position by dragging it on the grid, and the size by clicking and dragging on its bottom right corner. Now create 4 different plots with the layout indicated in the figure below.
Configuring the plot options
Once the plot layout is configured, it is time to configure each of these graphs. This will change the color of the plots to green, indicating that the plot is ready for use. To configure a graph, you must right-click on it to open the configuration window shown below. There, you can choose the source data in the Connect to
dropdown, plus you can choose between four different graphs in the Plot type
list.
The plots currently provided by MEDUSA© Platform are: TimePlot
and TimePlotMultichannel
, to represent the time course of the signal from one or more channels, respectively; and PSDPlot
and
PSDPlotMultichannel
to display the power spectral density of the data from one or more channels, respectively.
Below the Plot type
list, there are two sections where you can complete the configuration of the plot.
On the one hand, in Preprocessing options
, different transformations can be applied to the original signal to adapt the representation to your study (e.g., a bandpass filter if you are interested in a certain frequency band).
{
"update-rate": 0.1,
"frequency-filter": {
"apply": true,
"type": "highpass",
"cutoff-freq": [
1
],
"order": 5
},
"notch-filter": {
"apply": true,
"freq": 50,
"bandwidth": [
-0.5,
0.5
],
"order": 5
},
"re-referencing": {
"apply": false,
"type": "car",
"channel": ""
},
"downsampling": {
"apply": false,
"factor": 2
}
}
Let's see what this section contains:
-
update-rate
This parameter controls the update rate, in seconds, of the plot. You can tune this parameter to adequate the computational cost to your computer. For instance, an update rate of 0.1 s updates the plot each 100 ms (ten times per second). -
frequency-filter
This feature allows you to set an infinite impulse response (IIR) filter for online real-time visualization. Settingapply
to true activates the filter. Thetype
option controls the type of filter (i.e., lowpass, highpass, bandpass and stopband). Thecutoff-freq
defines the frequency limits (e.g., for a bandpass filter between 8 and 13 Hz, we would enter [8, 13]. Finally, definingorder
allows you to set the order of the filter (note: higher filter orders increase the computational cost). -
notch-filter
Generally, you want to get rid of power line interference in EEG recordings. This is an alternative way to create notch filters. In this case, instead of defining upper and lower cutoff frequencies, you can define a center frequency in thefreq
section, and relative limits in thebandwidth
section. In this specific case, a notch filter is created between 49.5 and 50.5 Hz. This would be equivalent to setting the filter using thefrequency-filter
setting withtype
set to bandstop andcutoff-freq
set to [49.5, 50.5]. -
re-referencing
Use this field to change the reference of your signals. Type of re-referencing can be "car" or "channel". The first refers to Common Average Reference, a technique widely used for M/EEG. In the case, the parameter "channel" is ignored. On the other hand, type "channel" will subtract the the signal of the specified channel (label) from the rest of the channels. -
downsampling
Use this parameter to reduce the sample rate of the incoming LSL stream and reduce the computational cost of the real-time plot. .
You may have noticed that all of our visualization filters are IIR. Despite the non-linear phase and the numerical instability they offer, we use IIR filters for online visualization because their order makes them much more computationally efficient than finite impulse response (FIR) ones. For more information on this topic, you can refer to this link.
On the other hand, in the Visualization options
section you can customize the plot display parameters.
{
"mode": "clinical",
"x_axis": {
"seconds_displayed": 10,
"display_grid": true,
"line_separation": 1,
"label": "Time (s)"
},
"y_axis": {
"cha_separation": 1,
"display_grid": true,
"autoscale": {
"apply": false,
"n_std_tolerance": 1.25,
"n_std_separation": 5
},
"label": {
"text": "Signal",
"units": "auto"
},
"title": "auto"
}
The configuration options available for time charts is explained below:
-
mode
This parameter determines how events are presented in the graphics. You can choose between Clinical , where the display grid updates in a sweeping manner, or Geek if you prefer the signal to appear continuously. -
x_axis
Theseconds_displayed
parameter refers to the time range (in seconds) displayed in the visualization window. Also,display_grid
controls the visibility of the display grid.line_separation
This parameter allows you to modify the display grid's dimensions. Finally, you can set a label for the X-axis with this parameterlabel
. -
y_axis
Thecha_separation
parameter indicates the initial limits of the Y-axis.autoscale
allows signals to be automatically scaled for ease of viewing by settingsapply
. Then_std_tolerance
parameter controls the autoscale limit(i.e., if the signal exceeds this value, the scale will be re-adjusted), so higher values give less auto-scaling. Also,n_std_separation
indicates the separation between channels (in standard deviations). Finally, you can set a label for the Y-axis with this parameter labellabel
. -
title
Allows to set a title for the plot.
The configuration options available for PSD charts is explained below:
{
"psd_window_seconds": 5,
"scaling": {
"apply_autoscale": true,
"n_std_tolerance_autoscale": 1.25,
"std_factor_separation_autoscale": 5,
"initial_channel_separation": 0.01
},
"welch_overlap_pct": 25,
"welch_seg_len_pct": 50,
"x_range": [
0.1,
30
],
"y_range": "auto",
"init_channel_label": null,
"title": "PSDPlotMultichannel",
"x_axis_label": [
"Frequency",
"Hz"
],
"y_axis_label": [
"Power",
""
]
}
-
psd_window_seconds
Time interval in which the PSD will be estimated. -
welch_seg_len_pct
Percentage of the window that will be used to estimate the PSD. -
welch_overlap_pct
Percentage of segment overlapping that will be used to estimate the PSD -
x_range
Frequency limits of the PSD visualization. -
y_range
Limits for the Y-axis.
The estimation of the PSD is carried out following the Welch method. Click here for further explanation, and here for learning more about the Python implementation.
The configuration options available for Topography charts is explained below:
{
"title": "TopoPlot",
"channel-standard": "10-05",
"extra_radius": 0.29,
"interp_points": 100,
"cmap": "PiYG",
"head_skin_color": "#E8BEAC",
"plot_channel_labels": true,
"plot_channel_points": true
}
-
title
Displayed title. -
channel-standard
EEG channel standard "10-20", "10-10", "10-05", as defined in medusa-kernel, that contains the labels of the incoming EEG signal -
extra_radius
Extra area to plot outside the electrodes. -
interp_points
Number of interpolation points. -
cmap
Matplotlib colormap. -
head_skin_color
Head skin color. -
plot_channel_labels
Boolean to display the channel labels or not. -
plot_channel_points
Boolean to display channel points or not.
The estimation of the PSD is carried out following the Welch method. Click here for further explanation, and here for learning more about the Python implementation.
The configuration options available for Topography charts is explained below:
{
"title": "ConnectivityPlot",
"channel-standard": "10-05",
"cmap": "RdBu",
"head_skin_color": "#E8BEAC",
"plot_channel_labels": true,
"plot_channel_points": true
}
-
title
Displayed title. -
channel-standard
EEG channel standard "10-20", "10-10", "10-05", as defined in medusa-kernel, that contains the labels of the incoming EEG signal -
extra_radius
Extra area to plot outside the electrodes. -
interp_points
Number of interpolation points. -
cmap
Matplotlib colormap. -
head_skin_color
Head skin color.
The estimation of the PSD is carried out following the Welch method. Click here for further explanation, and here for learning more about the Python implementation.
Visualizing the final layout
Now that you know how to configure the plots, let's arrange the layout (using the default options) as follows:
-
0
is theTimePlotMultichannel
. -
1
is theTimePlot
. -
2
is thePSDPlotMultichannel
. -
3
is thePSDPlot
.
The plot layout will now be green, as shown in the figure below. It's time to press the OK
button and visualize our signals.
After pressing the OK
button, you will notice that the charts do not work, but that is ok, just click the button and the visualizations will be activated. Of note, you can
activate and deactivate the visualizations at any time by clicking the
button. In addition, you can modify your plots at any time by clicking the
button as long as the plots are deactivated.
Log panel
The left-hand corner of MEDUSA Platform refers to the
log panel
. Within this panel, users can see a
chronological record of events that have had an impact on the
platform. These logs not only document the events themselves
but also provide insights into the resulting changes and
consequences that these events have generated.
This option enables you to save the text file
generated from the logs into the folder of your choice. It
server as a valuable function for archiving or backing up the
log data in a location that you specify.
Clears
the screen where the notifications are generated. It is
particularly useful for maintaining a clutter-free and
distraction- free workspace by removing outdated or redudant
information.
Log settings.
Still under
development.
This feature allows you to adjust the size of the console,
which can be valuable for adapting the user interface to
your specific preferences or needs. You can expand or shrink
for a more comfortable user experience.Apps panel
A comprehensive list of all the applications included in the platform is displayed in this panel. The apps are listed in order of installation. Detailed information on the necessary configurations of each application can be found in their respective documentation.
After selecting the desired application from the list, this
button will allow the app to be started.
Once the application has been launched and a TCP/IP
connection established, this button provides the functionality
to initiate or pause the app.
Ends the app and immediately a save recording file
box appears to save our signal in the folder indicated.
This
button offers the capability to adjust various parameters
corresponding to each individual application.
On the left-hand side, you can conveniently highlight a specific
application by typing its name in the provided search box. This
simplifies the process of locating and accessing desired
applications.
,
allows you to install a new application on the
platform. To accomplish this, you should select the
.app within the appropriate file folder.