المحطة 1 · الدرس 5
ملفات .set و .fdt
eeglab_data.set (D1) · لا شيء: البيانات كما نزّلتها.تنزيل البيانات (يفتح في نافذة جديدة)سكربت الوصول لهذه الحالة
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
sampleFolder = fullfile(fileparts(which('eeglab')), 'sample_data');
EEG = pop_loadset('filename', 'eeglab_data.set', 'filepath', sampleFolder);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, 0, 'setname', 'Continuous EEG Data', 'gui', 'off');
eeglab redraw;زر الرجوع في متصفحك يعيدك لنفس المكان الذي كنت فيه، فافتح ما تشاء بلا قلق.
الفكرة باختصار
داتاستdatasetملف بيانات EEG واحد محمّل في EEGLAB مع معلوماته. (dataset) EEGLAB جزآن: الوصف (أسماء قناةchannelالإشارة المسجّلة من قطب واحد، وهي ما يعرضه EEGLAB. ومواقعها، حدثeventعلامة في التسجيل تحدد لحظة شيء مهم، مثل ظهور مثير.، معدل العيّناتsampling rateعدد العيّنات المسجّلة في الثانية لكل قناة.، وسجل المعالجة)، إشارةsignalقيم تتغيّر مع الزمن، مثل الجهد المسجّل في قناة. نفسها (الأرقام في EEG.data).
في EEGLAB 2026.1، الحفظ الافتراضي يكتب الجزأين في ملفين بنفس الاسم: ملف .set فيه الوصف، وملف .fdt فيه الإشارة. عيّنةsampleقيمة واحدة للإشارة في لحظة زمنية واحدة. eeglab_data.set التي تأتي مع EEGLAB محفوظة بنفس الطريقة. وتستطيع أن تطلب ملفاً واحداً فيه الجزآن معاً.
قبل وبعد
أسئلتك بعد هذا، كل جواب في قسمه:
لماذا أحتاج هذه الخطوة؟
السبب بالتفصيل، والمصطلحات التي تحتاجها
ملف .set بلا ملف .fdt الخاص به لا إشارة فيه. إذا نسخت ملف .set وحده أو أرسلته، فمن يحاول فتحه يحصل على رسالة خطأ. هذا الدرس يعلّمك كيف تميّز الحالتين، وكيف تُبقي الملفين معاً.
لماذا أحتاج هذه الخطوة؟
ملف .set بلا ملف .fdt الخاص به لا إشارة فيه. إذا نسخت ملف .set وحده أو أرسلته، فمن يحاول فتحه يحصل على رسالة خطأ. هذا الدرس يعلّمك كيف تميّز الحالتين، وكيف تُبقي الملفين معاً.
كيف أطبّقها في EEGLAB؟
9 خطوة من القوائم
1. شاهد ملفي العيّنة
- افتح مجلد
sample_dataداخل مجلد EEGLAB، من File Explorer في Windows أو Finder في macOS. - ستجد
eeglab_data.set(حوالي 0.35 ميغابايت) وeeglab_data.fdt(حوالي 3.9 ميغابايت). ملف.fdtهو الأكبر لأنه يحمل الإشارة: 32 قناة (channel) × 30504 عيّنة × 4 بايت لكل رقم.
2. احفظ نسخة في مجلدك
- و
eeglab_data.setمفتوحة في EEGLAB، افتح File ثم Save current dataset as. - اذهب إلى مجلد الدروس الخاص بك، لا إلى
sample_data، واكتب الاسمD1_copy.set. - اضغط Save.
- انظر في مجلدك: فيه ملفان،
D1_copy.set(حوالي 0.35 ميغابايت) وD1_copy.fdt(حوالي 3.9 ميغابايت). كتبتَ اسماً واحداً، و EEGLAB كتب الملفين.
3. اعثر على خيار الحفظ
- افتح File ثم Preferences.
- في أول مجموعة من الخيارات، ابحث عن خانةfield (in a dialog)مكان في نافذة نكتب فيه قيمة أو نختارها. التي تبدأ بـ If set, save not one but two files for each dataset (header and data).
- أغلق النافذة بـ Cancel، ولا تضغط OK. نبقى في هذا المسار على الافتراضي: ملفان.
قد تجد الخانة غير مفعّلة، مع أن EEGLAB حفظ ملفين للتو. السبب أن النافذة تقرأ قيمتها من ملف إعدادات، والحفظ يتبع ملفاً آخر، حتى تضغط OK في هذه النافذة أول مرة. بعدها يتبع الحفظ ما في الخانة.
كيف أطبّقها في EEGLAB؟
1. شاهد ملفي العيّنة
- افتح مجلد
sample_dataداخل مجلد EEGLAB، من File Explorer في Windows أو Finder في macOS. - ستجد
eeglab_data.set(حوالي 0.35 ميغابايت) وeeglab_data.fdt(حوالي 3.9 ميغابايت). ملف.fdtهو الأكبر لأنه يحمل الإشارة: 32 قناة (channel) × 30504 عيّنة × 4 بايت لكل رقم.
2. احفظ نسخة في مجلدك
- و
eeglab_data.setمفتوحة في EEGLAB، افتح File ثم Save current dataset as. - اذهب إلى مجلد الدروس الخاص بك، لا إلى
sample_data، واكتب الاسمD1_copy.set. - اضغط Save.
- انظر في مجلدك: فيه ملفان،
D1_copy.set(حوالي 0.35 ميغابايت) وD1_copy.fdt(حوالي 3.9 ميغابايت). كتبتَ اسماً واحداً، و EEGLAB كتب الملفين.
3. اعثر على خيار الحفظ
- افتح File ثم Preferences.
- في أول مجموعة من الخيارات، ابحث عن الخانة التي تبدأ بـ If set, save not one but two files for each dataset (header and data).
- أغلق النافذة بـ Cancel، ولا تضغط OK. نبقى في هذا المسار على الافتراضي: ملفان.
قد تجد الخانة غير مفعّلة، مع أن EEGLAB حفظ ملفين للتو. السبب أن النافذة تقرأ قيمتها من ملف إعدادات، والحفظ يتبع ملفاً آخر، حتى تضغط OK في هذه النافذة أول مرة. بعدها يتبع الحفظ ما في الخانة.
كيف أكتبها بالكود؟
نفس الخطوات في 15 أسطر MATLAB
% Start EEGLAB and load the sample dataset
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
sampleFolder = fullfile(fileparts(which('eeglab')), 'sample_data');
EEG = pop_loadset('filename', 'eeglab_data.set', 'filepath', sampleFolder);
% The sample keeps its signal in a separate file
EEG.datfile % 'eeglab_data.fdt'
dir(fullfile(sampleFolder, 'eeglab_data.*')) % the .fdt and the .set
% Save a copy in your own folder: two files by default in EEGLAB 2026.1
myFolder = 'C:\Users\me\Documents\eeg-course'; % change it
EEG = pop_saveset(EEG, 'filename', 'D1_copy.set', 'filepath', myFolder);
dir(fullfile(myFolder, 'D1_copy.*')) % D1_copy.fdt and D1_copy.set
% Ask for one file explicitly, if you need it
EEG = pop_saveset(EEG, 'filename', 'D1_onefile.set', 'filepath', myFolder, ...
'savemode', 'onefile');
dir(fullfile(myFolder, 'D1_onefile.*')) % D1_onefile.set only, about 4 MBEEG.datfileيحمل اسم ملف.fdt. إذا كان فارغاً، فالإشارة داخل ملف.set.'savemode', 'onefile'يفرض ملفاً واحداً في هذا الحفظ فقط، مهما كان الإعداد. و'savemode', 'twofiles'يفرض ملفين.
كيف أكتبها بالكود؟
% Start EEGLAB and load the sample dataset
[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
sampleFolder = fullfile(fileparts(which('eeglab')), 'sample_data');
EEG = pop_loadset('filename', 'eeglab_data.set', 'filepath', sampleFolder);
% The sample keeps its signal in a separate file
EEG.datfile % 'eeglab_data.fdt'
dir(fullfile(sampleFolder, 'eeglab_data.*')) % the .fdt and the .set
% Save a copy in your own folder: two files by default in EEGLAB 2026.1
myFolder = 'C:\Users\me\Documents\eeg-course'; % change it
EEG = pop_saveset(EEG, 'filename', 'D1_copy.set', 'filepath', myFolder);
dir(fullfile(myFolder, 'D1_copy.*')) % D1_copy.fdt and D1_copy.set
% Ask for one file explicitly, if you need it
EEG = pop_saveset(EEG, 'filename', 'D1_onefile.set', 'filepath', myFolder, ...
'savemode', 'onefile');
dir(fullfile(myFolder, 'D1_onefile.*')) % D1_onefile.set only, about 4 MBEEG.datfileيحمل اسم ملف.fdt. إذا كان فارغاً، فالإشارة داخل ملف.set.'savemode', 'onefile'يفرض ملفاً واحداً في هذا الحفظ فقط، مهما كان الإعداد. و'savemode', 'twofiles'يفرض ملفين.
أي قيمة أختار؟
القيم المناسبة حسب هدف تحليلك
| الاختيار | متى | ماذا تحصل |
|---|---|---|
| ملفان (الافتراضي في 2026.1) | في أغلب الحالات، ومع STUDYبنية في EEGLAB تجمع داتاست عدة مشاركين لتحليلها معاً. في المحطة 8، لأن EEGLAB يقرأ الوصف وحده بسرعة. | name.set و name.fdt، معاً دائماً |
ملف واحد (ألغِ الخانة في File ثم Preferences واضغط OK، أو 'savemode', 'onefile') | تريد إرسال داتاست واحدة بالبريد أو نسخها دون أن تنسى ملفاً. | name.set فقط |
إعادة الحفظ تُبقي الصيغة الموجودة على القرص. File ثم Resave current dataset(s) على داتاست من ملفين يكتب ملفين من جديد، حتى لو كان إعدادك ملفاً واحداً. وفي هذه الحالة يطبع الـ Command Window ملاحظة تبدأ بـ Note that your memory options for saving datasets does not correspond. هذا طبيعي.
ملفان لا ملف واحد
بعض صفحات توثيق EEGLAB تقول إن EEGLAB يحفظ ملفاً واحداً افتراضياً منذ 2021، ونافذة File ثم Preferences تكتب ذلك أيضاً. لكن ملف الإعدادات الذي يأتي مع EEGLAB 2026.1 يفعّل خيار الملفين، فيكتب الحفظ ملفين. صدّق ما تراه في مجلدك.
ملفان لا ملف واحد
بعض صفحات توثيق EEGLAB تقول إن EEGLAB يحفظ ملفاً واحداً افتراضياً منذ 2021، ونافذة File ثم Preferences تكتب ذلك أيضاً. لكن ملف الإعدادات الذي يأتي مع EEGLAB 2026.1 يفعّل خيار الملفين، فيكتب الحفظ ملفين. صدّق ما تراه في مجلدك.
أي قيمة أختار؟
| الاختيار | متى | ماذا تحصل |
|---|---|---|
| ملفان (الافتراضي في 2026.1) | في أغلب الحالات، ومع STUDY في المحطة 8، لأن EEGLAB يقرأ الوصف وحده بسرعة. | name.set و name.fdt، معاً دائماً |
ملف واحد (ألغِ الخانة في File ثم Preferences واضغط OK، أو 'savemode', 'onefile') | تريد إرسال داتاست واحدة بالبريد أو نسخها دون أن تنسى ملفاً. | name.set فقط |
إعادة الحفظ تُبقي الصيغة الموجودة على القرص. File ثم Resave current dataset(s) على داتاست من ملفين يكتب ملفين من جديد، حتى لو كان إعدادك ملفاً واحداً. وفي هذه الحالة يطبع الـ Command Window ملاحظة تبدأ بـ Note that your memory options for saving datasets does not correspond. هذا طبيعي.
ملفان لا ملف واحد
بعض صفحات توثيق EEGLAB تقول إن EEGLAB يحفظ ملفاً واحداً افتراضياً منذ 2021، ونافذة File ثم Preferences تكتب ذلك أيضاً. لكن ملف الإعدادات الذي يأتي مع EEGLAB 2026.1 يفعّل خيار الملفين، فيكتب الحفظ ملفين. صدّق ما تراه في مجلدك.
ملفان لا ملف واحد
بعض صفحات توثيق EEGLAB تقول إن EEGLAB يحفظ ملفاً واحداً افتراضياً منذ 2021، ونافذة File ثم Preferences تكتب ذلك أيضاً. لكن ملف الإعدادات الذي يأتي مع EEGLAB 2026.1 يفعّل خيار الملفين، فيكتب الحفظ ملفين. صدّق ما تراه في مجلدك.
كيف أتأكد أنها نجحت؟
4 فحوص سريعة
- في
sample_dataالملفانeeglab_data.setوeeglab_data.fdt، وEEG.datfileيعطي'eeglab_data.fdt'بعد تحميل العيّنة. - في مجلدك
D1_copy.set(حوالي 0.35 ميغابايت) وD1_copy.fdt(حوالي 3.9 ميغابايت). - إذا شغّلت سكربتscriptملف أوامر MATLAB ينفّذ خطوات المعالجة بالترتيب.:
D1_onefile.setوحده، بحجم حوالي 4 ميغابايت. D1_copy.setيُفتح من File ثم Load existing dataset ويعرض 32 قناة و 154 حدثاً.
تستطيع حذف D1_copy.* و D1_onefile.set بعد الدرس. الدروس التالية لا تستخدمها.
كيف أتأكد أنها نجحت؟
- في
sample_dataالملفانeeglab_data.setوeeglab_data.fdt، وEEG.datfileيعطي'eeglab_data.fdt'بعد تحميل العيّنة. - في مجلدك
D1_copy.set(حوالي 0.35 ميغابايت) وD1_copy.fdt(حوالي 3.9 ميغابايت). - إذا شغّلت السكربت:
D1_onefile.setوحده، بحجم حوالي 4 ميغابايت. D1_copy.setيُفتح من File ثم Load existing dataset ويعرض 32 قناة و 154 حدثاً.
تستطيع حذف D1_copy.* و D1_onefile.set بعد الدرس. الدروس التالية لا تستخدمها.
ما الأخطاء التي يقع فيها كثيرون؟
6 أخطاء، وكيف تتجنّبها
- نسخ ملف
.setوحده أو إرساله بالبريد. انقل الملفين دائماً، بنفس الاسم، إلى نفس المجلد. - إعادة تسمية أحد الملفين من مستكشف الملفات. ملف
.setيتذكّر اسم ملف.fdtالخاص به. لتغيير اسم داتاست، افتحها في EEGLAB واستخدم File ثم Save current dataset as بالاسم الجديد. - فتح ملف
.fdt. افتح ملف.setدائماً. و EEGLAB يقرأ ملف.fdtمعه. - خطأ يبدأ بـ
fileوينتهي بـyou must also rename/move the associated data file.ملف.fdtليس بجانب ملف.set، فلا تُفتح الداتاست. ابحث عنه وضعه في نفس المجلد. والعيّنةeeglab_data.setاستثناء: EEGLAB يضع مجلدsample_dataفي مسار MATLAB، فيجد MATLAB ملفeeglab_data.fdtهناك حتى لو نسخت ملف.setوحده. ملفاتك أنت لا تُعامَل هكذا. - ضغط OK في File ثم Preferences دون قصد. إذا كانت خانة الملفين غير مفعّلة، يصير الحفظ بعدها ملفاً واحداً. لا مشكلة في ذلك، لكن لا تستغرب حين تتغيّر ملفاتك.
- الاستغراب من اختفاء ملف
.fdtالقديم. إذا حفظت داتاست من ملفين كملف واحد بنفس الاسم في نفس المجلد، يحذف EEGLAB ملف.fdtالقديم، لأن الإشارة أصبحت داخل ملف.set. ويطبعOld .fdt file detected on disk, deleting file since the Matlab file now contains all the data. لهذا تحفظ نسخك في مجلدك، لا فوق العيّنة أبداً.
ما الأخطاء التي يقع فيها كثيرون؟
- نسخ ملف
.setوحده أو إرساله بالبريد. انقل الملفين دائماً، بنفس الاسم، إلى نفس المجلد. - إعادة تسمية أحد الملفين من مستكشف الملفات. ملف
.setيتذكّر اسم ملف.fdtالخاص به. لتغيير اسم داتاست، افتحها في EEGLAB واستخدم File ثم Save current dataset as بالاسم الجديد. - فتح ملف
.fdt. افتح ملف.setدائماً. و EEGLAB يقرأ ملف.fdtمعه. - خطأ يبدأ بـ
fileوينتهي بـyou must also rename/move the associated data file.ملف.fdtليس بجانب ملف.set، فلا تُفتح الداتاست. ابحث عنه وضعه في نفس المجلد. والعيّنةeeglab_data.setاستثناء: EEGLAB يضع مجلدsample_dataفي مسار MATLAB، فيجد MATLAB ملفeeglab_data.fdtهناك حتى لو نسخت ملف.setوحده. ملفاتك أنت لا تُعامَل هكذا. - ضغط OK في File ثم Preferences دون قصد. إذا كانت خانة الملفين غير مفعّلة، يصير الحفظ بعدها ملفاً واحداً. لا مشكلة في ذلك، لكن لا تستغرب حين تتغيّر ملفاتك.
- الاستغراب من اختفاء ملف
.fdtالقديم. إذا حفظت داتاست من ملفين كملف واحد بنفس الاسم في نفس المجلد، يحذف EEGLAB ملف.fdtالقديم، لأن الإشارة أصبحت داخل ملف.set. ويطبعOld .fdt file detected on disk, deleting file since the Matlab file now contains all the data. لهذا تحفظ نسخك في مجلدك، لا فوق العيّنة أبداً.
متصفحك لا يسمح بحفظ التقدّم. كل الدروس متاحة، لكن علامات الإكمال لن تُحفظ.
تم. حُفظ تقدّمك في هذا المتصفح.تراجعأين أقرأ أكثر؟
1 مراجع: التوثيق الرسمي أولاً
- EEGLAB Tutorialتوثيق3. Dataset management: Saving a dataset; Dataset and file preferences
مكتوب لـ EEGLAB 2026.1 · 2026-10-28
للتوسّع
- EEGLAB Tutorial: https://eeglab.org/tutorials/03_Dataset_management/datasets.html (3. Dataset management: Saving a dataset; Dataset and file preferences)
تحتاج مساعدة؟
اسأل، أو شاركنا رأيك، أو بلّغ عن خطأ
- بلّغ عن خطأ علمي · يحتاج حساباً على GitHub. لا تملك حساباً؟ استخدم "شاركنا رأيك".