.
نوع داده EEG : بالینی
دادههای EEG از بیماران مبتلا به افسردگی (Depression) و افراد سالم.
هدف این دیتاست بررسی تفاوتهای الکتروفیزیولوژیک در اختلالات خلقی است.
۱۲۸ کانال EEG با نرخ نمونهبرداری بالا
دادههای resting-state و task
فرمتها: edf و txt
همراه با اطلاعات بالینی آزمودنیها
کاربرد
تحلیل سیگنال EEG در مطالعات بالینی، یادگیری ماشین در تشخیص بیماری.
https://arxiv.org/abs/2002.09283
.
5. Mental-Disorder EEG dataset
نوع داده EEG : بالینی
دادههای EEG از بیماران مبتلا به افسردگی (Depression) و افراد سالم.
هدف این دیتاست بررسی تفاوتهای الکتروفیزیولوژیک در اختلالات خلقی است.
ویژگیها
۱۲۸ کانال EEG با نرخ نمونهبرداری بالا
دادههای resting-state و task
فرمتها: edf و txt
همراه با اطلاعات بالینی آزمودنیها
کاربرد
تحلیل سیگنال EEG در مطالعات بالینی، یادگیری ماشین در تشخیص بیماری.
https://arxiv.org/abs/2002.09283
.
.
نوع داده EEG: بالینی بلندمدت
بزرگترین مجموعه EEG بالینی آزاد جهان. شامل هزاران ساعت ثبت از بیماران مختلف با تشخیصهای عصبی متنوع است.
بیش از ۲۰۰۰ بیمار
سیگنال EEG چندساعته تا چندروزه
حاوی برچسبهای تشخیصی (Seizure, Normal, Sleep, etc)
فرمت استاندارد edf
کاربرد
تشخیص تشنج، تحلیل خواب، EEG بالینی و هوش مصنوعی پزشکی.
https://isip.piconepress.com/projects/tuh_eeg/
.
6. TUH EEG Corpus (Temple University Hospital)
نوع داده EEG: بالینی بلندمدت
بزرگترین مجموعه EEG بالینی آزاد جهان. شامل هزاران ساعت ثبت از بیماران مختلف با تشخیصهای عصبی متنوع است.
ویژگیها
بیش از ۲۰۰۰ بیمار
سیگنال EEG چندساعته تا چندروزه
حاوی برچسبهای تشخیصی (Seizure, Normal, Sleep, etc)
فرمت استاندارد edf
کاربرد
تشخیص تشنج، تحلیل خواب، EEG بالینی و هوش مصنوعی پزشکی.
https://isip.piconepress.com/projects/tuh_eeg/
.
.
نوع داده: دادههای EEG جمعآوری شده از کودکان مبتلا به صرع مقاوم به درمان در بیمارستان کودکان ماساچوست.
تمرکز روی تشخیص و پیشبینی تشنج (Seizure detection).
اگر نمیخواهید دیتاست سنگین دانلود کنید، این مورد گزینه خوبی است.
تعداد بیماران: 23 کودک
نوع دادهها: سیگنال EEG اسکالپ (روی پوست سر)
تعداد کانالها: 23 کانال EEG
فرمت: فایلهای .edf
طول هر ثبت: معمولاً چند دقیقه تا چند ساعت
دادهها شامل دورههای معمولی و دورههای تشنج هستند.
پژوهش در زمینه تشخیص و پیشبینی تشنج
تحلیل الگوهای غیرطبیعی در EEG بیماران صرعی
توسعه الگوریتمهای شناسایی تشنج در EEG
https://physionet.org/content/chbmit/1.0.0/
.
7. CHB-MIT Scalp EEG Database
نوع داده: دادههای EEG جمعآوری شده از کودکان مبتلا به صرع مقاوم به درمان در بیمارستان کودکان ماساچوست.
تمرکز روی تشخیص و پیشبینی تشنج (Seizure detection).
اگر نمیخواهید دیتاست سنگین دانلود کنید، این مورد گزینه خوبی است.
ویژگیها
تعداد بیماران: 23 کودک
نوع دادهها: سیگنال EEG اسکالپ (روی پوست سر)
تعداد کانالها: 23 کانال EEG
فرمت: فایلهای .edf
طول هر ثبت: معمولاً چند دقیقه تا چند ساعت
دادهها شامل دورههای معمولی و دورههای تشنج هستند.
کاربرد
پژوهش در زمینه تشخیص و پیشبینی تشنج
تحلیل الگوهای غیرطبیعی در EEG بیماران صرعی
توسعه الگوریتمهای شناسایی تشنج در EEG
https://physionet.org/content/chbmit/1.0.0/
.
.
تمرین یک دیتاست EEG واقعی
چطور یک دیتاست EEG واقعی (MNE Sample Dataset) را در JupyterLab دانلود، بارگذاری و مشاهده کنیم.
.
تمرین یک دیتاست EEG واقعی
کتابخانه mne یکی از قویترین کتابخانهها برای تحلیل EEG, MEG, LFP است و ابزارهای آماده برای فیلتر، زمان–فرکانس، ERP و ... دارد.
چطور یک دیتاست EEG واقعی (MNE Sample Dataset) را در JupyterLab دانلود، بارگذاری و مشاهده کنیم.
.
.
مرحله 2: دانلود دیتاست نمونه MNE
import mne
# Download the sample dataset (only the first time)
data_path = mne.datasets.sample.data_path()
print("Dataset downloaded to:", data_path)
این دیتاست حدود 1.65 گیگابایت حجم دارد و فقط بار اول دانلود میشود.
به طور پیشفرض در پوشهای مانند مسیر زیر ذخیره میشود.
C:\Users\YourName\mne_data
.
مرحله 2: دانلود دیتاست نمونه MNE
import mne
# Download the sample dataset (only the first time)
data_path = mne.datasets.sample.data_path()
print("Dataset downloaded to:", data_path)
این دیتاست حدود 1.65 گیگابایت حجم دارد و فقط بار اول دانلود میشود.
به طور پیشفرض در پوشهای مانند مسیر زیر ذخیره میشود.
C:\Users\YourName\mne_data
.
.
# Define the path to the raw EEG file
raw_file = data_path / 'MEG' / 'sample' / 'sample_audvis_raw.fif'
# Load the raw data
raw = mne.io.read_raw_fif(raw_file, preload=True)
# Show basic information
raw.info
این فایل شامل سیگنالهای EEG و MEG واقعی است (از یک فرد که به صدا و تصویر پاسخ داده است).
.
مرحله 3: بارگذاری فایل EEG نمونه
# Define the path to the raw EEG file
raw_file = data_path / 'MEG' / 'sample' / 'sample_audvis_raw.fif'
# Load the raw data
raw = mne.io.read_raw_fif(raw_file, preload=True)
# Show basic information
raw.info
این فایل شامل سیگنالهای EEG و MEG واقعی است (از یک فرد که به صدا و تصویر پاسخ داده است).
.
.
# Plot first 5 seconds of EEG
raw.plot(duration=5, n_channels=20, scalings='auto')
هر کانال شامل یک الکترود EEG یا MEG
محور X زمان (ثانیه)
محور Y ولتاژ (µV)
هر چه duration بزرگتر باشد، سیگنال در هر صفحه بیشتر فشرده میشود.
بخش n_channels=20 یعنی فقط ۲۰ کانال (electrode) از EEG نمایش داده شود.
.
مرحله 4: نمایش سیگنال EEG در زمان
# Plot first 5 seconds of EEG
raw.plot(duration=5, n_channels=20, scalings='auto')
هر کانال شامل یک الکترود EEG یا MEG
محور X زمان (ثانیه)
محور Y ولتاژ (µV)
هر چه duration بزرگتر باشد، سیگنال در هر صفحه بیشتر فشرده میشود.
بخش n_channels=20 یعنی فقط ۲۰ کانال (electrode) از EEG نمایش داده شود.
.
.
# Power Spectral Density (frequency domain)
raw.plot_psd(fmax=80, picks='eeg')
این نمودار توان سیگنال را در فرکانسهای مختلف (0–80 Hz) نشان میدهد.
برای مشاهده باندهای فرکانسی مانند Alpha (8–13 Hz)، Beta (13–30 Hz) و Gamma (>30 Hz) مناسب است.
.
مرحله 5: مشاهده طیف فرکانسی EEG (FFT / PSD)
# Power Spectral Density (frequency domain)
raw.plot_psd(fmax=80, picks='eeg')
این نمودار توان سیگنال را در فرکانسهای مختلف (0–80 Hz) نشان میدهد.
برای مشاهده باندهای فرکانسی مانند Alpha (8–13 Hz)، Beta (13–30 Hz) و Gamma (>30 Hz) مناسب است.
.
.
مثلاً حذف نویز برق ۵۰ هرتز
raw_filtered = raw.copy().notch_filter(freqs=50)
raw_filtered.plot(duration=5, n_channels=20)
بعلاوه بسته به اینکه تمرکز ما روی چه بازههای فرکانسی است از Low-pass filter هم میتوانیم استفاده کنیم.
مقدار آن بستگی به هدف ما از آنالیز دارد.
مثلاً اگر نیاز داریم روی باند گاما کار کنیم نباید این فرکانسها فیلتر شوند.
در ERP (event-related potential) تمرکز بر پاسخهای کند مغز است مانند 0.1-30 Hz
.
مرحله 6: فیلتر کردن سیگنال
مثلاً حذف نویز برق ۵۰ هرتز
raw_filtered = raw.copy().notch_filter(freqs=50)
raw_filtered.plot(duration=5, n_channels=20)
بعلاوه بسته به اینکه تمرکز ما روی چه بازههای فرکانسی است از Low-pass filter هم میتوانیم استفاده کنیم.
مقدار آن بستگی به هدف ما از آنالیز دارد.
مثلاً اگر نیاز داریم روی باند گاما کار کنیم نباید این فرکانسها فیلتر شوند.
در ERP (event-related potential) تمرکز بر پاسخهای کند مغز است مانند 0.1-30 Hz
.
❤1
.
raw_lp = raw.copy().filter(l_freq=None, h_freq=40) # Low-pass filter at 40 Hz
raw_lp.plot(duration=5, n_channels=20)
بخش l_freq=None یعنی فیلتر بالاگذر اعمال نمیشود.
بخش h_freq=40 یعنی فقط فرکانسهای زیر ۴۰ هرتز باقی میمانند.
.
مثالی دیگر
raw_lp = raw.copy().filter(l_freq=None, h_freq=40) # Low-pass filter at 40 Hz
raw_lp.plot(duration=5, n_channels=20)
بخش l_freq=None یعنی فیلتر بالاگذر اعمال نمیشود.
بخش h_freq=40 یعنی فقط فرکانسهای زیر ۴۰ هرتز باقی میمانند.
.