المحطة 1 · الدرس 6
دمج الداتاست وتقسيمها
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;زر الرجوع في متصفحك يعيدك لنفس المكان الذي كنت فيه، فافتح ما تشاء بلا قلق.
الفكرة باختصار
كثير من التجارب تُسجَّل على عدة أجزاء (runs) لنفس مشاركparticipantالشخص الذي سُجّلت بياناته في التجربة.، مع استراحة بينها. لتحلّلها معاً، تدمجها في داتاستdatasetملف بيانات EEG واحد محمّل في EEGLAB مع معلوماته. (dataset) واحدة. وأحياناً تحتاج العكس: جزءاً واحداً فقط من التسجيل. لكن كيف يعرف EEGLAB أن إشارةsignalقيم تتغيّر مع الزمن، مثل الجهد المسجّل في قناة. انقطعت عند نقطة الوصل؟
قبل وبعد
أسئلتك بعد هذا، كل جواب في قسمه:
لماذا أحتاج هذه الخطوة؟
السبب بالتفصيل، والمصطلحات التي تحتاجها
الجواب حدثeventعلامة في التسجيل تحدد لحظة شيء مهم، مثل ظهور مثير. (event) خاص اسمه boundary. يضعه EEGLAB تلقائياً عند كل نقطة وصل أو قصّ، فلترةfilteringتطبيق فلتر على البيانات. والتقطيع لاحقاً تحترمه. حتى لا تحتاج بيانات جديدة، نتدرّب على eeglab_data.set: نقسمها إلى جزأين، ثم ندمجهما من جديد، ونرى أين يظهر الحدث boundary.
في التجارب الحقيقية، كثيراً ما يُسجَّل كل مشارك على عدة runs. مثلاً، النسخة الخام من بيانات المحطة 8 على OpenNeuro (ds002680) فيها لكل مشارك جلستان، في كل منهما 12 أو 13 run. أما النسخة الجاهزة التي نستعملها في المحطة 8 فمحضّرة مسبقاً، بملف لكل حالة.
لماذا أحتاج هذه الخطوة؟
الجواب حدث (event) خاص اسمه boundary. يضعه EEGLAB تلقائياً عند كل نقطة وصل أو قصّ، والفلترة والتقطيع لاحقاً تحترمه. حتى لا تحتاج بيانات جديدة، نتدرّب على eeglab_data.set: نقسمها إلى جزأين، ثم ندمجهما من جديد، ونرى أين يظهر الحدث boundary.
في التجارب الحقيقية، كثيراً ما يُسجَّل كل مشارك على عدة runs. مثلاً، النسخة الخام من بيانات المحطة 8 على OpenNeuro (ds002680) فيها لكل مشارك جلستان، في كل منهما 12 أو 13 run. أما النسخة الجاهزة التي نستعملها في المحطة 8 فمحضّرة مسبقاً، بملف لكل حالة.
كيف أطبّقها في EEGLAB؟
23 خطوة من القوائم
1. قُصّ الجزء الأول
- و
eeglab_data.setمفتوحة كداتاست 1، افتح Edit ثم Select data. - في صف Time range [min max] (s) اكتب
0 120. اترك خانةfield (in a dialog)مكان في نافذة نكتب فيه قيمة أو نختارها. تحت on->remove these في نفس الصف غير مفعّلة. - اضغط OK. في نافذة What do you want to do with the new dataset?، اكتب في Name it: الاسم
D1 part 1، ثم OK. - السطر الأول في النافذة الرئيسية الآن
#2: D1 part 1، و Frames per epoch يعرض 15361.
2. قُصّ الجزء الثاني
- من Datasets اختر
Dataset 1:Continuous EEG Data. نقصّ دائماً من الأصل، لا من الجزء الأول. - افتح Edit ثم Select data من جديد.
- اكتب نفس المدى
0 120في Time range [min max] (s)، وفعّل هذه المرة الخانة تحت on->remove these. الآن يحذف EEGLAB أول 120 ثانية ويُبقي الباقي. - اضغط OK، وسمِّ الداتاست الجديدة
D1 part 2. - النافذة الرئيسية تعرض
#3: D1 part 2، و 15143 عيّنةsampleقيمة واحدة للإشارة في لحظة زمنية واحدة..
استخدام نفس المدى مع الخانة وبدونها يضمن أن الجزأين لا يتداخلان ولا تضيع بينهما أي عيّنة.
3. ادمج الجزأين
- افتح Edit ثم Append datasets.
- في Dataset indices to merge اكتب
2 3. الترتيب مهم: الداتاست الأولى تأتي أولاً في الزمن. - اترك Preserve ICA weights of the first dataset ? غير مفعّلة، واضغط OK.
- يقترح EEGLAB الاسم
Merged datasets. غيّره إلىD1 merged، ثم OK. - النافذة الرئيسية تعرض
#4: D1 merged: 30504 عيّنة كالأصل، و Events يعرض 155 بدل 154.
قد يطبع الـ Command Window السطر Warning: duplicate boundary event removed. هذا طبيعي: كل جزء كان يحمل حدث boundary عند طرف القصّ، و EEGLAB يُبقي واحداً فقط عند نقطة الوصل.
4. اعثر على نقطة الوصل
- و
D1 mergedهي الحالية، افتح Plot ثم Channel data (scroll). - في الخانة بين السهمين في أسفل النافذة اكتب
118، واضغط Enter. - عند 120 ثانية ترى خطاً أحمر سميكاً مكتوباً عليه
boundary. هذا هو الحدث الإضافي: رقم 155.
5. اختر البيانات حول حدث واحد
- ارجع إلى
Dataset 1:Continuous EEG Dataمن قائمة Datasets. - افتح Edit ثم Select data using events. تفتح نافذة Remove data portions around events - pop_rmdat().
- في Event type(s) ([]=all) اكتب
square. - في Time limits [start, end] in sec. اكتب
-0.5 1، أي من نصف ثانية قبل كل حدثsquareإلى ثانية بعده. - اترك القائمة على Keep selected، واضغط OK. سمِّ الداتاست
D1 around square. - بقي 15336 عيّنة (حوالي 120 ثانية)، و Events يعرض 234: الأحداث الأصلية الـ154 كلها، و 80 حدث
boundary، واحد عند كل جزء محذوف.
كيف أطبّقها في EEGLAB؟
1. قُصّ الجزء الأول
- و
eeglab_data.setمفتوحة كداتاست 1، افتح Edit ثم Select data. - في صف Time range [min max] (s) اكتب
0 120. اترك الخانة تحت on->remove these في نفس الصف غير مفعّلة. - اضغط OK. في نافذة What do you want to do with the new dataset?، اكتب في Name it: الاسم
D1 part 1، ثم OK. - السطر الأول في النافذة الرئيسية الآن
#2: D1 part 1، و Frames per epoch يعرض 15361.
2. قُصّ الجزء الثاني
- من قائمة Datasets اختر
Dataset 1:Continuous EEG Data. نقصّ دائماً من الأصل، لا من الجزء الأول. - افتح Edit ثم Select data من جديد.
- اكتب نفس المدى
0 120في Time range [min max] (s)، وفعّل هذه المرة الخانة تحت on->remove these. الآن يحذف EEGLAB أول 120 ثانية ويُبقي الباقي. - اضغط OK، وسمِّ الداتاست الجديدة
D1 part 2. - النافذة الرئيسية تعرض
#3: D1 part 2، و 15143 عيّنة.
استخدام نفس المدى مع الخانة وبدونها يضمن أن الجزأين لا يتداخلان ولا تضيع بينهما أي عيّنة.
3. ادمج الجزأين
- افتح Edit ثم Append datasets.
- في Dataset indices to merge اكتب
2 3. الترتيب مهم: الداتاست الأولى تأتي أولاً في الزمن. - اترك Preserve ICA weights of the first dataset ? غير مفعّلة، واضغط OK.
- يقترح EEGLAB الاسم
Merged datasets. غيّره إلىD1 merged، ثم OK. - النافذة الرئيسية تعرض
#4: D1 merged: 30504 عيّنة كالأصل، و Events يعرض 155 بدل 154.
قد يطبع الـ Command Window السطر Warning: duplicate boundary event removed. هذا طبيعي: كل جزء كان يحمل حدث boundary عند طرف القصّ، و EEGLAB يُبقي واحداً فقط عند نقطة الوصل.
4. اعثر على نقطة الوصل
- و
D1 mergedهي الحالية، افتح Plot ثم Channel data (scroll). - في الخانة بين السهمين في أسفل النافذة اكتب
118، واضغط Enter. - عند 120 ثانية ترى خطاً أحمر سميكاً مكتوباً عليه
boundary. هذا هو الحدث الإضافي: رقم 155.
5. اختر البيانات حول حدث واحد
- ارجع إلى
Dataset 1:Continuous EEG Dataمن قائمة Datasets. - افتح Edit ثم Select data using events. تفتح نافذة Remove data portions around events - pop_rmdat().
- في Event type(s) ([]=all) اكتب
square. - في Time limits [start, end] in sec. اكتب
-0.5 1، أي من نصف ثانية قبل كل حدثsquareإلى ثانية بعده. - اترك القائمة على Keep selected، واضغط OK. سمِّ الداتاست
D1 around square. - بقي 15336 عيّنة (حوالي 120 ثانية)، و Events يعرض 234: الأحداث الأصلية الـ154 كلها، و 80 حدث
boundary، واحد عند كل جزء محذوف.
كيف أكتبها بالكود؟
نفس الخطوات في 29 أسطر MATLAB
% Start EEGLAB and load the sample dataset as dataset 1
[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');
% Part 1: keep the first 120 seconds (dataset 2)
EEG = pop_select(ALLEEG(1), 'time', [0 120]);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 part 1', 'gui', 'off');
% Part 2: remove the same 120 seconds and keep the rest (dataset 3)
EEG = pop_select(ALLEEG(1), 'rmtime', [0 120]);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 part 2', 'gui', 'off');
% Append datasets 2 and 3 (dataset 4)
EEG = pop_mergeset(ALLEEG, [2 3], 0);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 merged', 'gui', 'off');
[ALLEEG.pnts] % 30504 15361 15143 30504
isequal(ALLEEG(4).data, ALLEEG(1).data) % 1: same signal as the original
eeg_eventtypes(EEG) % square 80, rt 74, boundary 1
EEG.event(eeg_findboundaries(EEG)).latency % 15361.5: between samples 15361 and 15362
% Keep only the data from -0.5 to 1 s around each square event (dataset 5)
EEG = pop_rmdat(ALLEEG(1), {'square'}, [-0.5 1], 0);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 around square', 'gui', 'off');
EEG.pnts % 15336
numel(eeg_findboundaries(EEG)) % 80
eeglab redraw;'time'يُبقي المدى، و'rmtime'يحذفه. هذان هما الخانة تحت on->remove these وهي غير مفعّلة ومفعّلة.pop_mergeset(ALLEEG, [2 3], 0)يدمج الداتاست 2 ثم 3. والصفر الأخير يعني: لا تحتفظ بأوزان ICAطريقة تفصل الإشارة المسجّلة إلى مصادر مستقلة، بعضها دماغي وبعضها آرتفاكت..- آخر رقم في
pop_rmdatهو القائمة في النافذة:0يعني Keep selected، و1يعني Remove selected.
كيف أكتبها بالكود؟
% Start EEGLAB and load the sample dataset as dataset 1
[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');
% Part 1: keep the first 120 seconds (dataset 2)
EEG = pop_select(ALLEEG(1), 'time', [0 120]);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 part 1', 'gui', 'off');
% Part 2: remove the same 120 seconds and keep the rest (dataset 3)
EEG = pop_select(ALLEEG(1), 'rmtime', [0 120]);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 part 2', 'gui', 'off');
% Append datasets 2 and 3 (dataset 4)
EEG = pop_mergeset(ALLEEG, [2 3], 0);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 merged', 'gui', 'off');
[ALLEEG.pnts] % 30504 15361 15143 30504
isequal(ALLEEG(4).data, ALLEEG(1).data) % 1: same signal as the original
eeg_eventtypes(EEG) % square 80, rt 74, boundary 1
EEG.event(eeg_findboundaries(EEG)).latency % 15361.5: between samples 15361 and 15362
% Keep only the data from -0.5 to 1 s around each square event (dataset 5)
EEG = pop_rmdat(ALLEEG(1), {'square'}, [-0.5 1], 0);
[ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, CURRENTSET, ...
'setname', 'D1 around square', 'gui', 'off');
EEG.pnts % 15336
numel(eeg_findboundaries(EEG)) % 80
eeglab redraw;'time'يُبقي المدى، و'rmtime'يحذفه. هذان هما الخانة تحت on->remove these وهي غير مفعّلة ومفعّلة.pop_mergeset(ALLEEG, [2 3], 0)يدمج الداتاست 2 ثم 3. والصفر الأخير يعني: لا تحتفظ بأوزان ICA.- آخر رقم في
pop_rmdatهو القائمة في النافذة:0يعني Keep selected، و1يعني Remove selected.
أي قيمة أختار؟
القيم المناسبة حسب هدف تحليلك
| ما تريده | القائمة | ماذا تكتب |
|---|---|---|
| جزء واحد متصل من التسجيل | Edit ثم Select data | المدى بالثواني في Time range [min max] (s)، والخانة غير مفعّلة. |
| حذف جزء متصل (بداية أو نهاية أو استراحة) | Edit ثم Select data | نفس المدى، مع تفعيل الخانة تحت on->remove these. |
| البيانات حول نوع حدث واحد | Edit ثم Select data using events | نوع الحدثevent typeاسم أو رقم يميّز نوع الحدث، مثل "square".، والحدود بالثواني حوله، و Keep selected. |
| حذف البيانات حول حدث، مثل نبضة TMS تشبّع المضخّم | Edit ثم Select data using events | نوع الحدث، وحدود قصيرة حوله، و Remove selected. التوتوريال الرسمي يذكر هذا المثال. |
| عدة runs لنفس المشارك في داتاست واحدة | Edit ثم Append datasets | أرقام الداتاست بترتيب تسجيلها. |
متى تدمج؟ عادة بعد الاستيراد ومواقع قناةchannelالإشارة المسجّلة من قطب واحد، وهي ما يعرضه EEGLAB. مباشرة، وقبل الفلترة وICA. ICA يحتاج بيانات كثيرة، و runs نفس الجلسة تشترك في نفس قطبelectrodeالقطعة المعدنية التي توضع على الرأس لالتقاط الإشارة..
أي قيمة أختار؟
| ما تريده | القائمة | ماذا تكتب |
|---|---|---|
| جزء واحد متصل من التسجيل | Edit ثم Select data | المدى بالثواني في Time range [min max] (s)، والخانة غير مفعّلة. |
| حذف جزء متصل (بداية أو نهاية أو استراحة) | Edit ثم Select data | نفس المدى، مع تفعيل الخانة تحت on->remove these. |
| البيانات حول نوع حدث واحد | Edit ثم Select data using events | نوع الحدث، والحدود بالثواني حوله، و Keep selected. |
| حذف البيانات حول حدث، مثل نبضة TMS تشبّع المضخّم | Edit ثم Select data using events | نوع الحدث، وحدود قصيرة حوله، و Remove selected. التوتوريال الرسمي يذكر هذا المثال. |
| عدة runs لنفس المشارك في داتاست واحدة | Edit ثم Append datasets | أرقام الداتاست بترتيب تسجيلها. |
متى تدمج؟ عادة بعد الاستيراد ومواقع القنوات مباشرة، وقبل الفلترة وICA. ICA يحتاج بيانات كثيرة، و runs نفس الجلسة تشترك في نفس الأقطاب.
كيف أتأكد أنها نجحت؟
5 فحوص سريعة
- قائمة Datasets فيها خمس داتاست:
Continuous EEG DataوD1 part 1وD1 part 2وD1 mergedوD1 around square. - Frames per epoch للداتاست الأربع الأولى: 30504 و 15361 و 15143 و 30504.
D1 mergedفيها 155 حدثاً، وeeg_eventtypesيعرضboundary 1، وتراه خطاً أحمر عند 120 ثانية في نافذة التمرير.isequal(ALLEEG(4).data, ALLEEG(1).data)يعطي1: الدمج أعاد الإشارة كما كانت تماماً.D1 around squareفيها 15336 عيّنة و 80 حدثboundary.
لا شيء في هذا الدرس يُحفظ على القرص. احذف الداتاست 2 إلى 5 من الذاكرة بـ Edit ثم Delete dataset(s) from memory قبل الدرس التالي، أو أغلق EEGLAB.
جملة Methods التالية للاستعمال الحقيقي، حين تدمج عدة runs لمشارك واحد، لا لتمرين النصفين في هذا الدرس.
كيف أتأكد أنها نجحت؟
- قائمة Datasets فيها خمس داتاست:
Continuous EEG DataوD1 part 1وD1 part 2وD1 mergedوD1 around square. - Frames per epoch للداتاست الأربع الأولى: 30504 و 15361 و 15143 و 30504.
D1 mergedفيها 155 حدثاً، وeeg_eventtypesيعرضboundary 1، وتراه خطاً أحمر عند 120 ثانية في نافذة التمرير.isequal(ALLEEG(4).data, ALLEEG(1).data)يعطي1: الدمج أعاد الإشارة كما كانت تماماً.D1 around squareفيها 15336 عيّنة و 80 حدثboundary.
لا شيء في هذا الدرس يُحفظ على القرص. احذف الداتاست 2 إلى 5 من الذاكرة بـ Edit ثم Delete dataset(s) from memory قبل الدرس التالي، أو أغلق EEGLAB.
جملة Methods التالية للاستعمال الحقيقي، حين تدمج عدة runs لمشارك واحد، لا لتمرين النصفين في هذا الدرس.
ما الأخطاء التي يقع فيها كثيرون؟
5 أخطاء، وكيف تتجنّبها
- دمج داتاست بعدد قنوات أو معدل عيّنات مختلف. يتوقف Edit ثم Append datasets بخطأ
The two datasets must have the same number of channelsأوThe two datasets must have the same sampling rate. وحّد القنوات والمعدل قبل الدمج. - دمج داتاست قنواتها بنفس العدد لكن بترتيب مختلف. EEGLAB يتحقق من العدد فقط، لا من الأسماء. فقد تُلصق إشارة
Czمن run تحت اسمPzمن run آخر بلا أي تحذير. قارن{EEG.chanlocs.labels}في الداتاستين قبل الدمج. - حذف أحداث
boundaryأو تجاهلها في سكربت قديم. فلاتر EEGLAB تفلتر كل جزء بين حدثيboundaryوحده، والتقطيع لا يأخذ epoch يعبر نقطة وصل. إذا حذفتها، أو فلترتEEG.dataمباشرة بدالة من MATLAB، تُعامَل نقطة الوصل كإشارة متصلة، فتظهر قفزة كاذبة. - نسيان أن كل قصّ وكل دمج داتاست جديدة. Edit ثم Select data و Edit ثم Append datasets يضيفان داتاست جديدة إلى
ALLEEG، والأصل يبقى كما هو. سمِّ كل نسخة باسم واضح، وانظر إلى السطر الأول في النافذة الرئيسية قبل كل خطوة. - القصّ من الجزء الأول بدل الأصل. في الخطوة 2، إذا بقيت
D1 part 1هي الحالية، تحذف أول 120 ثانية منها هي، فلا يبقى شيء تقريباً. ارجع إلى الداتاست 1 أولاً.
ما الأخطاء التي يقع فيها كثيرون؟
- دمج داتاست بعدد قنوات أو معدل عيّنات مختلف. يتوقف Edit ثم Append datasets بخطأ
The two datasets must have the same number of channelsأوThe two datasets must have the same sampling rate. وحّد القنوات والمعدل قبل الدمج. - دمج داتاست قنواتها بنفس العدد لكن بترتيب مختلف. EEGLAB يتحقق من العدد فقط، لا من الأسماء. فقد تُلصق إشارة
Czمن run تحت اسمPzمن run آخر بلا أي تحذير. قارن{EEG.chanlocs.labels}في الداتاستين قبل الدمج. - حذف أحداث
boundaryأو تجاهلها في سكربت قديم. فلاتر EEGLAB تفلتر كل جزء بين حدثيboundaryوحده، والتقطيع لا يأخذ epoch يعبر نقطة وصل. إذا حذفتها، أو فلترتEEG.dataمباشرة بدالة من MATLAB، تُعامَل نقطة الوصل كإشارة متصلة، فتظهر قفزة كاذبة. - نسيان أن كل قصّ وكل دمج داتاست جديدة. Edit ثم Select data و Edit ثم Append datasets يضيفان داتاست جديدة إلى
ALLEEG، والأصل يبقى كما هو. سمِّ كل نسخة باسم واضح، وانظر إلى السطر الأول في النافذة الرئيسية قبل كل خطوة. - القصّ من الجزء الأول بدل الأصل. في الخطوة 2، إذا بقيت
D1 part 1هي الحالية، تحذف أول 120 ثانية منها هي، فلا يبقى شيء تقريباً. ارجع إلى الداتاست 1 أولاً.
متصفحك لا يسمح بحفظ التقدّم. كل الدروس متاحة، لكن علامات الإكمال لن تُحفظ.
تم. حُفظ تقدّمك في هذا المتصفح.تراجعكيف أكتبها في ورقتي؟
قالب Methods: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته
قالب: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته.
Data from the [N] recording runs were concatenated into a single continuous dataset (pop_mergeset, EEGLAB 2026.1), with boundary events marking the joins.كيف أكتبها في ورقتي؟
قالب: عدّل البيانات والإعدادات والإصدارات لتطابق ما نفّذته.
Data from the [N] recording runs were concatenated into a single continuous dataset (pop_mergeset, EEGLAB 2026.1), with boundary events marking the joins.أين أقرأ أكثر؟
4 مراجع: التوثيق الرسمي أولاً
- EEGLAB TutorialتوثيقEEGLAB data structures: Event boundaries
- EEGLAB Tutorialتوثيق7. Extract Data Epochs: Selecting a subset of data epochs (Edit > Select data)
- EEGLAB Tutorialتوثيقb. Remove bad data by visual inspection: Rejecting bad portions of data surrounding events
- pop_mergeset (EEGLAB function help)توثيقhelp pop_mergeset
مكتوب لـ EEGLAB 2026.1 · 2026-10-28
للتوسّع
- EEGLAB Tutorial: https://eeglab.org/tutorials/ConceptsGuide/Data_Structures.html (EEGLAB data structures: Event boundaries)
- EEGLAB Tutorial: https://eeglab.org/tutorials/07_Extract_epochs/Extracting_Data_Epochs.html (7. Extract Data Epochs: Selecting a subset of data epochs (Edit > Select data))
- EEGLAB Tutorial: https://eeglab.org/tutorials/06_RejectArtifacts/Scrolling_data.html (b. Remove bad data by visual inspection: Rejecting bad portions of data surrounding events)
- pop_mergeset (EEGLAB function help): https://sccn.ucsd.edu/~arno/eeglab/auto/pop_mergeset.html (help pop_mergeset)
تحتاج مساعدة؟
اسأل، أو شاركنا رأيك، أو بلّغ عن خطأ
- بلّغ عن خطأ علمي · يحتاج حساباً على GitHub. لا تملك حساباً؟ استخدم "شاركنا رأيك".