The SSVEP Toolbox: A Python-based, GPU-accelerated toolbox for feature extraction and classification
Daniel Comadurán Márquez, Habibzadeh Hadi, Emily Schrag, Eli Kinney‐Lang, James J. S. Norton · 2025
We present the steady-state visual evoked potential (SSVEP) Toolbox, an open-source; Python-based; multi-threaded; and graphical processing unit (GPU)accelerated data analysis toolbox for SSVEP feature extraction and classification. The toolbox provides easy-to-use implementations of three feature extraction methods for data classification: filter bank canonical correlation analysis, minimum energy combination, and multivariate synchronization index. The SSVEP Toolbox was validated through two classification analyses and profiling of the runtime in different CPU and GPU systems. The datasets used for classification were: 1) the Wang2016 from the Mother of All BCI Benchmarks (MOABB) and 2) a pediatric dataset acquired at the BCI4Kids lab in the Alberta Children's Hospital. The classification analyses using the three feature extraction methods quantified the accuracy of the classifiers in the toolbox compared to a Riemannian geometry with logistic regression classifier. Profiling of the toolbox was done using the pediatric dataset by comparing runtimes using four different CPU and GPU systems. Classification accuracies were comparable to the RG with logistic regression classifier and the runtime of GPU implementations (0.29 ± 0.01 sec, mean ± SD) outperformed the CPU (3.69 ± 0.17 sec, mean ± SD) ones. The SSVEP Toolbox is a suitable solution for SSVEP-BCI applications that is written in a free and open-source programming language (i.e., Python). Thus, making it more accessible not only to the research community but also end-users to be implemented in real-life applications. Future work should focus on validating the toolbox in online experiments and extending its features to include more feature extraction methods and compatibility with non-Compute Unified Device Architecture (CUDA) GPUs.