mne-tools / mne-tools/mne-python

[ENH]: Add support for reading Curry (Version 9) EEG files.

Open
#11,221 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

ENH
Dominant language
Python
Stars
3.5k
Forks
1.6k
Avg merge
1d 6h
Merged PRs (30d)
100

Description

Describe the new feature or enhancement

Currently, curry 9 files cannot be read, because its specific extensions are not recognized and supported.
To my understanding, file contents are the same.

Describe your proposed implementation

Indeed, a simple hack like the following solves the problem:

import mne
from mne.io import curry
curry.curry.FILE_EXTENSIONS['Curry 8'].update({
    'info': '.cdt.dpo',
    'labels': '.cdt.dpo'
})

Info and labels now have a .dpo extension.
I have a small Curry 9 file that contains no human data but only technical noise, which I could use to contribute such a patch.
Looking at the current unit tests, I feel slightly discouraged as very specific tests are performed against a pre-existing BDF file.

Describe possible alternatives

Adding my test file would not pass all existing tests and I would either need to create a Curry 9 version of the test files (unclear how to do that) or write separate tests for my test file.

How could we proceed to move ahead here? Any input would be appreciated.

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with mne.io.curry and the curry.curry.FILE_EXTENSIONS mapping, then read the current unit tests that exercise the existing Curry 8 and BDF files. Check how .cdt.dpo info and labels files should be represented and how a Curry 9 noise fixture could be tested separately. Done means Curry 9 files are recognized without breaking the existing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.