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.

GUI_outlined_raw

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.