Nihon Kohden V2.0 support
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Start with mne-io/nihon/nihon.py and trace how read_raw_nihon chooses the legacy parser; the issue identifies the uint32 at offset 0x3EE as a format discriminator. Reproduce with an EEG-1200A high-density file and compare channel count and duration against the expected results. Done means the reader handles the extended block chain correctly or raises NotImplementedError instead of silently returning incorrect data.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description of the problem
Currently, mne-python's nihon kohden file reader read_raw_nihon silently mis-parses high-density EEG-1200A files. These have an extended block layout on disk.
#13448 enabled the EEG-1200A V01.00 device string in mne-io/nihon/nihon.py but no parser for the file layout exists. The data is stored in an extended block chain. The current low-density parsing path reads the legacy data block, whose channel-count byte usually for just channel.
The result: mne.io.read_raw_nihon() accepts these files and returns a one-channel Raw object with the wrong duration. No warning or error.
How the layout differs (verified against real files)
- A
uint32at file offset0x3EEis0on every V1 file inspected, and
points to an extended-block chain on every EEG-1200A high-density file
inspected. It is a reliable discriminator; the device string is not (the
same string also appears on files that must keep the V1 path).
Proposed fixes, two options:
- safety - raise NotImplementedError when we detect the extend-block chain format.
- Add extended block support. I have a working fix which is about 100 lines long which has been tested on real files. These are compared with NK's own EDF export files and are bit-for-bit matches. (This also covers a silent scaling bug which I will submit separately.) I will also submit a document with my current understanding of the file format if that is desired.
additions to mne-testing-data
I have prepared a few small file examples of the extended block format which have no patient data in them. I would be able to submit them for including in the mne-python test data. These files also caught a couple of bugs in the version 1 format parsing path.
Steps to reproduce
create a `EEG-1200A V01.00` file on an NK acquisition machne. with this amplifier. call name the stem of the file name XXXX. So have {"XXXX.eeg", "XXXX.21e", "XXXX.log", "XXXX.pnt"
import mne
raw = mne.io.read_raw_nihon("XXXX.eeg", preload=False)
print(raw.info["nchan"], raw.n_times) # 1 channel, wrong length; no error
Link to data
Here is a link to three small studies data files on google drive
Expected results
I will put the outputs of expected results here with the test files as the generic result using the example above is not meaningful.
Actual results
ditto
Additional information
This is being tested on ubuntu 22.04, 24.01 and mac OS 27
- Ngôn ngữ chính
- Python
- Star
- 3.6k
- Fork
- 1.6k
- Merge trung bình
- 1 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 71
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của mne-tools/mne-python
-
`mne.stats.f_oneway` returns wrong (even negative) F for small integer dtypesCó thể đã có người làm @darshpatel1052 đã nhận 4 ngày trước. Đang mởBUG
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
mne-tools/mne-python#14477 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ENH: Add `description` filter parameter to `Raw.crop_by_annotations()`Có thể đã có người làm @aman-coder03 đã nhận 214 ngày trước. Đang mởENH
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
mne-tools/mne-python#13743 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
cannot plot into matplotlib subfigureCó thể đã có người làm @ishaaaan17 đã nhận 4 ngày trước. Đang mởBUG
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
mne-tools/mne-python#14481 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
BUG: One layer BEM construction fails for current ANTS6-0Months3T templateCó thể đã có người làm @sruthisureshkumar-arch đã nhận 6 ngày trước. Đang mởBUG
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 57/100
mne-tools/mne-python#14468 · 8 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
BUG
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
mne-tools/mne-python#14460 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của mne-tools/mne-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
aws-samples/sample-per-model-bedrock#795 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Pretalx reports older version to be the latest release than what is actually installed and availableĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
micropython/micropython#19906 ·
Maintainer thường phản hồi trong vòng 1 ngày