المحطة 4 · الدرس 1
فكرة ICA ببساطة
زر الرجوع في متصفحك يعيدك لنفس المكان الذي كنت فيه، فافتح ما تشاء بلا قلق.
الفكرة باختصار
تخيّل حفلة فيها ثلاثة أشخاص يتكلّمون في نفس الوقت، وثلاثة ميكروفونات في أماكن مختلفة من القاعة. كل ميكروفون يسجّل خليطاً من الأصوات الثلاثة. الميكروفون القريب من شخص يسمعه أعلى، لكنه يسمع الآخرين أيضاً.
السؤال: هل تستطيع من التسجيلات الثلاثة وحدها أن تستخرج صوت كل شخص منفرداً؟ هذا ما يفعله ICAطريقة تفصل الإشارة المسجّلة إلى مصادر مستقلة، بعضها دماغي وبعضها آرتفاكت. (ICA).
في EEGتسجيل النشاط الكهربائي للدماغ من أقطاب على فروة الرأس. نفس المشكلة تماماً:
قبل وبعد
ماذا يعني ما رأيته؟
لاحظ في المرحلة الأخيرة أمرين. أولاً، ترتيب المكوّنات لا يطابق ترتيب المصادر. ثانياً، قد يكون المكوّن مقلوباً أو بحجم مختلف. ICA يجد شكل كل مصدر في الزمن، لكنه لا يعرف اسمه ولا حجمه الحقيقي ولا ترتيبه. تسمية المكوّنات عملك أنت، أو عمل ICLabelأداة تصنّف كل مكوّن ICA إلى سبع فئات مع احتمال لكل فئة. لاحقاً.
ماذا يعني ما رأيته؟
لاحظ في المرحلة الأخيرة أمرين. أولاً، ترتيب المكوّنات لا يطابق ترتيب المصادر. ثانياً، قد يكون المكوّن مقلوباً أو بحجم مختلف. ICA يجد شكل كل مصدر في الزمن، لكنه لا يعرف اسمه ولا حجمه الحقيقي ولا ترتيبه. تسمية المكوّنات عملك أنت، أو عمل ICLabel لاحقاً.
أسئلتك بعد هذا، كل جواب في قسمه:
لماذا أحتاج هذه الخطوة؟
السبب بالتفصيل، والمصطلحات التي تحتاجها
- الأشخاص هم المصادر: نشاط مناطق في الدماغ، رمش العينblinkإغلاق العين وفتحها، ويظهر كقمم كبيرة في القنوات الأمامية.، والعضلات، القلبheart (ECG)نبض القلب الكهربائي الذي قد يظهر في EEG كقمم منتظمة.، ضوضاء الكهرباءline noiseتداخل من شبكة الكهرباء عند 60 هرتز في السعودية أو 50 هرتز في بلدان أخرى..
- الميكروفونات هي قناةchannelالإشارة المسجّلة من قطب واحد، وهي ما يعرضه EEGLAB. (channels) على الرأس.
- الخلط يحدث لأن التيار ينتشر في الرأس قبل أن يصل إلى قطبelectrodeالقطعة المعدنية التي توضع على الرأس لالتقاط الإشارة.. التوثيق الرسمي يصف هذا الخلط بأنه سلبي وخطّي، ولا يضيف معلومة جديدة.
لذلك كل قناة خليط. قناة FPz في مقدمة الرأس مثلاً تسجّل نشاط الدماغ ومعه رمش العين بقوة.
ICA يبحث عن طريقة لإعادة جمع القنوات تعطي إشارات مستقلة عن بعضها في الزمن قدر الإمكان. كل إشارةsignalقيم تتغيّر مع الزمن، مثل الجهد المسجّل في قناة. منها اسمها مكوّن ICA (مكوّن ICAindependent componentمصدر واحد مستقل ناتج عن ICA، له خريطة رأس وسلسلة زمنية.).
لماذا أحتاج هذه الخطوة؟
- الأشخاص هم المصادر: نشاط مناطق في الدماغ، ورمش العين، والعضلات، والقلب، وضوضاء الكهرباء.
- الميكروفونات هي القنوات (channels) على الرأس.
- الخلط يحدث لأن التيار ينتشر في الرأس قبل أن يصل إلى الأقطاب. التوثيق الرسمي يصف هذا الخلط بأنه سلبي وخطّي، ولا يضيف معلومة جديدة.
لذلك كل قناة خليط. قناة FPz في مقدمة الرأس مثلاً تسجّل نشاط الدماغ ومعه رمش العين بقوة.
ICA يبحث عن طريقة لإعادة جمع القنوات تعطي إشارات مستقلة عن بعضها في الزمن قدر الإمكان. كل إشارة منها اسمها مكوّن ICA (independent component).
كيف أطبّقها في EEGLAB؟
3 خطوة من القوائم
لا توجد خطوات في EEGLAB لهذا الدرس، لأنه يشرح الفكرة قبل أن تشغّل ICA.
ستقابل الفكرة في الواجهةGUIالنوافذ والقوائم التي نستخدمها بالفأرة بدل كتابة الأوامر. في الدروس التالية:
- تشغيل ICA: من Tools ثم Decompose data by ICA. بعده تظهر ICA weights بقيمة Yes في النافذة الرئيسية.
- خرائط الرأس: من Plot ثم Component maps ثم In 2-D. كل خريطة تبيّن أين يظهر المكوّن على الرأس.
- حذف مكوّن: من Tools ثم Remove components from data. هذه خطوة منفصلة تقرّرها أنت بعد المراجعة.
كيف أطبّقها في EEGLAB؟
لا توجد خطوات في EEGLAB لهذا الدرس، لأنه يشرح الفكرة قبل أن تشغّل ICA.
ستقابل الفكرة في الواجهة في الدروس التالية:
- تشغيل ICA: من Tools ثم Decompose data by ICA. بعده تظهر ICA weights بقيمة Yes في النافذة الرئيسية.
- خرائط الرأس: من Plot ثم Component maps ثم In 2-D. كل خريطة تبيّن أين يظهر المكوّن على الرأس.
- حذف مكوّن: من Tools ثم Remove components from data. هذه خطوة منفصلة تقرّرها أنت بعد المراجعة.
كيف أكتبها بالكود؟
نفس الخطوات في 25 أسطر MATLAB
هذا سكربتscriptملف أوامر MATLAB ينفّذ خطوات المعالجة بالترتيب. اختياري. شغّله بعد تثبيت EEGLAB إذا أردت أن ترى الحفلة بنفسك. يصنع ثلاثة مصادر مصطنعة، ويخلطها في ثلاث “قنوات”، ثم يفصلها بالدالة runica من EEGLAB.
eeglab nogui; % puts runica on the MATLAB path
% Three made-up sources, 10 seconds at 128 Hz
srate = 128;
t = (0:10*srate-1) / srate;
brain = sin(2*pi*10*t); % steady 10 Hz rhythm
n = round(0.3*srate);
win = 0.5 - 0.5*cos(2*pi*(0:n-1)/(n-1)); % smooth bump for one blink
blink = zeros(size(t));
blink(round([1.5 4 6.5 9]*srate)) = 1;
blink = 5 * conv(blink, win, 'same'); % four large, slow blinks
muscle = 0.5 * randn(size(t)); % fast, irregular activity
S = [brain; blink; muscle];
% Each channel records a different mix of the three sources
A = [1.0 0.8 0.3; % frontal channel: strong blink
0.9 0.2 0.4; % central channel
0.7 0.1 1.0]; % temporal channel: strong muscle
X = A * S;
% ICA unmixes the channels without knowing A
[weights, sphere] = runica(X, 'extended', 1);
act = weights * sphere * X;
figure;
for k = 1:3
subplot(3, 2, 2*k-1); plot(t, X(k, :)); title(sprintf('Channel %d (mixture)', k));
subplot(3, 2, 2*k); plot(t, act(k, :)); title(sprintf('ICA component %d', k));
endفي العمود الأيسر ترى القنوات الثلاث، وكلها مختلطة. في العمود الأيمن ترى المكوّنات: إيقاع منتظم، وقمم رمش، ونشاط عشوائي، كل واحد في سطر وحده.
كيف أكتبها بالكود؟
هذا السكربت اختياري. شغّله بعد تثبيت EEGLAB إذا أردت أن ترى الحفلة بنفسك. يصنع ثلاثة مصادر مصطنعة، ويخلطها في ثلاث “قنوات”، ثم يفصلها بالدالة runica من EEGLAB.
eeglab nogui; % puts runica on the MATLAB path
% Three made-up sources, 10 seconds at 128 Hz
srate = 128;
t = (0:10*srate-1) / srate;
brain = sin(2*pi*10*t); % steady 10 Hz rhythm
n = round(0.3*srate);
win = 0.5 - 0.5*cos(2*pi*(0:n-1)/(n-1)); % smooth bump for one blink
blink = zeros(size(t));
blink(round([1.5 4 6.5 9]*srate)) = 1;
blink = 5 * conv(blink, win, 'same'); % four large, slow blinks
muscle = 0.5 * randn(size(t)); % fast, irregular activity
S = [brain; blink; muscle];
% Each channel records a different mix of the three sources
A = [1.0 0.8 0.3; % frontal channel: strong blink
0.9 0.2 0.4; % central channel
0.7 0.1 1.0]; % temporal channel: strong muscle
X = A * S;
% ICA unmixes the channels without knowing A
[weights, sphere] = runica(X, 'extended', 1);
act = weights * sphere * X;
figure;
for k = 1:3
subplot(3, 2, 2*k-1); plot(t, X(k, :)); title(sprintf('Channel %d (mixture)', k));
subplot(3, 2, 2*k); plot(t, act(k, :)); title(sprintf('ICA component %d', k));
endفي العمود الأيسر ترى القنوات الثلاث، وكلها مختلطة. في العمود الأيمن ترى المكوّنات: إيقاع منتظم، وقمم رمش، ونشاط عشوائي، كل واحد في سطر وحده.
أي قيمة أختار؟
القيم المناسبة حسب هدف تحليلك
لا قيم تختارها في هذا الدرس. الجدول يربط الفكرة بما ستراه في EEGLAB.
| في الفكرة | في EEGLAB | ماذا يعني |
|---|---|---|
| طريقة إعادة جمع القنوات | EEG.icaweights و EEG.icasphere | ما يتعلّمه ICA. ضربهما في البيانات يعطي المكوّنات. |
| شكل المكوّن في الزمن | EEG.icaact | السلسلة الزمنية لكل مكوّن ICA. |
| مكان المكوّن على الرأس | EEG.icawinv | كل عمود فيه خريطة رأس لمكوّن ICA: كم يساهم في كل قناة. |
| عدد المكوّنات | يساوي رتبة البيانات، وهو لا يزيد على عدد القنوات | في D1 بعد المرجع المتوسط وبلا قنوات مستوفاة: 31 مكوّناً من 32 قناة. كل قناة مستوفاة تنقص واحداً (درس تشغيل ICA). |
أي قيمة أختار؟
لا قيم تختارها في هذا الدرس. الجدول يربط الفكرة بما ستراه في EEGLAB.
| في الفكرة | في EEGLAB | ماذا يعني |
|---|---|---|
| طريقة إعادة جمع القنوات | EEG.icaweights و EEG.icasphere | ما يتعلّمه ICA. ضربهما في البيانات يعطي المكوّنات. |
| شكل المكوّن في الزمن | EEG.icaact | السلسلة الزمنية لكل مكوّن ICA. |
| مكان المكوّن على الرأس | EEG.icawinv | كل عمود فيه خريطة رأس لمكوّن ICA: كم يساهم في كل قناة. |
| عدد المكوّنات | يساوي رتبة البيانات، وهو لا يزيد على عدد القنوات | في D1 بعد المرجع المتوسط وبلا قنوات مستوفاة: 31 مكوّناً من 32 قناة. كل قناة مستوفاة تنقص واحداً (درس تشغيل ICA). |
كيف أتأكد أنها نجحت؟
3 فحوص سريعة
- تستطيع شرح الحفلة بجملتين: القنوات ميكروفونات تسمع خليطاً، و ICA يستخرج كل صوت وحده.
- تعرف جزأي مكوّن ICA: خريطة رأس (
EEG.icawinv) وسلسلة زمنية (EEG.icaact). - إذا شغّلت السكربت، ترى في العمود الأيمن ثلاثة مكوّنات منفصلة، كل واحد يشبه أحد المصادر الثلاثة، بترتيب أو إشارة قد تختلف.
كيف أتأكد أنها نجحت؟
- تستطيع شرح الحفلة بجملتين: القنوات ميكروفونات تسمع خليطاً، و ICA يستخرج كل صوت وحده.
- تعرف جزأي مكوّن ICA: خريطة رأس (
EEG.icawinv) وسلسلة زمنية (EEG.icaact). - إذا شغّلت السكربت، ترى في العمود الأيمن ثلاثة مكوّنات منفصلة، كل واحد يشبه أحد المصادر الثلاثة، بترتيب أو إشارة قد تختلف.
ما الأخطاء التي يقع فيها كثيرون؟
5 أخطاء، وكيف تتجنّبها
- الظن أن ICA يحذف شيئاً. ICA وحده لا يغيّر بياناتك. يعطيك طريقة أخرى لرؤية نفس البيانات. الحذف قرار منفصل في درس ICLabel.
- الخلط بين القناة ومكوّن ICA. القناة ما يسجّله قطب واحد. مكوّن ICA مصدر محسوب من كل القنوات معاً، وله خريطة على الرأس كله.
- الخلط بين مكوّن ICA ومكوّن ERP. مكوّن ERP مثل P3 قمة في متوسط الـ epochs. مكوّن ICA مصدر مستقل يُحسب من كل نقاط التسجيل، لا من المتوسط. قل دائماً “مكوّن ICA” أو “مكوّن ERP”.
- انتظار نفس الترتيب في كل مرة. ترتيب المكوّنات وإشارتها وحجمها قد تختلف بين تشغيل وآخر. ابحث عن المكوّن بشكله، لا برقمه.
- توقّع مصادر أكثر من القنوات. ICA لا يستطيع إيجاد مكوّنات أكثر من رتبة البيانات. مع 32 قناة لا تحصل على 50 مصدراً.
ما الأخطاء التي يقع فيها كثيرون؟
- الظن أن ICA يحذف شيئاً. ICA وحده لا يغيّر بياناتك. يعطيك طريقة أخرى لرؤية نفس البيانات. الحذف قرار منفصل في درس ICLabel.
- الخلط بين القناة ومكوّن ICA. القناة ما يسجّله قطب واحد. مكوّن ICA مصدر محسوب من كل القنوات معاً، وله خريطة على الرأس كله.
- الخلط بين مكوّن ICA ومكوّن ERP. مكوّن ERP مثل P3 قمة في متوسط الـ epochs. مكوّن ICA مصدر مستقل يُحسب من كل نقاط التسجيل، لا من المتوسط. قل دائماً “مكوّن ICA” أو “مكوّن ERP”.
- انتظار نفس الترتيب في كل مرة. ترتيب المكوّنات وإشارتها وحجمها قد تختلف بين تشغيل وآخر. ابحث عن المكوّن بشكله، لا برقمه.
- توقّع مصادر أكثر من القنوات. ICA لا يستطيع إيجاد مكوّنات أكثر من رتبة البيانات. مع 32 قناة لا تحصل على 50 مصدراً.
متصفحك لا يسمح بحفظ التقدّم. كل الدروس متاحة، لكن علامات الإكمال لن تُحفظ.
تم. حُفظ تقدّمك في هذا المتصفح.تراجعأين أقرأ أكثر؟
4 مراجع: التوثيق الرسمي أولاً
- EEGLAB Concepts guideتوثيقIndependent Component Analysis of EEG data
- EEGLAB Tutorialتوثيق6. Reject artifacts > d. Indep. Comp. Analysis
- Luck, Applied Event-Related Potential Data Analysis (الطبعة الأولى)الفصل 9: Artifact Correction with ICA
- ICA applied to EEG: What is ICA?فيديوالفيديو كاملاً · 6:35
مكتوب لـ EEGLAB 2026.1 · 2026-10-28
للتوسّع
- EEGLAB Concepts guide: https://eeglab.org/tutorials/ConceptsGuide/ICA_background.html (Independent Component Analysis of EEG data)
- EEGLAB Tutorial: https://eeglab.org/tutorials/06_RejectArtifacts/RunICA.html (6. Reject artifacts > d. Indep. Comp. Analysis)
- Luck, Applied Event-Related Potential Data Analysis (الطبعة الأولى): https://socialsci.libretexts.org/Bookshelves/Psychology/Biological_Psychology/Applied_Event-Related_Potential_Data_Analysis_(Luck) (الفصل 9: Artifact Correction with ICA)
- ICA applied to EEG: What is ICA?: https://www.youtube.com/watch?v=kWAjhXr7pT4 (الفيديو كاملاً)
تحتاج مساعدة؟
اسأل، أو شاركنا رأيك، أو بلّغ عن خطأ
- بلّغ عن خطأ علمي · يحتاج حساباً على GitHub. لا تملك حساباً؟ استخدم "شاركنا رأيك".