فهرست مطالب:

تشخیص MRI تومور مغزی با استفاده از Matlab: 6 مرحله
تشخیص MRI تومور مغزی با استفاده از Matlab: 6 مرحله

تصویری: تشخیص MRI تومور مغزی با استفاده از Matlab: 6 مرحله

تصویری: تشخیص MRI تومور مغزی با استفاده از Matlab: 6 مرحله
تصویری: Section 6 : Data Mining Implemention 2024, جولای
Anonim
تشخیص تومور مغزی MRI با استفاده از Matlab
تشخیص تومور مغزی MRI با استفاده از Matlab

نویسنده: مادومیتا کانان ، هنری نگوین ، اشلی اورروتیا آویلا ، می جین

این کد MATLAB برنامه ای برای تشخیص اندازه ، شکل و محل دقیق تومور موجود در اسکن MRI مغز بیمار است. این برنامه به گونه ای طراحی شده است که در ابتدا با تشخیص تومور در اسکن MRI مغز کار می کند ، اما می تواند برای تشخیص سرطان در اسکن اندام های دیگر نیز استفاده شود.

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

پس از تشخیص تومور ، دستورالعمل ها نحوه استفاده از این برنامه در رابط کاربری گرافیکی (GUI) را توضیح می دهد. در طول این دستورالعمل ها ، کد و فایل های مناسب برای توضیح نحوه عملکرد این تحلیل اسکن MRI پیوست می شود.

برخی از چیزهایی که باید بدانید ، بارگیری کنید و قبل از انجام این دستورالعمل آماده داشته باشید: 1. اطمینان حاصل کنید که آخرین نسخه MATLAB را بارگیری کرده اید. می توانید R2018b را در اینجا نصب کنید:

2. برای اجرای این برنامه ، باید به فایل های اسکن مغزی MRI دسترسی داشته باشید. اگرچه برخی از آنها را همیشه می توان از تصاویر گوگل پیدا کرد ، اما تجزیه و تحلیل دقیق و دقیق را می توان از تصاویر مناسب لایه های مختلف اسکن مغز برای هر بیمار انجام داد. از این پایگاه داده می توانید به پرونده های 20 بیمار مختلف مبتلا به گلیوبلاستوما قبل و بعد از درمان دسترسی پیدا کنید:

3. تمرکز این برنامه و روشهای مختلف راهنمای این پروژه در این مقاله تحقیق بیان شده است:

مرحله 1: راه اندازی رابط کاربری گرافیکی (GUI)

راه اندازی رابط کاربری گرافیکی (GUI)
راه اندازی رابط کاربری گرافیکی (GUI)
راه اندازی رابط کاربری گرافیکی (GUI)
راه اندازی رابط کاربری گرافیکی (GUI)

اولین قدم ایجاد و راه اندازی رابط کاربری گرافیکی ، GUI است. این را می توان با تایپ راهنما در پنجره فرمان ، فشردن enter و ایجاد GUI جدید انجام داد. پس از اتمام این مرحله می توانید شروع به ایجاد توابع مانند محورها ، متن ایستا ، ویرایش متن و دکمه های فشاری کنید که پس از اجرای برنامه نمایش داده می شود و کاربر می تواند با آنها تعامل داشته باشد. این توابع را می توان از طریق بازرس اموال ویرایش و دستکاری کرد ، اما مهمترین ویژگی که هنگام ایجاد این توابع باید تغییر کند ، نام Tag است. تغییر نام برچسب هر تابع که اجرا می شود بسیار مهم است زیرا به ما این امکان را می دهد که یک تابع تماس متمایز ایجاد کنیم. پس از رضایت از طرح GUI خود می توانید به بارگیری پرونده های DICOM که در GUI نمایش داده می شوند ، ادامه دهید.

مرحله 2: بارگیری و خواندن تصاویر MRI در MATLAB

بارگیری و خواندن تصاویر MRI در MATLAB
بارگیری و خواندن تصاویر MRI در MATLAB
بارگیری و خواندن تصاویر MRI در MATLAB
بارگیری و خواندن تصاویر MRI در MATLAB

برای بارگیری پرونده های DICOM ، باید عملکرد صحیح تماس را که هنگام فشار دادن دکمه "بارگذاری تصویر MRI" اجرا می شود ، به درستی راه اندازی کنید. پس از اتمام این کار ، باید یک متغیر جهانی ایجاد کنید که تصویر را در محورهای دسته ای که می خواهید تصویر اصلی MRI در آن نمایش داده شود ، نمایش دهد. تصاویر اسکن MRI که از پایگاه داده بارگیری شده اند ، همه فایل های قالب بندی DICOM هستند که باید در فهرست MATLAB شما بارگذاری شوند. فایل را با استفاده از imgetfile تعیین کنید تا آنها را در برنامه بارگذاری کنید. تصاویر با استفاده از عملکرد متلب "dicomread" خوانده می شوند و اولین تصویر خام برای هر فایل با استفاده از imshow در محورهای GUI سمت چپ جاسازی می شود.

عملکرد متلب "dicominfo" همچنین برای پرداختن به تمام اطلاعات هر فایل dicom MRI بسیار مفید است. ما از این تابع برای استخراج تمام اطلاعات توصیفی بیماران ، مانند جنس ، سن ، وزن و قد آنها استفاده کردیم. این عملکرد همچنین ترتیب پشته را برای شما فراهم می کند که برای پیاده سازی برنامه در رابط کاربری گرافیکی مفید است. ما متغیرهایی را برای هر یک از اطلاعات توصیفی بیماران ایجاد کردیم که هنگام فشار دادن دکمه تشخیص برای GUI استفاده می شود.

مرحله 3: فیلتر کردن تصویر

فیلترینگ تصویر
فیلترینگ تصویر
فیلترینگ تصویر
فیلترینگ تصویر

پس از بارگیری و خواندن فایل DICOM از تصویر خام ، تصویر باید از مقیاس خاکستری به شکل دوتایی متشکل از فقط پیکسل های سیاه و سفید تبدیل شود. ما از تابع "imbinarize" برای ایجاد یک تصویر باینری از تصویر خام توسط کنترل جنبه های آستانه تطبیقی در مقدار حساسیت 0.59. ضریب حساسیت آستانه پیش فرض ، 0.5 کم بود و قادر به تشخیص لکه ها و نقاط روشن تر از تصویر نبود ، بنابراین ما آن را به 0.59 افزایش دادیم.

سپس تصویر دوتایی از طریق یک فیلتر متوسط با استفاده از عملکرد "medfilt2" پردازش می شود زیرا تصویر دوتایی دو بعدی است. ما هر پیکسل خروجی را طوری تنظیم می کنیم که دارای مقدار میانه در محله 5 * 5 در اطراف پیکسل مربوطه در تصویر دوتایی ورودی باشد. این باعث کاهش نویز و حفظ لبه ها در یک مربع 5 5 5 در اطراف هر پیکسل می شود. در مرحله بعد ، ما یک پنجره کشویی با استفاده از "strel" برای ایجاد یک عنصر ساختار مسطح به شکل دیسک با شعاع همسایگی 2 برای شناسایی هر پیکسل مرکزی و اصلی در هر محله دیسک ایجاد می کنیم. ما از یک عنصر ساختار دیسک استفاده کردیم زیرا در حال تجزیه و تحلیل هر نقطه دایره ای و پیکسل های درون هر نقطه هستیم ، بنابراین یک عنصر شکل دیسک مفیدتر است.

پس از فیلتر شدن تصویر ، می توان آن را با استفاده از تابع "imclose" تمیز کرد تا نقاط سیاه بین پیکسل های سفید فیلتر شده در تصویر برداشته شود و تمام شکاف های اطراف آن بسته شود. سپس تصویر کاملاً پردازش شده را می توان در قسمت فرعی دوم شکل از پیش اختصاص داده شده ترسیم کرد که امکان مقایسه بین تصویر خام و فیلتر شده را فراهم می آورد.

مرحله 4: جداسازی تومور از طریق ماسک بیضوی

جداسازی تومور از طریق ماسک بیضوی
جداسازی تومور از طریق ماسک بیضوی
جداسازی تومور از طریق ماسک بیضوی
جداسازی تومور از طریق ماسک بیضوی
جداسازی تومور از طریق ماسک بیضوی
جداسازی تومور از طریق ماسک بیضوی

نقاط روشن تومور را می توان از طریق فیلتر بیضوی از پیش تولید شده از تصویر فیلتر شده اصلی جدا کرد. برای ایجاد این ماسک ، باید اندازه اصلی تصویر اولیه اسکن MRI را بدانید و با استفاده از طول سطر و ستون آن ، به ترتیب مختصات x و y ، مختصات مرکزی را برای بیضوی اختصاص دهید. ما محور y را به عنوان یک محور اصلی با شعاع 50 واحد از مرکز و محور فرعی با شعاع 40 واحد از مرکز قرار می دهیم.

ما از تابع MATLAB 'meshgrid' برای ایجاد صفحه دکارتی با مختصات شبکه دو بعدی بر اساس مختصات موجود در بردارها از 1 تا طول محور x و از 1 تا طول محور y تصویر استفاده کردیم. به Col یک ماتریس است که در آن هر سطر یک کپی از محور x است و Row ماتریسی است که در آن هر ستون یک کپی از محور y است. شبکه دکارتی نشان داده شده توسط مختصات Col و Row دارای طول (1: Y_Size) سطر و طول (1: X_Size) ستون است. برای تعیین معادله بیضی بسته به شعاع و مختصات مرکز از پیش تعیین شده ، از شاخص های Col و Row ایجاد شده توسط شبکه دکارتی استفاده کنید. اکنون طرح بیضوی را می توان با پیکسل های سفید رنگی که از نقاط تومور یافت می شود پر کرد.

با استفاده از ماسک بیضوی از پیش تولید شده ، می توانیم تومور خاصی را که مایل به تجزیه و تحلیل هستید از تصویر فیلتر شده برداریم. ماسک بیضوی تشخیص می دهد که کدام نقاط به طور منطقی در طرح کلی بیضی قرار می گیرند و این را به عنوان نقطه ای بر روی تصویر فیلتر شده می داند که به عنوان یک تومور قابل قبول است. سپس عملکرد "bwareafilt" تمام اشیاء دیگر خارج از این تومور شناسایی شده را از تصویر فیلتر می کند. ما از یک پنجره 500 در 4000 به صورت تجربی بر اساس ابعاد همه تصاویر استفاده کردیم. سپس یک پنجره کشویی دیگر با "strel" به عنوان یک دیسک مسطح به عنوان یک عنصر ساختاردهی به شکل دیسک مسطح با شعاع محله بزرگتر از 6 ، برای بستن شکاف بین هر پیکسل سفید مرکزی در تومور شناسایی شده اعمال کردیم. لکه تومور شناسایی شده با استفاده از "imclose" بیشتر پاک می شود تا پیکسل های سیاه را بیشتر از بین ببرد و تمام سوراخ ها را با "imfill" پر کند. این تومور پردازش شده را می توان در قسمت فرعی سوم در طرح از پیش تعیین شده نمایش داد تا بین تومور جدا شده و تصاویر اصلی و فیلتر شده از اسکن MRI مقایسه شود.

مرحله 5: طرح تومور

طرح تومور
طرح تومور
طرح تومور
طرح تومور

اکنون که تومور با ماسک جدا شده است ، می توان آن را ترسیم کرد و روی تصویر اصلی نمایش داد تا محل دقیق آن را نشان دهد. برای انجام این کار ، ما از تابع "bwboundaries" برای ردیابی تومور شناسایی شده قبلی با یک طرح کلی استفاده کردیم. ما طرح کلی را مشخص کردیم تا حفره های درون جسم تومور را همانطور که در حال ترسیم است شامل نشود. این را می توان روی تصویر اصلی و خام با استفاده از حلقه "for" ترسیم کرد که با استفاده از شاخص های خط با عرض خط 1.5 پیکسل ، خط کلی تومور را ترسیم می کند. سپس این طرح کلی روی تصویر خام ترسیم می شود و اندازه و محل دقیق تومور را نسبت به اسکن MRI اصلی نشان می دهد.

مرحله ششم: تجزیه و تحلیل خواص فیزیکی تومورها

تجزیه و تحلیل خواص فیزیکی تومورها
تجزیه و تحلیل خواص فیزیکی تومورها
تجزیه و تحلیل خواص فیزیکی تومورها
تجزیه و تحلیل خواص فیزیکی تومورها

نقطه جدا شده و مشخص شده می تواند اطلاعات مفیدی در مورد اندازه ، مساحت و محل تومور در اختیار ما قرار دهد. ما از تابع "regionprops" برای تشخیص خواص تومور مربوط به ناحیه ، محیط ، سانتروئیدها و مقدار شاخص پیکسل استفاده کردیم. این مقدار شاخص پیکسل واحدهای دنیای واقعی را برای هر پیکسل از هر تصویر ، منحصر به فرد برای هر اسکن به ما می دهد. سپس می توان این ویژگی ها را به واحدهای واقعی میلی متر تبدیل کرد. اطلاعات تجربی برنامه که در اختیار ما قرار می دهد برای هر اسکن MRI منحصر به فرد است و در تعیین اندازه ، محل و نوع تومور بسیار مفید است ، که کاربران می توانند تجزیه و تحلیل کرده و در رابط کاربری گرافیکی گنجانده شوند.

توصیه شده: