المحطة 1 · الدرس 5

ملفات .set و .fdt

مهم8 دقائققبل هذا الدرس: بنية EEG structاطبع البطاقة
تبدأ من: eeglab_data.set (D1) · لا شيء: البيانات كما نزّلتها.تنزيل البيانات (يفتح في نافذة جديدة)
سكربت الوصول لهذه الحالة
MATLAB
[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 محفوظة بنفس الطريقة. وتستطيع أن تطلب ملفاً واحداً فيه الجزآن معاً.

قبل وبعد

على اليمين مجلد sample_data فيه ملفان بنفس الاسم: eeglab_data.set (حوالي 0.35 MB) فيه الوصف، و eeglab_data.fdt (حوالي 3.9 MB) فيه الإشارة 32 × 30504. وعلى اليسار مجلد دروسك فيه بنفس الشكل D1_copy.set (حوالي 0.35 MB) و D1_copy.fdt (حوالي 3.9 MB)، وفوقهما الوسم: نفس الاسم، نفس المجلد، وتحتهما سطر: هكذا يحفظ EEGLAB 2026.1.

أسئلتك بعد هذا، كل جواب في قسمه:

لماذا أحتاج هذه الخطوة؟

السبب بالتفصيل، والمصطلحات التي تحتاجها

ملف .set بلا ملف .fdt الخاص به لا إشارة فيه. إذا نسخت ملف .set وحده أو أرسلته، فمن يحاول فتحه يحصل على رسالة خطأ. هذا الدرس يعلّمك كيف تميّز الحالتين، وكيف تُبقي الملفين معاً.

كيف أطبّقها في EEGLAB؟

9 خطوة من القوائم

1. شاهد ملفي العيّنة

  1. افتح مجلد sample_data داخل مجلد EEGLAB، من File Explorer في Windows أو Finder في macOS.
  2. ستجد eeglab_data.set (حوالي 0.35 ميغابايت) و eeglab_data.fdt (حوالي 3.9 ميغابايت). ملف .fdt هو الأكبر لأنه يحمل الإشارة: 32 قناة (channel) × 30504 عيّنة × 4 بايت لكل رقم.

2. احفظ نسخة في مجلدك

  1. و eeglab_data.set مفتوحة في EEGLAB، افتح File ثم Save current dataset as.
  2. اذهب إلى مجلد الدروس الخاص بك، لا إلى sample_data، واكتب الاسم D1_copy.set.
  3. اضغط Save.
  4. انظر في مجلدك: فيه ملفان، D1_copy.set (حوالي 0.35 ميغابايت) و D1_copy.fdt (حوالي 3.9 ميغابايت). كتبتَ اسماً واحداً، و EEGLAB كتب الملفين.

3. اعثر على خيار الحفظ

  1. افتح File ثم Preferences.
  2. في أول مجموعة من الخيارات، ابحث عن خانةfield (in a dialog)مكان في نافذة نكتب فيه قيمة أو نختارها. التي تبدأ بـ If set, save not one but two files for each dataset (header and data).
  3. أغلق النافذة بـ Cancel، ولا تضغط OK. نبقى في هذا المسار على الافتراضي: ملفان.

قد تجد الخانة غير مفعّلة، مع أن EEGLAB حفظ ملفين للتو. السبب أن النافذة تقرأ قيمتها من ملف إعدادات، والحفظ يتبع ملفاً آخر، حتى تضغط OK في هذه النافذة أول مرة. بعدها يتبع الحفظ ما في الخانة.

كيف أكتبها بالكود؟

نفس الخطوات في 15 أسطر MATLAB
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 MB
  • EEG.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 يفعّل خيار الملفين، فيكتب الحفظ ملفين. صدّق ما تراه في مجلدك.

كيف أتأكد أنها نجحت؟

4 فحوص سريعة
  1. في sample_data الملفان eeglab_data.set و eeglab_data.fdt، و EEG.datfile يعطي 'eeglab_data.fdt' بعد تحميل العيّنة.
  2. في مجلدك D1_copy.set (حوالي 0.35 ميغابايت) و D1_copy.fdt (حوالي 3.9 ميغابايت).
  3. إذا شغّلت سكربتscriptملف أوامر MATLAB ينفّذ خطوات المعالجة بالترتيب.: D1_onefile.set وحده، بحجم حوالي 4 ميغابايت.
  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. لهذا تحفظ نسخك في مجلدك، لا فوق العيّنة أبداً.

أين أقرأ أكثر؟

1 مراجع: التوثيق الرسمي أولاً
  • EEGLAB Tutorialتوثيق3. Dataset management: Saving a dataset; Dataset and file preferences

مكتوب لـ EEGLAB 2026.1 · 2026-10-28

تحتاج مساعدة؟

اسأل، أو شاركنا رأيك، أو بلّغ عن خطأ