A flexible callback-based toolkit for EEG/BCI experiments that lets you define data loading and preprocessing freely, while rosoku handles training, evaluation, and result logging for conventional and deep-learning models.
Project description
🕯️ Rosoku — A Flexible EEG/BCI Experiment Pipeline Toolkit
rosoku is a callback-based experiment pipeline for EEG/BCI research.
You are free to design how your data is loaded, processed, and shaped,
while rosoku handles training, evaluation, logging, and result export.
You control the data.
rosoku handles everything after.
Working directly with PyTorch or scikit-learn provides flexibility but requires heavy boilerplate.
Meanwhile, frameworks like MOABB or Braindecode are convenient, but restrict custom processing.
rosoku fills the space between them — flexibility without overhead.
🔥 Key Idea
| Task | rosoku handles | You define |
|---|---|---|
| Dataset loading | receives via callback | how to load (MNE, NumPy, custom) |
| Preprocessing / feature extraction | pluggable via callbacks | any processing you write |
| Training loop | model fitting, scheduling, saving | sklearn estimator / PyTorch model |
| Evaluation & logging | accuracy / saliency | optional W&B configuration |
| Result export | DataFrame / parquet / msgpack | downstream analysis or plotting |
🔧 Two Complementary Pipelines
| API | Purpose | Typical models |
|---|---|---|
conventional() |
traditional ML classification | MDM / TSClassifier / CSP / SVM / LDA |
deeplearning() |
deep learning with PyTorch | EEGNet / Braindecode / custom CNN/RNN |
Both follow the same concept: You write data & preprocessing. Rosoku handles training & evaluation.
🚀 Quick Start
Full runnable examples are available under examples/.
Recommended first files:
examples/example_within-subject-classification-riemannian.pyexamples/example_within-subject-classification-deeplearning.py
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rosoku-0.0.3.tar.gz.
File metadata
- Download URL: rosoku-0.0.3.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ffe1db2aaa36cef84f0a356411402296a1570bca7d20f5d3c5db41a1343b999
|
|
| MD5 |
e50f3df41e5b543be470b3e15218debe
|
|
| BLAKE2b-256 |
dbc82c86e7105ab1e1ad8cf1586614b5feacec58ee85a2cf7e0c2bc2a73661a4
|
File details
Details for the file rosoku-0.0.3-py3-none-any.whl.
File metadata
- Download URL: rosoku-0.0.3-py3-none-any.whl
- Upload date:
- Size: 28.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a6af6586a2e0d233b59800b9ae22ddd0ddfa00fed8ace634fa1d39fdda2bdd8
|
|
| MD5 |
26b413864e736c79dab6da7aabea0a99
|
|
| BLAKE2b-256 |
507892fec5f4d0b188a1167b3d8c1436c31f4fec47b119134986fa9d728c27ca
|