Съдържание:
- Стъпка 1: Инициирайте графичен потребителски интерфейс (GUI)
- Стъпка 2: Зареждане и четене на ЯМР изображения в MATLAB
- Стъпка 3: Филтриране на изображения
- Стъпка 4: Изолиране на тумор чрез елиптична маска
- Стъпка 5: Очертаване на тумори
- Стъпка 6: Анализ на физическите свойства на туморите
Видео: ЯМР откриване на мозъчен тумор с помощта на Matlab: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
От: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin
Този код на MATLAB е програма за откриване на точния размер, форма и местоположение на тумор, открит при ЯМР сканиране на мозъка на пациента. Тази програма е предназначена първоначално да работи с откриване на тумори при ЯМР сканиране на мозъка, но може да се използва и за диагностика на рак при други сканиране на органи.
Следващите инструкции първо ще опишат методите за анализ на изображението чрез филтриране и почистване на ЯМР сканирането, чрез бинаризиране, средно филтриране и плъзгащи се прозорци. След това той ще инструктира как да изолира тумора с помощта на предварително генерирана елипсовидна маска и да го филтрира допълнително, за да очертае периметъра на формата на тумора.
След като туморът бъде открит, инструкциите допълнително ще опишат как да включите тази програма в графичен потребителски интерфейс (GUI). В тези инструкции ще бъдат приложени подходящи код и файлове, които да помогнат да се обясни как работи този анализ на ЯМР сканиране.
Някои неща, които трябва да знаете, изтеглете и пригответе, преди да продължите с тази инструкция: 1. Уверете се, че сте изтеглили най -новата версия на MATLAB. Можете да инсталирате R2018b тук:
2. За да стартирате тази програма, трябва да имате достъп до MRI файлове за сканиране на мозъка. Въпреки че някои винаги могат да бъдат намерени от изображения на Google, може да се извърши задълбочен и точен анализ от подходящи изображения на различни слоеве сканиране на мозъка за всеки пациент. Можете да получите достъп до файловете за 20 различни пациенти с глиобластом преди и след лечение от тази база данни:
3. Фокусът на тази програма и различните методи, които ръководят този проект, са очертани в този изследователски документ:
Стъпка 1: Инициирайте графичен потребителски интерфейс (GUI)
Първата стъпка би била създаването и стартирането на графичния потребителски интерфейс, GUI. Това може да стане чрез въвеждане на ръководство в командния прозорец, натискане на enter и създаване на нов графичен интерфейс. След като тази стъпка приключи, можете да започнете да създавате функции като оси, статичен текст, редактиране на текст и бутони, които ще се показват, след като програмата се стартира и потребителят може да взаимодейства с нея. Тези функции могат да се редактират и манипулират чрез инспектора на свойствата, но най -важната характеристика, която трябва да бъде променена при създаването на тези функции, е името на етикета. Важно е да промените името на етикета на всяка реализирана функция, защото това ще ни позволи да създадем различима функция за обратно извикване. След като сте доволни от оформлението на вашия GUI, можете да преминете към зареждане на DICOM файловете, които ще се показват в GUI.
Стъпка 2: Зареждане и четене на ЯМР изображения в MATLAB
За да заредите DICOM файловете, ще трябва правилно да инициализирате функцията за обратно повикване, която ще се изпълни при натискане на бутона „Зареждане на ЯМР изображение“. След като това приключи, трябва да създадете глобална променлива, която да показва изображението по осите на дръжките, където искате да се показва оригиналното ЯМР изображение. Изображенията за сканиране с ЯМР, изтеглени от базата данни, са всички файлове с формат DICOM, които трябва да бъдат заредени във вашата директория MATLAB. Намерете файла с помощта на imgetfile, за да ги заредите в програмата. Изображенията се четат с помощта на вградената в MATLAB функция ‘dicomread’, а първото необработено изображение за всеки файл се вгражда в лявата ос на GUI с помощта на imshow.
Вградената функция MICLAB „dicominfo“също е изключително полезна за адресиране на цялата информация за всеки MIC dicom файл. Използвахме тази функция, за да извлечем цялата описателна информация за пациентите, като техния пол, възраст, тегло и ръст. Тази функция ви предоставя и реда на стека, който е полезен за внедряване на програмата в графичния потребителски интерфейс. Създадохме променливи за всяка описателна информация на пациентите, която ще се използва за графичния интерфейс при натискане на бутона за откриване.
Стъпка 3: Филтриране на изображения
След като DICOM файлът на необработеното изображение бъде зареден и прочетен, изображението трябва да бъде преобразувано от скали в сиво в двоична форма, състояща се само от черно -бели пиксели. Използвахме функцията „imbinarize“, за да създадем двоично изображение от необработеното изображение чрез контролиране на аспектите на адаптивното прагване при стойност на чувствителност 0,59. Коефициентът на чувствителност по праг по подразбиране, 0.5 беше нисък и не можеше да открие по -ярките петна и петна от изображението, затова го увеличихме до 0.59.
След това бинаризираното изображение се обработва чрез среден филтър, използвайки функцията „medfilt2“, тъй като двоичното изображение е двуизмерно. Зададохме всеки изходен пиксел да съдържа средната стойност в квартала 5 х 5 около съответния пиксел във входното двоично изображение. Това намалява шума и запазва ръбовете в квадрат 5 x 5 около всеки пиксел. След това прилагаме плъзгащ се прозорец, използвайки „strel“, за да създадем плосък структуриращ елемент във формата на диск с радиус на квадратите 2, за да идентифицираме всеки централен пиксел на произход във всеки квартал на диска. Използвахме елемент за структуриране на диск, защото анализираме всяко кръгово място и пикселите във всяко петно, така че елементът от формата на диск е по -полезен.
След като изображението е филтрирано, то може да се почисти с помощта на функцията „imclose“, за да се премахнат черните петна между филтрираните бели пиксели в изображението и да се затворят всички празнини около него. След това изцяло обработеното изображение може да бъде нанесено във втория подплот на предварително разпределената фигура, което позволява сравнение между необработеното и филтрираното изображение.
Стъпка 4: Изолиране на тумор чрез елиптична маска
Ярките петна на тумора след това могат да бъдат изолирани от основното филтрирано изображение чрез предварително генерирана елипсовидна маска. За да създадете тази маска, трябва да знаете размера на оригиналното, необработено изображение за сканиране с ЯМР и като използвате дължината на неговия ред и колона, съответно 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 емпирично въз основа на размерите на всички изображения. След това приложихме друг плъзгащ се прозорец със „стрел“като структурен елемент с плоска форма на диск с по -голям квадратен радиус 6, за да затворим пролуките между всеки централен бял пиксел в открития тумор. Откритото туморно петно се почиства допълнително с помощта на „imclose“, за да се елиминират допълнително черните пиксели и да се запълнят всички дупки с „imfill“. Този обработен тумор може след това да бъде показан в третия подсхема в предварително разпределената графика, за да се направи сравнение между изолирания тумор и оригиналните и филтрирани изображения на ЯМР сканирането.
Стъпка 5: Очертаване на тумори
Сега, когато туморът е изолиран с маската, той може да бъде очертан и показан на оригиналното изображение, за да се покаже точното му местоположение. За да направим това, използвахме функцията „bwboundaries“, за да проследим открития по -рано тумор с контур. Посочихме контура да не включва дупките в туморния обект, както се очертава. Това може да бъде нанесено върху оригиналното, необработено изображение, като се използва контур „за“, който нанася очертанията около тумора, използвайки индексите на линията с ширина на линията 1,5 пиксела. След това този контур се нанася върху необработеното изображение, показвайки точния размер и местоположението на тумора, спрямо първоначалното ЯМР сканиране.
Стъпка 6: Анализ на физическите свойства на туморите
Изолираното и очертано място може да ни предостави полезна информация за размера, площта и местоположението на тумора. Използвахме функцията „regionprops“, за да открием свойствата на тумора, които се отнасят до площ, периметър, центроиди и стойността на индекса на пиксела. Тази стойност на индекса на пиксела ни дава единиците в реалния свят за всеки пиксел от всяко изображение, уникални за всяко сканиране. След това тези свойства могат да бъдат превърнати в реални единици милиметри. Емпиричната информация, която програмата ни предоставя, е уникална за всяко ЯМР сканиране и е изключително полезна при определяне на размера, местоположението и вида на тумора, които потребителите могат да анализират и включат в графичния потребителски интерфейс.
Препоръчано:
Откриване на вибрации с помощта на модул на сензора за пиезоелектричен удар: 6 стъпки
Откриване на вибрации с помощта на модул на сензора за пиезоелектричен удар: В този урок ще се научим как да откриваме вибрации с помощта на прост пиезоелектричен сензор Вибрационен модул и Visuino. Гледайте демонстрационен видеоклип
Как да направите звънец без докосване, откриване на телесна температура, GY-906, 433MHz с помощта на Arduino: 3 стъпки
Как да направите звънец без докосване, откриване на телесна температура, GY-906, 433MHz с помощта на Arduino: Днес ще направим звънец без докосване, той ще открие телесната ви температура. В сегашната ситуация е много важно да се знае дали телесната температура на някой е по -висока от нормалната, когато някой се свива. Този проект ще покаже червена светлина, ако открие някакви
Просто откриване на цвят с помощта на OpenCV: 6 стъпки
Просто откриване на цвят с помощта на OpenCV: Здравейте! Днес ще покажа един прост метод за откриване на цвят от видео на живо с помощта на OpenCV и python. По принцип просто ще тествам необходимия цвят присъства във фоновата рамка или не и с помощта на OpenCV модули ще маскирам този регион и
Откриване на цвят в Python с помощта на OpenCV: 8 стъпки
Откриване на цвят в Python с помощта на OpenCV: Здравейте! Тази инструкция се използва, за да ръководи как да извлечете определен цвят от изображение в python, използвайки библиотека openCV. Ако не сте нови в тази техника, не се притеснявайте, в края на това ръководство ще можете да програмирате своя собствен цвят
Как да направите интелигентна алармена система за откриване на наводнения с помощта на Raspberry Pi и частици аргон: 6 стъпки
Как да направите интелигентна алармена система за откриване на наводнения с помощта на Raspberry Pi и частици аргон: Наличието на стандартни сензори за наводнение е чудесно за предотвратяване на големи щети по дома или работното ви място. Но това затруднява, ако не сте вкъщи, да присъствате на алармата. Разбира се можете да си купите тези умни Тази алармена система за наводнение открива всякаква течност и задейства аларма