Skip to content

BCI2000 .dat file reader #13151

Description

@Sam54000

Describe the new feature or enhancement

Hi, I have worked with a lot of BCI2000 output data and noticed that there is no existing reader in MNE (as far as I know). BCI2000 is a very versatile software for multimodal acquisition and the most cited BCI tool. Therefore, I would like to contribute to the codebase by adding a Raw class dedicated to BCI2000 data and its associated reader for output files in .dat format. I hope this is relevant, and I really look forward to contributing to the codebase! Just need the blessing of the MNE elders ^^

Describe your proposed implementation

Reproducing the same implementation philosophy of other format (such RawEDF, RawEGI) I would like to add a Raw class dedicated to BCI2000 data that would be called RawBCI2k and the associated reader mne.io.read_raw_bci2k().
The BCI2000 community had already implemented a reader in python (see here) so I would like to take example of their reader and wrap it into a nice mne.io.read_raw_bci2k() function.
In order to avoid dependencies, I am going to write the class and the reader "from scratch" taking example from their reader and cite them.

Describe possible alternatives

As an alternative, I would work with the BCI2000 team in order to make their reader a python package. We would put the BCI2000 reader in the mne requirement (it would be installed alongside the other packages when installing mne). Then we would call their reader module when calling mne.io.read_raw_bci2k().

Additional context

No response

Activity

  1. larsoner commented on Mar 11, 2025

    @larsoner
    Member

    Sounds reasonable to me!

    One hiccup could be licensing -- if you want to look at their code and understand what to do their code needs to be in a BSD-compatible license. Looking at https://github.com/neurotechcenter/BCpy2000 it looks like GPL, which is incompatible. You would need to ask for explicit permission to relicense their code.

    If they don't grant it, you would have to come up with an implementation from scratch based on some file format specification doc or similar I think

  2. Sam54000 commented on Mar 13, 2025

    @Sam54000
    ContributorAuthor

    Sure, I am working with them to find the best solution.
    Then I will implement the solution and submit the PR for review.

  3. HansujaB commented on Jan 2, 2026

    @HansujaB
    Contributor

    hey @larsoner is this issue still open?
    Can you assign it to me!

  4. larsoner commented on Jan 5, 2026

    @larsoner
    Member

    We typically don't assign issues, feel free just to work on it and submit a PR

  5. HansujaB commented on Feb 1, 2026

    @HansujaB
    Contributor

    @larsoner Sure ! I have started working on it will raise a PR soon!

  6. HansujaB commented on Feb 27, 2026

    @HansujaB
    Contributor

    Hey @larsoner I raised a PR for this issue , although it is failing some checks

    Image

    but when I go to check test insights I get server error
    There is one nesting issue that I will fix , can you let me know how to address circle ci check fails?

  7. tsbinns commented on Feb 27, 2026

    @tsbinns
    Contributor

    @HansujaB These checks aren't failing as such, just never run. If you register your GitHub account with CircleCI those jobs will run.

  8. HansujaB commented on Feb 27, 2026

    @HansujaB
    Contributor

    @tsbinns Got it , thanks a lot !
    Can you review my PR as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions