Trouble with Plexon .pl2 file import

"Link to raw file" shows EVT, WB, SPKC, and EEG records associated with .pl2 data file. But only the EEG records contain analog data and are plotted in time series (along with events). "View file contents" appears to show numerical values associated with the SPKC channels (see SPKC01 record below). These channels cannot be displayed or processed. Caveat is that I have been using Brainstorm for only 24hrs and maybe missing something fundamental on the file import side (and I am a MATLAB newbie). That said, the EEG records in the file import fine and I can work with those.
<struct #65>
| | | | |- PlxChannel: 64
| | | | |- NumValues: 117419502
| | | | |- Name: 'SPKC01'
| | | | |- SourceName: 'SPKC'
| | | | |- Source: 5
| | | | |- Channel: 1
| | | | |- Enabled: 1
| | | | |- RecordingEnabled: 1
| | | | |- Units: 'Volts'
| | | | |- SamplesPerSecond: 40000
| | | | |- CoeffToConvertToUnits: 1.9073e-08
| | | | |- SourceTrodality: 1
| | | | |- Trode: 1
| | | | |- ChannelInTrode: 1
| | | | |- NumberOfChannelsInSource: 64
| | | | |- DeviceId: 580
| | | | |- NumberOfChannelsInDevice: 64
| | | | |- SourceDeviceName: 'Spike Separator'
| | | | |- ProbeDeviceName: 'Generic N-channel Electrodes'
| | | | |- ProbeSourceId: 1
| | | | |- ProbeSourceChannel: 1
| | | | |- ProbeDeviceId: 50
| | | | |- ProbeDeviceChannel: 1
| | | | |- InputVoltageMinimum: -2.5
| | | | |- InputVoltageMaximum: 2.5
| | | | |- TotalGain: 4000
| | | | |- InternalArray1: [1792x1 double]
| | | | |- InternalArray2: [1792x1 double]
| | | | |- InternalArray3: [1792x1 double]

1 Like

Bumping this post; is there anyone in the forum importing Plexon .pl2 files and can you inform whether it imports spike trains? I can see the EEG data, but not the spike/WB which is sampled at much higher rates.

Caveat is that I have been using Brainstorm for only 24hrs and maybe missing something fundamental on the file import side (and I am a MATLAB newbie).

If you are a new user of Brainstorm, I highly recommend you start by following all the introduction tutorials (section Get Started), at least until #19, using the example datasets provided before processing your own recordings. Then the advanced tutorial EEG&Epilepsy can be useful for understanding more of the EEG processing. Finally, follow the e-phys tutorials.
https://neuroimage.usc.edu/brainstorm/Tutorials

is there anyone in the forum importing Plexon .pl2 files and can you inform whether it imports spike trains? I can see the EEG data, but not the spike/WB which is sampled at much higher rates.

@mpompolas @Sylvain ?

If you think there is anything wrong with one of your .pl2 files, please share a short example file so that we can look into it: upload it somewhere and post a download link link.
Thanks

hi @stemaren, the toolbox has been designed with spike-sorting being performed on the wideband data within Brainstorm from a selected set of spike sorters we support.

You are trying to visualize already sorted spiketrains/waveforms (I assume from the plexon offline sorter), that we currently do not support.

Thanks for your feedback! We are actually attempting to visualize an unsorted .pl2 file with eeg, wideband and continuous spike channels. As I noted, we can read the EEG data, but not the WB or SPKC data. I will upload/link a sample file shortly and hopefully someone else will be able to confirm the issue--thanks!

Here is a link to a .pl2 file that has 16 channels of WB, SPKC, and EEG data (48 channels total). Only the EEG channels are read into Brainstorm. https://drive.google.com/file/d/1tdAvNwfQ5z-IXea2cmI4-ZajgdWugPe3/view?usp=sharing

Thank you for the example dataset.

The non-EEG channels were explicitly excluded from the file reader.
By simply commenting out this test, I could read the signals in the missing "MISC" channels (WB and SPKC):

Please update Brainstorm and try again.

@mpompolas Can this break the reading of other .pl2 files?
Do we need to add an extra try/catch block around the reading of each individual channel?
Thanks

Thank you. Wideband and Continuous Spike data can now be read. However, every unsupervised spike sorting method returns an error:
WaveClus:


** Error: [process_spikesorting_waveclus] Electrophysiology > Unsupervised Spike Sorting > WaveClus
** Line 64: ellip (line 64)
** The cutoff frequencies must be within the interval of (0,1).
**
** Call stack:
** >ellip.m at 64
** >spike_detection_filter.m at 13
** >readInData.m>readInData.get_segment at 259
** >Get_spikes.m>get_spikes_single at 182
** >Get_spikes.m at 134
** >process_spikesorting_waveclus.m>Run at 169
** >process_spikesorting_waveclus.m at 33
** >bst_process.m>Run at 230
** >bst_process.m at 37
** >panel_process1.m>RunProcess at 124
** >panel_process1.m at 26
** >gui_brainstorm.m>CreateWindow/ProcessRun_Callback at 768
** >bst_call.m at 28
** >gui_brainstorm.m>@(h,ev)bst_call(@ProcessRun_Callback) at 292
**
**
** File: Test/@rawTest_for_brainstorm/data_0raw_Test_for_brainstorm.mat
**


Ultramegasort:


** Error: [process_spikesorting_ultramegasort2000] Electrophysiology > Unsupervised Spike Sorting > UltraMegaSort2000
** Line 337: Unrecognized field name "File".
**
** Call stack:
** >process_spikesorting_ultramegasort2000.m>SaveBrainstormEvents at 337
** >process_spikesorting_ultramegasort2000.m>Run at 231
** >process_spikesorting_ultramegasort2000.m at 33
** >bst_process.m>Run at 230
** >bst_process.m at 37
** >panel_process1.m>RunProcess at 124
** >panel_process1.m at 26
** >gui_brainstorm.m>CreateWindow/ProcessRun_Callback at 768
** >bst_call.m at 28
** >gui_brainstorm.m>@(h,ev)bst_call(@ProcessRun_Callback) at 292
**
**
** File: Test/@rawTest_for_brainstorm/data_0raw_Test_for_brainstorm.mat
**


Kilosort:


** Error: [process_spikesorting_kilosort] Electrophysiology > Unsupervised Spike Sorting > KiloSort
** Line 192: xlswrite (line 192)
** An error occurred while writing file to CSV format. To write to an Excel file, convert your data to a table and use writetable.
**
** Call stack:
** >xlswrite.m at 192
** >process_spikesorting_kilosort.m>Run at 321
** >process_spikesorting_kilosort.m at 33
** >bst_process.m>Run at 230
** >bst_process.m at 37
** >panel_process1.m>RunProcess at 124
** >panel_process1.m at 26
** >gui_brainstorm.m>CreateWindow/ProcessRun_Callback at 768
** >bst_call.m at 28
** >gui_brainstorm.m>@(h,ev)bst_call(@ProcessRun_Callback) at 292
**
**
** File: Test/@rawTest_for_brainstorm/data_0raw_Test_for_brainstorm.mat
**


Thank you for these bug reports.
We will look into these issues, but it might take a few weeks before we provide bug fixes.
Please be patient...

Hi @stemaren , these issues should be covered with the latest developments on the Pull Request 516.

You can test it out on it, or wait for it to be merged

1 Like

The new version of the ephys toolbox is out!

Github commit: https://github.com/brainstorm-tools/brainstorm3/commit/f402a427f5d3a89eb59e28d3c107ab18005bdce1

Updated tutorials: https://neuroimage.usc.edu/brainstorm/Tutorials#Multiunit_electrophysiology