| Literature DB >> 28769745 |
Abstract
Traditionally, the key step before decoding motor intentions from cortical recordings is spike sorting, the process of identifying which neuron was responsible for an action potential. Recently, researchers have started investigating approaches to decoding which omit the spike sorting step, by directly using information about action potentials' waveform shapes in the decoder, though this approach is not yet widespread. Particularly, one recent approach involves computing the moments of waveform features and using these moment values as inputs to decoders. This computationally inexpensive approach was shown to be comparable in accuracy to traditional spike sorting. In this study, we use offline data recorded from two Rhesus monkeys to further validate this approach. We also modify this approach by using sums of exponentiated features of spikes, rather than moments. Our results show that using waveform feature sums facilitates significantly higher hand movement reconstruction accuracy than using waveform feature moments, though the magnitudes of differences are small. We find that using the sums of one simple feature, the spike amplitude, allows better offline decoding accuracy than traditional spike sorting by expert (correlation of 0.767, 0.785 vs. 0.744, 0.738, respectively, for two monkeys, average 16% reduction in mean-squared-error), as well as unsorted threshold crossings (0.746, 0.776; average 9% reduction in mean-squared-error). Our results suggest that the sums-of-features framework has potential as an alternative to both spike sorting and using unsorted threshold crossings, if developed further. Also, we present data comparing sorted vs. unsorted spike counts in terms of offline decoding accuracy. Traditional sorted spike counts do not include waveforms that do not match any template ("hash"), but threshold crossing counts do include this hash. On our data and in previous work, hash contributes to decoding accuracy. Thus, using the comparison between sorted spike counts and threshold crossing counts to evaluate the benefit of sorting is confounded by the presence of hash. We find that when the comparison is controlled for hash, performing sorting is better than not. These results offer a new perspective on the question of to sort or not to sort.Entities:
Keywords: brain–computer interfaces; brain–machine interfaces; decoding; neuroprosthetics; spike sorting
Year: 2017 PMID: 28769745 PMCID: PMC5513987 DOI: 10.3389/fnins.2017.00406
Source DB: PubMed Journal: Front Neurosci ISSN: 1662-453X Impact factor: 4.677
Figure 1(A) Flowchart of signal processing. (B) Example waveform amplitude sum computation, up to 3rd order, for one channel and one time bin. Inputs to the decoder are in the blue rectangles. Values are normalized to unit variance before input into the decoder. (C) Illustration of data collection setup. A Rhesus monkey controlled a cursor with a joystick in its right hand to complete a center-out reaching task. Extracellular signals were recorded from left primary motor cortex using an implanted 96 channel Utah silicon electrode array.
Mean ± SEM of decoding accuracy.
| BPKC | 0.820 ± 0.011 | 0.852 ± 0.008 | 0.796 ± 0.012 | 0.823 ± 0.010 | 0.768 ± 0.015 | 0.822 ± 0.012 | 0.826 ± 0.012 | 0.841 ± 0.009 | 0.853 ± 0.009 | 0.846 ± 0.010 |
| BPKS | 4.816 ± 0.203 | 5.547 ± 0.201 | 4.299 ± 0.204 | 4.808 ± 0.208 | 3.895 ± 0.245 | 4.958 ± 0.248 | 5.008 ± 0.278 | 5.261 ± 0.240 | 5.599 ± 0.217 | 5.412 ± 0.288 |
| BVKC | 0.744 ± 0.010 | 0.768 ± 0.009 | 0.724 ± 0.012 | 0.746 ± 0.011 | 0.659 ± 0.015 | 0.718 ± 0.012 | 0.729 ± 0.013 | 0.754 ± 0.009 | 0.767 ± 0.009 | 0.760 ± 0.011 |
| BVKS | 3.576 ± 0.152 | 3.906 ± 0.147 | 3.297 ± 0.163 | 3.554 ± 0.164 | 2.446 ± 0.190 | 3.160 ± 0.190 | 3.244 ± 0.224 | 3.590 ± 0.190 | 3.894 ± 0.159 | 3.707 ± 0.224 |
| BPWC | 0.687 ± 0.016 | 0.744 ± 0.013 | 0.648 ± 0.016 | 0.694 ± 0.014 | 0.646 ± 0.015 | 0.735 ± 0.014 | 0.737 ± 0.014 | 0.740 ± 0.013 | 0.741 ± 0.013 | 0.744 ± 0.013 |
| BPWS | 2.858 ± 0.168 | 3.587 ± 0.182 | 2.417 ± 0.152 | 2.902 ± 0.162 | 2.372 ± 0.136 | 3.437 ± 0.179 | 3.455 ± 0.181 | 3.506 ± 0.181 | 3.507 ± 0.182 | 3.541 ± 0.181 |
| BVWC | 0.637 ± 0.013 | 0.673 ± 0.011 | 0.615 ± 0.013 | 0.642 ± 0.012 | 0.566 ± 0.014 | 0.659 ± 0.012 | 0.670 ± 0.011 | 0.672 ± 0.011 | 0.673 ± 0.011 | 0.675 ± 0.011 |
| BVWS | 2.369 ± 0.114 | 2.711 ± 0.114 | 2.178 ± 0.109 | 2.408 ± 0.112 | 1.764 ± 0.101 | 2.578 ± 0.121 | 2.692 ± 0.118 | 2.715 ± 0.118 | 2.725 ± 0.120 | 2.747 ± 0.119 |
| MPKC | 0.844 ± 0.008 | 0.879 ± 0.008 | 0.831 ± 0.010 | 0.872 ± 0.007 | 0.804 ± 0.014 | 0.851 ± 0.012 | 0.870 ± 0.007 | 0.882 ± 0.006 | 0.883 ± 0.006 | 0.881 ± 0.006 |
| MPKS | 5.176 ± 0.215 | 6.291 ± 0.228 | 4.871 ± 0.229 | 5.918 ± 0.235 | 4.324 ± 0.307 | 5.527 ± 0.316 | 5.999 ± 0.221 | 6.314 ± 0.208 | 6.328 ± 0.209 | 6.252 ± 0.218 |
| MVKC | 0.738 ± 0.008 | 0.783 ± 0.007 | 0.726 ± 0.009 | 0.776 ± 0.007 | 0.682 ± 0.013 | 0.740 ± 0.013 | 0.764 ± 0.009 | 0.783 ± 0.006 | 0.785 ± 0.006 | 0.783 ± 0.006 |
| MVKS | 3.375 ± 0.109 | 4.094 ± 0.115 | 3.203 ± 0.118 | 3.925 ± 0.108 | 2.491 ± 0.257 | 3.269 ± 0.270 | 3.729 ± 0.172 | 4.099 ± 0.105 | 4.104 ± 0.104 | 4.061 ± 0.104 |
| MPWC | 0.731 ± 0.013 | 0.795 ± 0.012 | 0.714 ± 0.014 | 0.783 ± 0.012 | 0.724 ± 0.014 | 0.799 ± 0.012 | 0.804 ± 0.012 | 0.804 ± 0.012 | 0.804 ± 0.012 | 0.806 ± 0.011 |
| MPWS | 3.251 ± 0.201 | 4.271 ± 0.248 | 3.022 ± 0.214 | 4.056 ± 0.243 | 3.173 ± 0.200 | 4.374 ± 0.254 | 4.447 ± 0.251 | 4.454 ± 0.251 | 4.444 ± 0.253 | 4.470 ± 0.252 |
| MVWC | 0.623 ± 0.012 | 0.692 ± 0.010 | 0.609 ± 0.013 | 0.683 ± 0.011 | 0.608 ± 0.010 | 0.693 ± 0.010 | 0.702 ± 0.010 | 0.702 ± 0.010 | 0.703 ± 0.011 | 0.704 ± 0.010 |
| MVWS | 2.144 ± 0.112 | 2.850 ± 0.124 | 2.021 ± 0.120 | 2.776 ± 0.127 | 2.025 ± 0.087 | 2.874 ± 0.124 | 2.991 ± 0.127 | 2.997 ± 0.127 | 3.013 ± 0.130 | 3.019 ± 0.129 |
| CC average | 0.728 | 0.773 | 0.708 | 0.752 | 0.682 | 0.752 | 0.763 | 0.772 | 0.776 | 0.775 |
| CC Rank | 8 | 3 | 9 | 6 | 10 | 7 | 5 | 4 | 1 | 2 |
| SNR average | 3.45 | 4.16 | 2.92 | 3.79 | 2.81 | 3.77 | 3.95 | 4.12 | 4.20 | 4.15 |
Each column is a method, see Section Methods for Comparisons for details. Each row is an accuracy measure, with the following name code: first letter, monkey {B,M}; second letter, kinematic variable {position, velocity}; third letter, filter {Kalman, Wiener}; fourth letter, metric {correlation, signal-to-noise ratio of decoding, dB}. CC average, average of all correlation measures; SNR average, average of all SNR measures.
Figure 2(A) Offline reconstruction accuracy comparison of amplitude sum (F1_sum) with traditional methods. Correlations of velocity reconstructions via Kalman filter are plotted. Error bars indicate ± SEM. (B) Differences in accuracy between F1_sum and sorted spike counts regressed over signal-to-noise ratio of recordings, showing relative sensitivity of F1_sum performance to recording quality. Each data point is a session. Line is best fit linear trend. Monkey B shown. (C) Same for monkey M. **p < 0.001; ***p < 0.0001.
Figure 3(A) Offline reconstruction accuracy comparison between moment and sum. Correlations of velocity reconstructions via Kalman filter are plotted. Error bars indicate ±SEM. (B) For comparison to Ventura and Todorova, accuracy was also measured in mean-squared-error. Smaller values are better. *p < 0.05; **p < 0.001; ***p < 0.0001.
Comparison with previous work.
| BVKM | 6.193 ± 0.265 (0.973) | 5.665 ± 0.213 (1.063) | 6.023 ± 0.236 (1) | 7.061 ± 0.266 (0.853) | 5.782 ± 0.226 (1.042) | 5.592 ± 0.223 (1.077) | 6.000 ± 0.417 (1.004) |
| MVKM | 6.689 ± 0.220 (0.897) | 5.773 ± 0.201 (1.040) | 6.002 ± 0.217 (1) | 6.906 ± 0.230 (0.869) | 5.814 ± 0.225 (1.032) | 5.756 ± 0.212 (1.043) | 5.764 ± 0.207 (1.041) |
| BVKC | 0.744 ± 0.010 | 0.768 ± 0.009 | 0.746 ± 0.011 | 0.695 ± 0.012 | 0.758 ± 0.009 | 0.767 ± 0.009 | 0.760 ± 0.011 |
| MVKC | 0.738 ± 0.008 | 0.783 ± 0.007 | 0.776 ± 0.007 | 0.719 ± 0.006 | 0.781 ± 0.006 | 0.785 ± 0.006 | 0.783 ± 0.006 |
Entries show mean ± SEM of decoding accuracy. Numbers in parentheses indicate efficiency relative to TC, i.e., MSE(TC)/MSE(.
Mean ± SEM of decoding accuracy when using different features.
| BPKC | 0.853 ± 0.009 | 0.813 ± 0.011 | 0.844 ± 0.010 | 0.846 ± 0.009 |
| BVKC | 0.767 ± 0.009 | 0.733 ± 0.011 | 0.762 ± 0.010 | 0.760 ± 0.010 |
| MPKC | 0.883 ± 0.006 | 0.869 ± 0.007 | 0.864 ± 0.010 | 0.878 ± 0.006 |
| MVKC | 0.785 ± 0.006 | 0.770 ± 0.007 | 0.769 ± 0.009 | 0.781 ± 0.006 |
Each column is a method, each row is an accuracy measure, with the following name code: first letter, monkey {B,M}; second letter, kinematic variable {position, velocity}; third letter, filter {Kalman}; fourth letter, metric {correlation}.
Figure 4(A) Comparison between waveform features under sum approach. Correlations of velocity reconstructions via Kalman filter are plotted. Error bars indicate ±SEM. (B) Comparison between orders (degree to exponentiate feature values) of sums. (C) Comparison between raw and central moments. *p < 0.05; **p < 0.001; ***p < 0.0001.
Mean ± SEM of decoding accuracy when exponentiating features F1, F2, and F3 to different orders and summing.
| BPKC | 0.838 ± 0.009 | 0.845 ± 0.009 | 0.824 ± 0.012 | 0.846 ± 0.009 |
| BVKC | 0.756 ± 0.010 | 0.756 ± 0.009 | 0.728 ± 0.012 | 0.758 ± 0.010 |
| MPKC | 0.881 ± 0.006 | 0.882 ± 0.006 | 0.871 ± 0.007 | 0.879 ± 0.006 |
| MVKC | 0.785 ± 0.006 | 0.782 ± 0.007 | 0.765 ± 0.009 | 0.779 ± 0.007 |
Each column is a method, each row is an accuracy measure, with the following name code: first letter, monkey {B,M}; second letter, kinematic variable {position, velocity}; third letter, filter {Kalman}; fourth letter, metric {correlation}.
Mean ± SEM of decoding accuracy, comparing raw vs. central moments.
| BPKC | 0.768 ± 0.015 | 0.822 ± 0.012 | 0.660 ± 0.027 | 0.738 ± 0.025 |
| BVKC | 0.659 ± 0.015 | 0.718 ± 0.012 | 0.580 ± 0.024 | 0.643 ± 0.023 |
| MPKC | 0.804 ± 0.014 | 0.851 ± 0.012 | 0.615 ± 0.032 | 0.699 ± 0.033 |
| MVKC | 0.682 ± 0.013 | 0.740 ± 0.013 | 0.505 ± 0.028 | 0.595 ± 0.030 |
Each column is a method, each row is an accuracy measure, with the following name code: first letter, monkey {B,M}; second letter, kinematic variable {position, velocity}; third letter, filter {Kalman}; fourth letter, metric {correlation}.
Figure 5Comparison between sorted and unsorted. Correlations of velocity reconstructions via Kalman filter are plotted. Error bars indicate ±SEM. Hash are waveforms which do not match any units' template. Merged condition is sorted spike counts with units merged back together, equivalent to threshold crossing counts without hash. ***p < 0.0001.
Mean ± SEM of decoding accuracy when using −4.5 noise standard deviations as spike detection threshold, with accuracy at original thresholds also given for comparison.
| BVKC (−4.5) | 0.671 ± 0.015 | 0.745 ± 0.010 | 0.670 ± 0.014 | 0.710 ± 0.013 | 0.685 ± 0.021 | 0.653 ± 0.023 | 0.676 ± 0.020 | 0.673 ± 0.021 | 0.630 ± 0.024 |
| BVKC (avg. −2.84) | 0.744 ± 0.010 | 0.768 ± 0.009 | 0.724 ± 0.012 | 0.746 ± 0.011 | 0.767 ± 0.009 | 0.733 ± 0.011 | 0.762 ± 0.010 | 0.760 ± 0.010 | 0.758 ± 0.009 |
| MVKC (−4.5) | 0.566 ± 0.023 | 0.756 ± 0.007 | 0.564 ± 0.026 | 0.703 ± 0.017 | 0.630 ± 0.029 | 0.565 ± 0.036 | 0.610 ± 0.032 | 0.593 ± 0.034 | 0.455 ± 0.046 |
| MVKC (avg. −2.77) | 0.738 ± 0.008 | 0.783 ± 0.007 | 0.726 ± 0.009 | 0.776 ± 0.007 | 0.785 ± 0.006 | 0.770 ± 0.007 | 0.769 ± 0.009 | 0.781 ± 0.006 | 0.781 ± 0.006 |
Each column is a method, each row is an accuracy measure, with the following name code: first letter, monkey {B,M}; second letter, kinematic variable {velocity}; third letter, filter {Kalman}; fourth letter, metric {correlation}; parentheses, spike detection threshold in noise standard deviations.