Skip to main content

A package for BCI-related tasks, including dataset loading, preprocessing, feature extraction, and classification.

Project description

BCI Flow

Bciflow is a Python package focused on Brain-Computer Interface (BCI)-related work. It provides tools for loading pre-established datasets, performing analysis, pre-processing, filtering, feature extraction, and classification, covering the entire process of creating BCI models. Installation

You can install bciflow directly from PyPI using pip:

pip install bciflow 

Features

  • Dataset Loading: Support for popular BCI datasets, such as BCI Competition datasets, OpenBMI, among others.
  • Pre-processing: Filtering, artifact removal, normalization, and other data preparation techniques.
  • Feature Extraction: Methods for extracting relevant features from EEG signals, such as frequency bands, CSP (Common Spatial Patterns), etc.
  • Classification: Implementation of classification algorithms such as SVM, LDA, Neural Networks, among others.
  • Complete Pipeline: Facilitates the creation of complete pipelines for processing and analyzing BCI data.

Loading a Dataset

The datasets must be loaded by the user, and the data path must be provided by the user in the path parameter. For example, to load the CBCIC dataset:

from bciflow.datasets import cbcic
# Load CBCIC dataset
data = cbcic(
    subject=1,  # Subject number
    session_list=None,  # List of sessions to load (default: all sessions)
    labels=['left-hand', 'right-hand'],  # Labels to include
    path='data/cbcic/'  # Path to the dataset files
)

Implemented Methods

Method Category Implemented
Temporal Filtering
Bandpass Filtering Temporal Filtering Yes
Chebyshev II Filter Pre-processing Yes
Signal Convolution Pre-processing Yes
Empirical Mode Decomposition (EMD) Temporal Filtering Yes
Filter Bank (ChebyshevII) Temporal Filtering Yes
Filter Bank (Convolution) Temporal Filtering Yes
Cubic Resampling Temporal Filtering Yes
FFT-based Resampling Temporal Filtering Yes
Wavelet Temporal Filtering Yes
Short-Time Fourier Transform (STFT) Temporal Filtering No
Spatial Filtering
Common Spatial Patterns (CSP) Spatial Filtering Yes
Euclidean Alignment (EA) Spatial Filtering Yes
Feature Extraction
Average Power Spectral Density (APSD) Feature Extraction Yes
Curve Length Feature Extraction Yes
Log Power Feature Extraction Yes
Nonlinear Energy Feature Extraction Yes
Welch Periodogram Feature Extraction Yes
Canonical Correlation Analysis (CCA) Feature Extraction No
Logarithmic PSD (LPSD) Feature Extraction No
Feature Selection
Mutual Information Best Individual Features (MIBIF) Feature Selection Yes
Classification
Naive Bayes Parzen Window (NBPW) Classification Yes
Data Augmentation
EMD-based Augmentation (emdaug) Data Augmentation No
Gaussian Noise (gaussiannoise) Data Augmentation No
Time-frequency Gaussian Noise (tfgaussiannoise) Data Augmentation No
Time-frequency Recombination (tfrecombination) Data Augmentation No

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bciflow-1.0.0.dev10.tar.gz (21.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bciflow-1.0.0.dev10-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

Details for the file bciflow-1.0.0.dev10.tar.gz.

File metadata

  • Download URL: bciflow-1.0.0.dev10.tar.gz
  • Upload date:
  • Size: 21.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for bciflow-1.0.0.dev10.tar.gz
Algorithm Hash digest
SHA256 2de2b5dc92de63887f7226ff897a7e0e5a0b5380522844ab7976e598257f70e3
MD5 33952e682fafe3e2a68632f6d162130d
BLAKE2b-256 f601ed6168038dcd520c9f27244198e913f50dfc4821b6f3548edb4240de0090

See more details on using hashes here.

File details

Details for the file bciflow-1.0.0.dev10-py3-none-any.whl.

File metadata

  • Download URL: bciflow-1.0.0.dev10-py3-none-any.whl
  • Upload date:
  • Size: 41.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for bciflow-1.0.0.dev10-py3-none-any.whl
Algorithm Hash digest
SHA256 03d49977010c90620aec4a5f2d0dc8c029c492370793db640022da386c2f244c
MD5 2104941afdcabb34ef93e023505209ee
BLAKE2b-256 ea771871c227250c704ab37974ad99d85642775f5667ab0e02518518d983ae83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page