کار با مکان های سنسور#

ساخت وبلاگ

آخرین مطالب

امکانات وب

این آموزش نحوه خواندن و ترسیم مکان های سنسور و نحوه برخورد MNE-Python از مکانهای فیزیکی سنسورها را شرح می دهد. طبق معمول ما با وارد کردن ماژول های مورد نیاز خود شروع خواهیم کرد:

درباره مونتاژ و چیدمان#

مونتاژها حاوی موقعیت های سنسور در سه بعدی (x ، y ، z در متر) هستند که می توانند به داده های EEG/MEG موجود اختصاص دهند. مونتاژ با مشخص کردن مکان سنسورها نسبت به مغز ، نقش مهمی در محاسبه راه حل رو به جلو و برآورد معکوس دارد.

در مقابل ، طرح بندی ها بازنمایی 2D از موقعیت های سنسور هستند. آنها در درجه اول برای تنظیم زیرمجموعه های سنسور فردی در یک توپوپلت یا برای نشان دادن ترتیب تقریبی نسبی سنسورها همانطور که از بالا مشاهده می شود ، استفاده می شوند.

اگر به طور انحصاری با داده های EEG کار می کنید ، می خواهید از مونتاژ استفاده کنید ، نه چیدمان. مونتاژهای ایده آل (به عنوان مثال ، آنهایی که توسط سازنده تهیه شده اند ، یا مواردی که با MNE-Python که در زیر ذکر شده است حمل می شوند) معمولاً به عنوان مونتاژهای الگوی گفته می شوند.

کار با مونتاژهای داخلی#

محاسبه مکان های سنسور

اگر علاقه مند به چگونگی محاسبه موقعیت های استاندارد (ایده آل) EEG بر روی یک مدل سر کروی هستید ، حتماً مخزن EEG_Positions را بررسی کنید.

مختصات سه بعدی سنسورهای MEG در ضبط های خام از MEG Systems گنجانده شده است. آنها به طور خودکار در ویژگی اطلاعات شیء خام پس از بارگیری ذخیره می شوند. مکانهای الکترود EEG به دلیل تفاوت در شکل سر بسیار متغیر هستند. مونتاژهای ایده آل ("مونتاژهای الگو") برای بسیاری از سیستم های EEG در MNE-Python گنجانده شده است ، و می توانید با استفاده از mne. channels. get_builtin_montages () از آنها یک نمای کلی دریافت کنید.

این مونتاژهای داخلی EEG را می توان با mne. channels. make_standard_montage بارگیری کرد:

اشیاء مونتاژ یک روش طرح برای تجسم مکان های سنسور در 2D یا 3D دارند:

پس از بارگذاری ، مونتاژ را می توان با روش SET_MONTAGE ، به عنوان مثال Raw. set_montage () ، Epochs. Set_Montage () یا Evoked. set_montage () برای داده ها اعمال کرد. این فقط با داده هایی که نام کانال EEG با آنهایی که در مونتاژ هستند مطابقت دارد.(بنابراین ، ما برخی از داده های EEG را در زیر بارگیری می کنیم ، و نه مجموعه داده "نمونه" معمول MNE.)

سپس می توانید مکانهای سنسور را از طریق روش plot_sensors () تجسم کنید.

همچنین می توان با عبور از نام مونتاژ به طور مستقیم به روش set_montage () ، مرحله بارگذاری مونتاژ دستی را پرش کرد.

شاید متوجه شده باشید که ارقام ایجاد شده از طریق plot_sensors () حاوی سنسورهای کمتری نسبت به نتیجه EasyCap_Montage. plot () است. این امر به این دلیل است که مونتاژ شامل تمام کانال های تعریف شده برای آن سیستم EEG است. اما همه ضبط ها لزوماً از تمام کانال های ممکن استفاده نمی کنند. بنابراین هنگام استفاده از مونتاژ به یک مجموعه داده واقعی EEG ، اطلاعات مربوط به سنسورهایی که در واقع در داده ها وجود ندارند حذف می شوند.

ترسیم مکان های سنسور 2D مانند Eeglab#

کلمه کلیدی Sphere در بسیاری از مناطق موجود است!

تمام توابع نقشه برداری MNE برای توپوگرافی های EEG و مکان های سنسور از آرگومان کلیدی حوزه پشتیبانی می کنند ، بنابراین امکان تنظیم نحوه پیش بینی سنسورها را بر روی دایره سر فراهم می کند.

در MNE-Python ، به طور پیش فرض مرکز سر با استفاده از نقاط معتبر محاسبه می شود. این بدان معنی است که دایره سر نشان دهنده دور سر در سطح Nasion و گوش است ، و نه جایی که معمولاً در سیستم EEG 10-20 اندازه گیری می شود (یعنی بالاتر از Nasion در T4/T8 ، T3/T7 ، OZ و FPZ).

اگر ترجیح می دهید با استفاده از کنوانسیون های 10-20 (که توسط Eeglab نیز استفاده می شود) دایره سر را بکشید ، می توانید Sphere = 'Eeglab' را منتقل کنید:

40 sensor locations

از آنجا که داده هایی که ما در اینجا استفاده می کنیم حاوی کانال FPZ نیست ، مکان قلمداد آن به صورت خودکار تقریب می یابد.

کنترل دستی پیش بینی کانال 2D#

موقعیت های کانال در فضای 2D با نمایش موقعیت های سه بعدی واقعی آنها بر روی یک کره و سپس نمایش کره بر روی یک هواپیما بدست می آید. به طور پیش فرض ، از کره ای با منشاء در (0 ، 0 ، 0) (x ، y ، z مختصات) و شعاع 0. 095 متر (9. 5 سانتی متر) استفاده می شود. شما می توانید با عبور از یک مقدار واحد به عنوان آرگومان کره در هر عملکردی که کانال های 2D را در 2D قرار می دهد ، از شعاع کره دیگری استفاده کنید (مانند نقشه ای که ما در اینجا استفاده می کنیم ، بلکه به عنوان مثال mne. viz. plot_topomap):

برای تغییر نه تنها شعاع ، بلکه منشأ کره ، A (x ، y ، z ، شعاع) را به عنوان استدلال کره منتقل کنید:

40 sensor locations

خواندن پرونده های دیجیتالی سازی سنسور#

در داده های نمونه ، موقعیت های سنسور در حال حاضر در ویژگی اطلاعاتی از شیء خام موجود است (برای جزئیات بیشتر در مورد نحوه عملکرد آن ، به مستندات توابع خواندن و set_montage () مراجعه کنید). بنابراین ، ما می توانیم مکانهای سنسور را مستقیماً از شیء خام با استفاده از plot_sensors () ترسیم کنیم ، که عملکرد مشابهی را با montage. plot () فراهم می کند. علاوه بر این ، PLOT_SENSORS () از انتخاب کانال بر اساس نوع ، کانال های کدگذاری رنگ به روش های مختلف پشتیبانی می کند (به طور پیش فرض ، کانال های ذکر شده در RAW. info ['Bads'] به رنگ قرمز ترسیم می شوند) و در یک شیء محور matplotlib موجود ترسیم می شوند (بنابراین موقعیت های کانال به راحتی می توانند به عنوان یک زیرمجموعه در یک شکل چند پنل اضافه شوند):

40 sensor locations

TOMOMAP 2D قبلی بی نظمی را در موقعیت های سنسور EEG در مجموعه داده های نمونه نشان می دهد - این به این دلیل است که موقعیت های سنسور در آن مجموعه داده ها رقم زدن موقعیت های سنسور واقعی بر روی سر به جای موقعیت های سنسور ایده آل بر اساس یک مدل سر کروی است. بسته به دستگاه دیجیتالی شدن (به عنوان مثال ، یک دیجیتالی کننده Polhemus Fastrak) ، شما باید از توابع مختلف خواندن مونتاژ استفاده کنید (به قالب های پشتیبانی شده برای مکان های دیجیتالی 3D مراجعه کنید). مونتاژ حاصل می تواند با انتقال آن به عنوان آرگومان به روش set_montage () به اشیاء خام اضافه شود (دقیقاً همانطور که قبلاً با نام مونتاژ از پیش تعریف شده "استاندارد_1020" انجام دادیم). پس از بارگیری ، مکان ها را می توان با روش () طرح () ترسیم کرد و با روش ذخیره () شیء مونتاژ ذخیره شد.

هنگام تنظیم مونتاژ با SET_MONTAGE () ، اطلاعات اندازه گیری در دو مکان به روز می شود (هر دو ورودی CHS و DIG به روز می شوند) - برای اطلاعات بیشتر به ساختار داده اطلاعات مراجعه کنید. توجه داشته باشید که DIG ممکن است علاوه بر مکان های الکترود حاوی نقاط HPI ، Fivcial یا شکل سر باشد.

تجسم سنسورها در رندرهای سطح سه بعدی#

همچنین می توان تصویری از کلاه ایمنی سنسور MEG را با استفاده از رندر سطح سه بعدی به جای Matplotlib ارائه داد. این با فراخوانی mne. viz. plot_alignment () کار می کند:

40 sensor locations

توجه داشته باشید که plot_alignment () به یک شیء اطلاعات نیاز دارد ، و همچنین می تواند سطوح MRI پوست سر ، جمجمه و مغز را ارائه دهد (با عبور از یک دیکته با کلیدهایی مانند "سر" ، "بیرونی" یا "مغز" به پارامتر سطوح). این باعث می شود عملکرد برای ارزیابی تحولات قاب مختصات مفید باشد. برای نمونه هایی از کاربردهای مختلف Plot_Alignment () ، به طرح بندی سنسور سیستم EEG ، ترسیم سنسورهای EEG بر روی پوست سر و ترسیم طرح های سنسور سیستم های MEG مراجعه کنید.

کار با پرونده های چیدمان#

مشابه مونتاژها ، بسیاری از پرونده های طرح بندی با MNE-Python گنجانده شده است. آنها در پوشه MNE/کانال ها/داده ها/چیدمان ها ذخیره می شوند:

برای بارگذاری یک فایل چیدمان ، از عملکرد mne. channels. read_layout استفاده کنید. سپس می توانید طرح را با استفاده از روش طرح آن تجسم کنید:

مشابه آرگومان انتخاب برای انتخاب کانال ها از اشیاء خام ، روش طرح () اشیاء طرح نیز دارای یک آرگومان انتخابی است. با این حال ، از آنجا که طرح ها فقط حاوی اطلاعاتی در مورد نام سنسور و مکان (نوع سنسور نیستند) ، روش Plot () فقط از انتخاب کانال های توسط فهرست (نه به نام یا نوع) پشتیبانی می کند. در مثال زیر ، شاخص های مورد نظر را با استفاده از numpy. where () پیدا می کنیم. انتخاب با نام یا نوع با mne. pick_channels () یا mne. pick_types () امکان پذیر است.

40 sensor locations

اگر یک شیء خام دارید که دارای موقعیت های سنسور است ، می توانید یک شیء طرح بندی با mne. channels. make_eeg_layout () یا mne. channels. find_layout () ایجاد کنید.

40 sensor locations

هیچ تابع make_meg_layout () مربوطه وجود ندارد زیرا مکان های سنسور در یک سیستم MEG ثابت هستند (بر خلاف EEG ، جایی که درپوش های سنسور تغییر شکل می دهند تا به طور دقیق روی یک سر خاص قرار بگیرند). بنابراین ، طرح های MEG برای یک سیستم معین سازگار (ثابت) هستند و می توانید آنها را با mne. channels. read_layout () بارگذاری کنید یا از mne. channels. find_layout () با پارامتر ch_type (همانطور که قبلاً برای EEG نشان داده شده بود) استفاده کنید.

تمام اشیاء چیدمان دارای یک روش ذخیره هستند که طرح های مربوط به دیسک را به عنوان قالب های . lout یا . lay می نویسد (از پسوند پرونده موجود در آرگومان FNAME استنباط می شود). انتخاب بین . lout و . lay فقط در صورت نیاز به بارگذاری پرونده طرح در برخی از برنامه های دیگر اهمیت دارد (MNE-Python می تواند هر دو قالب را بخواند).

کل زمان اجرا اسکریپت: (0 دقیقه 12. 301 ثانیه)

آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید

برچسب : نویسنده : Mihayloo بازدید : 75 تاريخ : دوشنبه 7 فروردين 1402 ساعت: 23:15