mne-tools / mne-tools/mne-python
[ENH]: Add support for reading Curry (Version 9) EEG files.
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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