Raw Processing¶
The Raw Processing content tab, outlined in red below, contains functionality related to processing raw biological signals.
We’ll walk through each of the four Frames in this tab: Filters
, Features
, Autoencoder
, and Raw Settings
.
Filters
Frame¶
In this Frame, the user can edit the dc offset removal, lowpass (LP), and notch filters applied to the raw data.
Be sure to click the Update Filters
Button to save any changes made to the filters,
and then click the Refilter Data
Button to refilter the currently loaded raw data with the given filter settings.
Notice that both IIR and FIR low pass and notch filters are provided (by changing the corresponding dropdowns). Selecting either IIR or FIR will cause the corresponding filter settings to appear.
Baseline Window
specifies the window length in raw samples (at the raw sample rate - typically 1kHz) of the mean subtraction window used to eliminate the DC bias in the raw signals.
And lastly, the Graph Filtered Data
Checkbox specifies whether to plot the raw or filtered data in the external Raw Plots window that is created when starting the interface with the --plot
command line argument.
Features
Frame¶
In this Frame, we can add, remove and edit Features
.
A Feature
is a preprocessing algorithm that computes certain information from the filtered biological input signals.
The most obvious Feature
is MAV
which computes the Mean Absolute Value of the filtered input during the previous Samples
number of raw samples (typically at 1kHz).
These Features
are computed using a buffer of the recent filtered input samples, where the size of the buffer is defined in the raw setting buffer_size
.
The buffer_size
is therefore the maximum number of samples each Feature
can use during its computation.
buffer_size
is editable in json
settings file, but is currently not editable in the GUI.
The last important thing to note is that currently each Feature computes a constant number of values for each channel.
For example, the MAV
computes 1 value per channel, resulting in 16 total features if 16 raw channels are used.
In the future we plan to support Features
whose output size is not determined by the number of raw channels.
Important
The Features are the inputs to the Movement Intent Decoder, and are therefore computed at the decoding rate (typically 33Hz, but is defined by the raw setting timestep
), as compared to the raw input rate (typically 1kHz, but is defined by the raw setting sample_rate
).
In this Features
Frame, you can add new features using the Add
Button, which creates a popup in which you can edit the settings of each Feature
before adding them.
Of course, you can also edit the settings of any current Features
directly in the nested textboxes inside the list of Features
.
You can also remove any existing Features
using the -
Button next to the name of each current Feature
.
Important
Editing this list of Features
will change your settings, but it will not recompute the Features
for the current Data.
To update the Data, press the Refilter Data
Button in the Filters
Frame.
Below the editable list of Features
, there are a few text boxes that let us edit the size of the feature and state histories, and the features’ baseline removal window.
The Feature History
defines how many previous timesteps of features to include in the input to the Movement Intent Decoder. A value of 0 means that only the features in the current decoder timestep are input to the decoder.
Similarly, The State History
defines how many previous timesteps of decoder outputs to include in the input to the decoder. A value of 0 means that no previous values of decoder output are innput to the decoder.
The Baseline Removal
defines the window length of mean subtraction window applied to the computed Features in order to remove their DC offset. This is not always used, and may still have some bugs.
Click the Update
Button to save these settings and to recompute the Feature and State Histories.
Important
The Baseline Removal
may still contain some bugs. If you are running into issues with Refiltering Data, try to clear this value first after loading your Data.
The Calibrate
Button should be used with an actual subject during rest to compute the DC offset of the Features for use with the Baseline Removal
.
Lastly, the Use Autoenc
Checkbox enables the Autoencoder
, which is a type of Neural Network that is trained to learn the best Features representation of the filtered input data. The Autoencoder
will be deprecated soon since it never proved useful, and can be replaced by a Neural Network-based Decoder with the Raw Data Vectorized
Feature.
Autoencoder
Frame¶
The Autencoder
is deprecated since it never proved useful, and can be replaced by a Neural Network-based Decoder with the Raw Data Vectorized
Feature. However, this Frame allows us to select an Autoencoder
, edit its configuration, train it, and apply gradient updates to it. For more information, contact the developers.
Raw Settings
Frame¶
This Frame allows us to edit the number of raw input channels using the # EMG Chan
text box, and the number of DOFs using the # DOFs
text box. To clarify, the # DOFs is the number of decoder outputs, which specifies how many degrees of freedom exist in the prosthetic. For example, 5 fingers corresponds to 5 DOFs.
This Frame also contains the Use SRB2
Checkbox, which is related to the deprecated OpenBCI API.
And lastly, the Toggle Plots
Button either hides or show the Raw Plots
Window, which shows the raw or filtered input channels and is only shown if the --plot
command line argument is provided when starting this interface.