Obsah:
- Krok 1: Spustenie grafického používateľského rozhrania (GUI)
- Krok 2: Načítanie a čítanie obrázkov MRI v MATLABe
- Krok 3: Filtrovanie obrázkov
- Krok 4: Izolácia nádoru pomocou eliptickej masky
- Krok 5: Obrys nádoru
- Krok 6: Analýza fyzikálnych vlastností nádorov
Video: Detekcia MRI mozgového nádoru pomocou Matlabu: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Autor: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin
Tento kód MATLAB je program na detekciu presnej veľkosti, tvaru a umiestnenia nádoru, ktorý sa nachádza v snímkach MRI mozgu pacienta. Tento program je navrhnutý tak, aby pôvodne pracoval s detekciou nádoru pri skenoch MRI mozgu, ale môže byť použitý aj na diagnostiku rakoviny pri iných skenoch orgánov.
Nasledujúce pokyny najskôr popíšu metódy analýzy obrazu pomocou filtrovania a čistenia skenovania MRI, binarizácie, filtrovania mediánu a posuvných okien. Ďalej poučí o tom, ako izolovať nádor pomocou vopred vygenerovanej eliptickej masky a ako ho ďalej filtrovať, aby sa naznačil obvod tvaru nádoru.
Akonáhle je nádor detegovaný, inštrukcie budú ďalej popisovať, ako začleniť tento program do grafického používateľského rozhrania (GUI). K týmto pokynom bude priložený príslušný kód a súbory, ktoré vám pomôžu vysvetliť, ako táto analýza skenovania MRI funguje.
Niektoré veci, ktoré by ste mali vedieť, stiahnuť a mať pripravené, než budete pokračovať v tomto pokyne: 1. Uistite sa, že máte stiahnutú najnovšiu verziu programu MATLAB. R2018b si môžete nainštalovať tu:
2. Na spustenie tohto programu potrebujete prístup k súborom skenovania mozgu MRI. Aj keď sa niektoré dajú vždy nájsť z obrázkov Google, pre každého pacienta je možné vykonať dôkladnú a presnú analýzu pomocou správnych snímok rôznych vrstiev skenov mozgu. K súborom pre 20 rôznych pacientov s glioblastómom pred a po ošetrení máte prístup z tejto databázy:
3. Zameranie tohto programu a rôzne metódy, ktorými sa tento projekt riadi, sú načrtnuté v tomto výskumnom dokumente:
Krok 1: Spustenie grafického používateľského rozhrania (GUI)
Prvým krokom by bolo vytvorenie a spustenie grafického používateľského rozhrania GUI. To sa dá urobiť zadaním sprievodcu do príkazového okna, stlačením klávesu Enter a vytvorením nového grafického rozhrania. Po dokončení tohto kroku môžete začať vytvárať funkcie, ako sú osi, statický text, upravovať text a tlačidlá, ktoré sa zobrazia po spustení programu a interakcii s používateľom. Tieto funkcie je možné upravovať a manipulovať s nimi pomocou inšpektora vlastností, ale najdôležitejšou funkciou, ktorú je potrebné pri vytváraní týchto funkcií zmeniť, je názov značky. Je dôležité zmeniť názov značky pre každú implementovanú funkciu, pretože nám to umožní vytvoriť rozpoznateľnú funkciu spätného volania. Akonáhle ste spokojní s rozložením vášho GUI, môžete prejsť na načítanie súborov DICOM, ktoré sa zobrazia v GUI.
Krok 2: Načítanie a čítanie obrázkov MRI v MATLABe
Aby ste mohli načítať súbory DICOM, musíte správne inicializovať funkciu spätného volania, ktorá by bola vykonaná po stlačení tlačidla „Načítať obrázok MRI“. Akonáhle je toto dokončené, musíte vytvoriť globálnu premennú, ktorá by zobrazovala obrázok na osiach rukovätí, kde chcete zobrazovať pôvodný obrázok MRI. Obrázky skenovania MRI stiahnuté z databázy sú všetky súbory vo formáte DICOM, ktoré je potrebné načítať do vášho adresára MATLAB. Vyhľadajte súbor pomocou súboru imgetfile a načítajte ho do programu. Obrázky sa čítajú pomocou vstavanej funkcie MATLAB „dicomread“a prvý nespracovaný obrázok pre každý súbor sa vloží do ľavých osí GUI pomocou funkcie imshow.
Vstavaná funkcia MATLAB „dicominfo“je tiež veľmi užitočná pri adresovaní všetkých informácií o každom súbore MRI dicom. Túto funkciu sme použili na extrahovanie všetkých popisných informácií o pacientoch, ako sú ich pohlavie, vek, hmotnosť a výška. Táto funkcia vám tiež poskytne poradie zásobníkov, ktoré je užitočné pri implementácii programu v grafickom používateľskom rozhraní. Vytvorili sme premenné pre každú z popisných informácií o pacientoch, ktoré sa použijú pre GUI po stlačení tlačidla detekcie.
Krok 3: Filtrovanie obrázkov
Po načítaní a čítaní súboru DICOM surového obrázka je potrebné obrázok previesť zo stupňov šedej do binarizovanej podoby pozostávajúcej iba z čiernobielych pixelov Na vytvorenie binárneho obrázka zo surového obrázka sme použili funkciu „imbinarize“kontrolné aspekty adaptívneho prahovania pri hodnote citlivosti 0,59. Predvolený faktor prahovej citlivosti 0,5 bol nízky a nedokázal detekovať jasnejšie škvrny a škvrny z obrazu, preto sme ho zvýšili na 0,59.
Binarizovaný obrázok je potom spracovaný cez stredný filter pomocou funkcie „medfilt2“, pretože binarizovaný obrázok je dvojrozmerný. Každý výstupný pixel sme nastavili tak, aby obsahoval strednú hodnotu v susedstve 5 x 5 okolo zodpovedajúceho pixelu vo vstupnom binarizovanom obrázku. To znižuje šum a zachováva okraje v štvorci 5 x 5 okolo každého pixelu. Ďalej použijeme posuvné okno pomocou „strel“, aby sme vytvorili plochý štruktúrovaný prvok v tvare disku s polomerom susedstva 2, aby sme identifikovali každý centrálny pôvodný pixel v každom susedstve disku. Použili sme prvok na štruktúrovanie disku, pretože analyzujeme každé kruhové miesto a pixely v každom mieste, takže prvok tvaru disku je užitočnejší.
Akonáhle je obrázok filtrovaný, je možné ho vyčistiť pomocou funkcie „imclose“, aby sa odstránili čierne škvrny medzi filtrovanými bielymi pixelmi na obrázku a uzavreli sa všetky medzery okolo neho. Kompletne spracovaný obraz je potom možné vykresliť do druhého subplotu vopred prideleného obrázku, čo umožní porovnanie surového a filtrovaného obrázku.
Krok 4: Izolácia nádoru pomocou eliptickej masky
Svetlé škvrny nádoru je potom možné izolovať z hlavného filtrovaného obrazu pomocou vopred vygenerovanej eliptickej masky. Na vytvorenie tejto masky by ste mali poznať veľkosť pôvodného, surového skenovaného obrazu MRI a pomocou jeho dĺžky riadkov a stĺpcov ako súradníc x a y prideliť stredové súradnice pre eliptický trenažér. Os y sme nastavili ako hlavnú os s polomerom 50 jednotiek od stredu a vedľajšiu os s polomerom 40 jednotiek od stredu.
Na vygenerovanie karteziánskej roviny s dvojrozmernými súradnicami mriežky na základe súradníc obsiahnutých vo vektoroch od funkcie 1 do dĺžky osi x a od 1 do dĺžky osi obrazu sme použili funkciu MATLAB „sieťová mriežka“.. Col je matica, kde každý riadok je kópiou osi x, a riadok je maticou, kde každý stĺpec je kópiou osi y. Kartézska mriežka reprezentovaná súradnicami Col a Row má riadky dĺžky (1: Y_Size) a stĺpce dĺžky (1: X_Size). Na určenie rovnice elipsy v závislosti od vopred určeného polomeru a súradníc stredu použite indexy Col a Row generované karteziánskou mriežkou. Eliptický obrys je teraz možné vyplniť bielymi pixelmi zistenými z nádorových škvŕn.
Pomocou vopred vygenerovanej eliptickej masky môžeme z filtrovaného obrázku orezať konkrétny nádor, ktorý chcete analyzovať. Eliptická maska detekuje, ktoré škvrny logicky zapadajú do obrysu elipsy, a akceptuje to ako bod na filtrovanom obrázku, ktorý je prijateľný ako nádor. Funkcia „bwareafilt“potom zo snímky odfiltruje všetky ostatné objekty mimo tohto detegovaného nádoru. Použili sme konkrétne okno 500 x 4000 empiricky na základe rozmerov všetkých obrázkov. Potom sme použili ďalšie posuvné okno s „strel“ako plochý štruktúrny prvok v tvare disku s väčším polomerom susedstva 6, aby sme uzavreli medzery medzi každým centrálnym bielym pixelom v detekovanom nádore. Zistené miesto nádoru sa ďalej vyčistí pomocou „imclose“, aby sa ďalej eliminovali čierne pixely a vyplnili všetky otvory „imfill“. Tento spracovaný nádor môže byť potom zobrazený v treťom subplote v predbežne pridelenom grafe, aby sa poskytlo porovnanie izolovaného nádoru s pôvodnými a filtrovanými obrázkami skenu MRI.
Krok 5: Obrys nádoru
Teraz, keď je nádor izolovaný maskou, je možné ho načrtnúť a zobraziť na pôvodnom obrázku, aby sa ukázala jeho presná poloha. Na tento účel sme použili funkciu „hranice hraníc“na sledovanie predtým detegovaného nádoru s obrysom. Špecifikovali sme obrys, aby nezahŕňal otvory v nádorovom objekte, ako je načrtnutý. Toto je možné vykresliť na pôvodný surový obrázok pomocou slučky „for“, ktorá vykreslí obrys okolo nádoru pomocou indexov riadka so šírkou čiary 1,5 pixelu. Tento obrys sa potom vynesie na surový obrázok, ktorý ukazuje presnú veľkosť a umiestnenie nádoru vzhľadom na pôvodný sken MRI.
Krok 6: Analýza fyzikálnych vlastností nádorov
Izolované a načrtnuté miesto nám môže poskytnúť užitočné informácie o veľkosti, oblasti a umiestnení nádoru. Na detekciu vlastností nádoru, ktoré sa týkajú oblasti, obvodu, centroidov a hodnoty indexu pixelov, sme použili funkciu „regionprops“. Táto hodnota indexu pixelov nám dáva jednotky skutočného sveta pre každý pixel každého obrázku, jedinečné pre každé skenovanie. Tieto vlastnosti je potom možné previesť na jednotky milimetrov v reálnom svete. Empirické informácie, ktoré nám program poskytuje, sú jedinečné pre každé vyšetrenie MRI a sú mimoriadne užitočné pri určovaní veľkosti, umiestnenia a typu nádoru, ktoré môžu používatelia analyzovať a začleniť do grafického používateľského rozhrania.
Odporúča:
Detekcia vibrácií pomocou modulu snímača kohútika s piezoelektrickým šokom: 6 krokov
Detekcia vibrácií pomocou piezoelektrického modulu snímača klepania: V tomto návode sa naučíme detekovať otrasy pomocou jednoduchého piezoelektrického vibračného modulu a Visuina. Pozrite si ukážkové video
Detekcia objektov pomocou dosiek Sipeed MaiX (Kendryte K210): 6 krokov
Detekcia objektov pomocou dosiek Sipeed MaiX (Kendryte K210): Ako pokračovanie môjho predchádzajúceho článku o rozpoznávaní obrázkov pomocou dosiek Sipeed MaiX Boards som sa rozhodol napísať ďalší návod zameraný na detekciu objektov. V poslednej dobe sa s čipom Kendryte K210 objavil nejaký zaujímavý hardvér, vrátane S
Jednoduchá detekcia farieb pomocou OpenCV: 6 krokov
Jednoduchá detekcia farieb pomocou OpenCV: Ahoj! Dnes ukážem jednoduchú metódu detekcie farby zo živého videa pomocou OpenCV a pythonu. V zásade len otestujem, či je požadovaná farba v pozadí alebo nie a pomocou modulov OpenCV túto oblasť zamaskujem a
Detekcia objektov pomocou Dragonboard 410c alebo 820c pomocou OpenCV a Tensorflow .: 4 kroky
Object Detection W/ Dragonboard 410c or 820c using OpenCV and Tensorflow .: This instructables popisuje how to install OpenCV, Tensorflow, and machine learning frameworks for Python 3.5 to run the Object Detection
Ako urobiť test sluchu pre dospelých pomocou MATLABu: 6 krokov
Ako urobiť test sluchu pre dospelých pomocou MATLABu: UPOZORNENIE: Náš test NIE JE lekárskou diagnostikou a nemal by sa používať ako taký. Ak chcete presne zmerať sluch, navštívte lekára. S použitím materiálov, ktoré sme už mali, naša skupina urobila test sluchu. Náš test je určený len pre dospelých a dospievajúcich