المحطة 2 · الدرس 4
بيانات BIDS و OpenNeuro
sub-002_task-FaceRecognition_eeg.set (D4) · لا شيء: البيانات كما نزّلتها.تنزيل البيانات (يفتح في نافذة جديدة)سكربت الوصول لهذه الحالة
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
% Folder for the BIDS dataset (change it)
bidsFolder = 'C:\Users\me\Documents\eeg-course\ds002718';
baseUrl = 'https://s3.amazonaws.com/openneuro.org/ds002718/';
files = {'dataset_description.json', 'README', 'task-FaceRecognition_events.json', ...
'sub-002/eeg/sub-002_task-FaceRecognition_eeg.set', ...
'sub-002/eeg/sub-002_task-FaceRecognition_eeg.json', ...
'sub-002/eeg/sub-002_task-FaceRecognition_channels.tsv', ...
'sub-002/eeg/sub-002_task-FaceRecognition_electrodes.tsv', ...
'sub-002/eeg/sub-002_task-FaceRecognition_events.tsv'};
for iFile = 1:numel(files)
target = fullfile(bidsFolder, files{iFile});
if ~exist(fileparts(target), 'dir'), mkdir(fileparts(target)); end
websave(target, [baseUrl files{iFile}]);
endزر الرجوع في متصفحك يعيدك لنفس المكان الذي كنت فيه، فافتح ما تشاء بلا قلق.
الفكرة باختصار
كل مختبر يسمّي ملفاته ويرتّبها بطريقته. أما BIDSمعيار موحّد لتسمية ملفات البيانات العصبية وتنظيمها في مجلدات. (Brain Imaging Data Structure) فمعيار مشترك: أسماء مجلدات ثابتة، وأسماء ملفات ثابتة، وملفات جانبية تصف التسجيل. داتاستdatasetملف بيانات EEG واحد محمّل في EEGLAB مع معلوماته. (dataset) المكتوبة بـ BIDS تقرؤها أي أداة تعرف المعيار، دون أن تسأل المختبر كيف حفظ بياناته.
قبل وبعد
أسئلتك بعد هذا، كل جواب في قسمه:
لماذا أحتاج هذه الخطوة؟
السبب بالتفصيل، والمصطلحات التي تحتاجها
و OpenNeuro موقع مجاني يستضيف مئات الداتاست العامة بصيغة BIDS. وفائدة BIDS لمستخدم EEGLAB أنها توفّر خطوتين عملتهما بيدك في هذه المحطة: حدثeventعلامة في التسجيل تحدد لحظة شيء مهم، مثل ظهور مثير. (event) ومواقع قطبelectrodeالقطعة المعدنية التي توضع على الرأس لالتقاط الإشارة. (electrode) تأتي جاهزة في ملفاتها.
نستخدم الداتاست ds002718 (Wakeman و Henson): شاهد مشاركparticipantالشخص الذي سُجّلت بياناته في التجربة. وجوهاً مشهورة، ووجوهاً غير مألوفة، وصوراً مبعثرة الأجزاء. الداتاست كاملة حوالي 4 جيجابايت، لذلك ننزّل مشاركاً واحداً فقط، sub-002، بحوالي 235 ميغابايت.
لماذا أحتاج هذه الخطوة؟
و OpenNeuro موقع مجاني يستضيف مئات الداتاست العامة بصيغة BIDS. وفائدة BIDS لمستخدم EEGLAB أنها توفّر خطوتين عملتهما بيدك في هذه المحطة: الأحداث (event) ومواقع الأقطاب (electrode) تأتي جاهزة في ملفاتها.
نستخدم الداتاست ds002718 (Wakeman و Henson): شاهد المشاركون وجوهاً مشهورة، ووجوهاً غير مألوفة، وصوراً مبعثرة الأجزاء. الداتاست كاملة حوالي 4 جيجابايت، لذلك ننزّل مشاركاً واحداً فقط، sub-002، بحوالي 235 ميغابايت.
كيف أطبّقها في EEGLAB؟
9 خطوة من القوائم
1. نزّل مشاركاً واحداً
- افتح صفحة الداتاست: ds002718 على OpenNeuro.
- من الملفات نزّل هذه الملفات، واحفظها على جهازك بنفس ترتيب المجلدات، داخل مجلد اسمه
ds002718:- في المستوى الأعلى:
dataset_description.jsonوREADMEوtask-FaceRecognition_events.json. - في
sub-002/eeg/: الملفات الخمسة التي تبدأ بـsub-002_task-FaceRecognition_.
- في المستوى الأعلى:
- لا تحتاج مجلد
anat(صور الرنين المغناطيسي) في هذا الدرس.
سكربتscriptملف أوامر MATLAB ينفّذ خطوات المعالجة بالترتيب. في صندوق نقطة البداية ينزّل نفس الملفات دفعة واحدة.
2. انظر في الملفات الجانبية
افتح sub-002_task-FaceRecognition_events.tsv في أي محرّر نصوص أو جدول بيانات. كل سطر حدث، وفيه أعمدة مثل onset (بالثواني)، و trial_type (مثلاً famous_new أو right_sym)، و value (رمز رقمي).
افتح sub-002_task-FaceRecognition_channels.tsv. أسماء قناةchannelالإشارة المسجّلة من قطب واحد، وهي ما يعرضه EEGLAB. (channel) من EEG001 إلى EEG074، لا أسماء 10-10. وهذا مهم في الخطوة التالية.
3. استورد المشارك
- افتح File ثم Import data ثم Using EEGLAB functions and plugins ثم From BIDS folder structure. (ونفس الأمر في File ثم BIDS tools ثم Import BIDS folder to STUDY.)
- اختر مجلد
ds002718واضغط Select Folder (في macOS: Open). تظهر نافذة Import BIDS data — pop_importbids(). - أبقِ خانةfield (in a dialog)مكان في نافذة نكتب فيه قيمة أو نختارها. Use BIDS electrode.tsv files (when present) for channel locations; off: look up locations using channel labels مفعّلة. الأسماء
EEG001وأخواتها غير قياسية، فالبحث بالاسم لن يجد شيئاً. - أبقِ خانة Use BIDS event.tsv files for events and use the following BIDS field for event type مفعّلة، واختر من القائمة تحتها
trial_typeبدلvalue. - خانة Study output folder تعرض مساراً ينتهي بـ
ds002718/derivatives/eeglab. أبقِها. يكتب EEGLAB ملفاته هناك ولا يمسّ الملفات التي نزّلتها. - اضغط OK. يأخذ الاستيراد دقيقة أو دقيقتين.
في EEGLAB 2026.1 ينشئ هذا الأمر STUDYبنية في EEGLAB تجمع داتاست عدة مشاركين لتحليلها معاً. دائماً، حتى لمشارك واحد. تعرض النافذة الرئيسية الـ STUDY، وقائمة Datasets فيها الداتاست 1. اخترها من قائمة Datasets لترى تفاصيلها: 74 قناة، و 250 هرتز، و 1479 حدثاً. ستتعلّم الـ STUDY في المحطة 8.
كيف أطبّقها في EEGLAB؟
1. نزّل مشاركاً واحداً
- افتح صفحة الداتاست: ds002718 على OpenNeuro.
- من قائمة الملفات نزّل هذه الملفات، واحفظها على جهازك بنفس ترتيب المجلدات، داخل مجلد اسمه
ds002718:- في المستوى الأعلى:
dataset_description.jsonوREADMEوtask-FaceRecognition_events.json. - في
sub-002/eeg/: الملفات الخمسة التي تبدأ بـsub-002_task-FaceRecognition_.
- في المستوى الأعلى:
- لا تحتاج مجلد
anat(صور الرنين المغناطيسي) في هذا الدرس.
السكربت في صندوق نقطة البداية ينزّل نفس الملفات دفعة واحدة.
2. انظر في الملفات الجانبية
افتح sub-002_task-FaceRecognition_events.tsv في أي محرّر نصوص أو جدول بيانات. كل سطر حدث، وفيه أعمدة مثل onset (بالثواني)، و trial_type (مثلاً famous_new أو right_sym)، و value (رمز رقمي).
افتح sub-002_task-FaceRecognition_channels.tsv. أسماء القنوات (channel) من EEG001 إلى EEG074، لا أسماء 10-10. وهذا مهم في الخطوة التالية.
3. استورد المشارك
- افتح File ثم Import data ثم Using EEGLAB functions and plugins ثم From BIDS folder structure. (ونفس الأمر في File ثم BIDS tools ثم Import BIDS folder to STUDY.)
- اختر مجلد
ds002718واضغط Select Folder (في macOS: Open). تظهر نافذة Import BIDS data — pop_importbids(). - أبقِ خانة Use BIDS electrode.tsv files (when present) for channel locations; off: look up locations using channel labels مفعّلة. الأسماء
EEG001وأخواتها غير قياسية، فالبحث بالاسم لن يجد شيئاً. - أبقِ خانة Use BIDS event.tsv files for events and use the following BIDS field for event type مفعّلة، واختر من القائمة تحتها
trial_typeبدلvalue. - خانة Study output folder تعرض مساراً ينتهي بـ
ds002718/derivatives/eeglab. أبقِها. يكتب EEGLAB ملفاته هناك ولا يمسّ الملفات التي نزّلتها. - اضغط OK. يأخذ الاستيراد دقيقة أو دقيقتين.
في EEGLAB 2026.1 ينشئ هذا الأمر STUDY دائماً، حتى لمشارك واحد. تعرض النافذة الرئيسية الـ STUDY، وقائمة Datasets فيها الداتاست 1. اخترها من قائمة Datasets لترى تفاصيلها: 74 قناة، و 250 هرتز، و 1479 حدثاً. ستتعلّم الـ STUDY في المحطة 8.
كيف أكتبها بالكود؟
نفس الخطوات في 16 أسطر MATLAB
% Start EEGLAB (EEG-BIDS ships with EEGLAB 2026.1)
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
% Folder where you downloaded ds002718 with sub-002 (change it)
bidsFolder = 'C:\Users\me\Documents\eeg-course\ds002718';
% Import: events from the trial_type column, positions from electrodes.tsv
[STUDY, ALLEEG] = pop_importbids(bidsFolder, ...
'eventtype', 'trial_type', 'bidsevent', 'on', 'bidschanloc', 'on', ...
'outputdir', fullfile(bidsFolder, 'derivatives', 'eeglab'));
% Make the imported dataset the current one and show it
CURRENTSTUDY = 1; EEG = ALLEEG; CURRENTSET = 1:numel(EEG);
eeglab redraw;
% Check what arrived
EEG(1).nbchan % 74
EEG(1).srate % 250
numel(EEG(1).event) % 1479
eeg_eventtypes(EEG(1)) % right_sym 500, famous_new 150, ...'eventtype', 'trial_type'هو نفس الاختيار من القائمة في النافذة. وبدونه يستخدم EEGLAB عمودvalue، فتصبح أنواع الأحداث أرقاماً مثل13و4096.- الملف المستورد يُكتب في
derivatives/eeglab/sub-002/eeg/، وملف الـ STUDY فيderivatives/eeglab/ds002718.study. الملف يأخذ اسمه من مجلد BIDS، أما الـ STUDY نفسها فبلا اسم (STUDY.nameفارغ) ما لم تعطها اسماً.
كيف أكتبها بالكود؟
% Start EEGLAB (EEG-BIDS ships with EEGLAB 2026.1)
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
% Folder where you downloaded ds002718 with sub-002 (change it)
bidsFolder = 'C:\Users\me\Documents\eeg-course\ds002718';
% Import: events from the trial_type column, positions from electrodes.tsv
[STUDY, ALLEEG] = pop_importbids(bidsFolder, ...
'eventtype', 'trial_type', 'bidsevent', 'on', 'bidschanloc', 'on', ...
'outputdir', fullfile(bidsFolder, 'derivatives', 'eeglab'));
% Make the imported dataset the current one and show it
CURRENTSTUDY = 1; EEG = ALLEEG; CURRENTSET = 1:numel(EEG);
eeglab redraw;
% Check what arrived
EEG(1).nbchan % 74
EEG(1).srate % 250
numel(EEG(1).event) % 1479
eeg_eventtypes(EEG(1)) % right_sym 500, famous_new 150, ...'eventtype', 'trial_type'هو نفس الاختيار من القائمة في النافذة. وبدونه يستخدم EEGLAB عمودvalue، فتصبح أنواع الأحداث أرقاماً مثل13و4096.- الملف المستورد يُكتب في
derivatives/eeglab/sub-002/eeg/، وملف الـ STUDY فيderivatives/eeglab/ds002718.study. الملف يأخذ اسمه من مجلد BIDS، أما الـ STUDY نفسها فبلا اسم (STUDY.nameفارغ) ما لم تعطها اسماً.
أي قيمة أختار؟
القيم المناسبة حسب هدف تحليلك
| الخيار | اختيارنا | لماذا |
|---|---|---|
| عمود نوع الحدثevent typeاسم أو رقم يميّز نوع الحدث، مثل "square". | trial_type | أسماء مقروءة (famous_new و scrambled_new و right_sym). عمود value فيه رموز رقمية فقط. |
| Use BIDS electrode.tsv files | مفعّلة | أسماء القنوات EEG001… غير قياسية، فالمواقع يجب أن تأتي من الملف. ألغِها فقط إذا كانت الأسماء قياسية ولا يوجد ملف مواقع. |
| Study output folder | derivatives/eeglab (الافتراضي) | BIDS يضع الملفات المعالَجة في derivatives، بعيداً عن البيانات الخام. |
| Import only the following participant indices | غير مفعّلة | نزّلنا مشاركاً واحداً فقط. وفي داتاست كاملة استخدمها لتستورد بضعة مشاركين أولاً. |
أي قيمة أختار؟
| الخيار | اختيارنا | لماذا |
|---|---|---|
| عمود نوع الحدث | trial_type | أسماء مقروءة (famous_new و scrambled_new و right_sym). عمود value فيه رموز رقمية فقط. |
| Use BIDS electrode.tsv files | مفعّلة | أسماء القنوات EEG001… غير قياسية، فالمواقع يجب أن تأتي من الملف. ألغِها فقط إذا كانت الأسماء قياسية ولا يوجد ملف مواقع. |
| Study output folder | derivatives/eeglab (الافتراضي) | BIDS يضع الملفات المعالَجة في derivatives، بعيداً عن البيانات الخام. |
| Import only the following participant indices | غير مفعّلة | نزّلنا مشاركاً واحداً فقط. وفي داتاست كاملة استخدمها لتستورد بضعة مشاركين أولاً. |
كيف أتأكد أنها نجحت؟
4 فحوص سريعة
- قائمة Datasets فيها الداتاست 1، واختيارها يعرض 74 قناة، و 250 هرتز، و 1479 حدثاً.
eeg_eventtypes(EEG(1))يعرض أسماء مثلright_symوfamous_newوboundary، لا أرقاماً.- سطر Channel locations يعرض
Yes، و Plot ثم Channel locations ثم By name يعرض الأقطاب على الرأس. وترى أيضاً نقاطاً لقنوات العين القلبheart (ECG)نبض القلب الكهربائي الذي قد يظهر في EEG كقمم منتظمة.، لأن الملف يعطيها مواقع. - في المجلد
ds002718/derivatives/eeglab/sub-002/eeg/ملف.setالمستورد.
انتهينا من BIDS. أغلق الـ STUDY من File ثم Clear study / Clear all قبل الدرس التالي. ومن المحطة القادمة نعمل على eeglab_data.set التي تأتي مع EEGLAB، لأنها صغيرة ومطابقة للتوثيق.
مصدر البيانات
البيانات: Wakeman, D. G., & Henson, R. N. (2015). A multi-subject, multi-modal human neuroimaging dataset. Scientific Data, 2, 150001. https://doi.org/10.1038/sdata.2015.1. نسخة EEGLAB على OpenNeuro: ds002718 v1.0.5، DOI 10.18112/openneuro.ds002718.v1.0.5. الرخصة: CC0.
مصدر البيانات
البيانات: Wakeman, D. G., & Henson, R. N. (2015). A multi-subject, multi-modal human neuroimaging dataset. Scientific Data, 2, 150001. https://doi.org/10.1038/sdata.2015.1. نسخة EEGLAB على OpenNeuro: ds002718 v1.0.5، DOI 10.18112/openneuro.ds002718.v1.0.5. الرخصة: CC0.
كيف أتأكد أنها نجحت؟
- قائمة Datasets فيها الداتاست 1، واختيارها يعرض 74 قناة، و 250 هرتز، و 1479 حدثاً.
eeg_eventtypes(EEG(1))يعرض أسماء مثلright_symوfamous_newوboundary، لا أرقاماً.- سطر Channel locations يعرض
Yes، و Plot ثم Channel locations ثم By name يعرض الأقطاب على الرأس. وترى أيضاً نقاطاً لقنوات العين والقلب، لأن الملف يعطيها مواقع. - في المجلد
ds002718/derivatives/eeglab/sub-002/eeg/ملف.setالمستورد.
انتهينا من BIDS. أغلق الـ STUDY من File ثم Clear study / Clear all قبل الدرس التالي. ومن المحطة القادمة نعمل على eeglab_data.set التي تأتي مع EEGLAB، لأنها صغيرة ومطابقة للتوثيق.
مصدر البيانات
البيانات: Wakeman, D. G., & Henson, R. N. (2015). A multi-subject, multi-modal human neuroimaging dataset. Scientific Data, 2, 150001. https://doi.org/10.1038/sdata.2015.1. نسخة EEGLAB على OpenNeuro: ds002718 v1.0.5، DOI 10.18112/openneuro.ds002718.v1.0.5. الرخصة: CC0.
مصدر البيانات
البيانات: Wakeman, D. G., & Henson, R. N. (2015). A multi-subject, multi-modal human neuroimaging dataset. Scientific Data, 2, 150001. https://doi.org/10.1038/sdata.2015.1. نسخة EEGLAB على OpenNeuro: ds002718 v1.0.5، DOI 10.18112/openneuro.ds002718.v1.0.5. الرخصة: CC0.
ما الأخطاء التي يقع فيها كثيرون؟
5 أخطاء، وكيف تتجنّبها
- اختيار مجلد
sub-002أوeeg. اختر المجلد الأعلى للداتاست، وهو الذي فيهdataset_description.json. - تنزيل ملف
.setوحده. بدونevents.tsvوelectrodes.tsvتغيب الملفات الجانبية التي تجعل BIDS مفيدة. حافظ على ترتيب المجلدات كما في OpenNeuro. - ظهور أنواع الأحداث أرقاماً. أبقيت
valueفي قائمة عمود الأحداث. أعد الاستيراد واخترtrial_type. - إلغاء خانة electrode.tsv. البحث بالاسم لا يجد موقعاً لـ
EEG001، فتبقى القنوات بلا مواقع. - البحث عن 70 قناة. في التسجيل 70 قناة EEG، ومعها
HEOGوVEOGوقناتاEKG، فيكونEEG.nbchan= 74.
ما الأخطاء التي يقع فيها كثيرون؟
- اختيار مجلد
sub-002أوeeg. اختر المجلد الأعلى للداتاست، وهو الذي فيهdataset_description.json. - تنزيل ملف
.setوحده. بدونevents.tsvوelectrodes.tsvتغيب الملفات الجانبية التي تجعل BIDS مفيدة. حافظ على ترتيب المجلدات كما في OpenNeuro. - ظهور أنواع الأحداث أرقاماً. أبقيت
valueفي قائمة عمود الأحداث. أعد الاستيراد واخترtrial_type. - إلغاء خانة electrode.tsv. البحث بالاسم لا يجد موقعاً لـ
EEG001، فتبقى القنوات بلا مواقع. - البحث عن 70 قناة. في التسجيل 70 قناة EEG، ومعها
HEOGوVEOGوقناتاEKG، فيكونEEG.nbchan= 74.
متصفحك لا يسمح بحفظ التقدّم. كل الدروس متاحة، لكن علامات الإكمال لن تُحفظ.
تم. حُفظ تقدّمك في هذا المتصفح.تراجعكيف أكتبها في ورقتي؟
قالب Methods: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته
قالب: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته.
EEG data in BIDS format (OpenNeuro ds002718, participant sub-002) were imported with pop_importbids (EEG-BIDS plugin 10.5, EEGLAB 2026.1), using the trial_type column for event types and electrode positions from electrodes.tsv.كيف أكتبها في ورقتي؟
قالب: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته.
EEG data in BIDS format (OpenNeuro ds002718, participant sub-002) were imported with pop_importbids (EEG-BIDS plugin 10.5, EEGLAB 2026.1), using the trial_type column for event types and electrode positions from electrodes.tsv.أين أقرأ أكثر؟
4 مراجع: التوثيق الرسمي أولاً
- EEGLAB Tutorialتوثيقd. BIDS
- EEGLAB Tutorialتوثيقf. BIDS pipeline
- BIDS data format for Neuroimaging: Export/Import BIDS EEG data from EEGLABفيديوالفيديو كاملاً · 16:14
- Face processing EEG dataset for EEGLAB (OpenNeuro ds002718)README; dataset_description.json
مكتوب لـ EEGLAB 2026.1 · 2026-10-28
للتوسّع
- EEGLAB Tutorial: https://eeglab.org/tutorials/04_Import/BIDS.html (d. BIDS)
- EEGLAB Tutorial: https://eeglab.org/tutorials/11_Scripting/Analyzing_EEG_BIDS_data_in_EEGLAB.html (f. BIDS pipeline)
- BIDS data format for Neuroimaging: Export/Import BIDS EEG data from EEGLAB: https://www.youtube.com/watch?v=EClpeP7WREw (الفيديو كاملاً)
- Face processing EEG dataset for EEGLAB (OpenNeuro ds002718): https://openneuro.org/datasets/ds002718 (README; dataset_description.json)
تحتاج مساعدة؟
اسأل، أو شاركنا رأيك، أو بلّغ عن خطأ
- بلّغ عن خطأ علمي · يحتاج حساباً على GitHub. لا تملك حساباً؟ استخدم "شاركنا رأيك".