Cuprins:

Detectarea RMN a tumorii cerebrale folosind Matlab: 6 pași
Detectarea RMN a tumorii cerebrale folosind Matlab: 6 pași

Video: Detectarea RMN a tumorii cerebrale folosind Matlab: 6 pași

Video: Detectarea RMN a tumorii cerebrale folosind Matlab: 6 pași
Video: Tumorile cerebrale, simptome și tratament - Prof. Dr. Alexandru Vlad Ciurea | SANADOR 2024, Iulie
Anonim
Detectarea RMN a tumorilor cerebrale utilizând Matlab
Detectarea RMN a tumorilor cerebrale utilizând Matlab

De: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin

Acest cod MATLAB este un program pentru a detecta dimensiunea, forma și locația exactă a unei tumori găsite în scanarea RMN a creierului pacientului. Acest program este conceput să funcționeze inițial cu detectarea tumorii în scanările RMN cerebrale, dar poate fi utilizat și pentru diagnosticarea cancerului și în alte scanări de organe.

Următoarele instrucțiuni vor descrie mai întâi metodele de analiză a imaginii prin filtrarea și curățarea scanării RMN, prin binarizare, filtrare mediană și ferestre glisante. Apoi, va instrui cum să se izoleze tumora folosind o mască eliptică pre-generată și să o filtreze în continuare pentru a contura perimetrul formei tumorii.

Odată ce tumora este detectată, instrucțiunile vor descrie în continuare modul de încorporare a acestui program într-o interfață grafică de utilizator (GUI). Pe parcursul acestor instrucțiuni, codul și fișierele corespunzătoare vor fi atașate pentru a explica modul în care funcționează această analiză scanare RMN.

Câteva lucruri de știut, descărcat și pregătit înainte de a continua cu acest instructable: 1. Asigurați-vă că ați descărcat cea mai recentă versiune a MATLAB. Puteți instala R2018b aici:

2. Pentru a rula acest program, trebuie să aveți acces la fișierele de scanare cerebrală RMN. Deși unele pot fi întotdeauna găsite din imaginile Google, o analiză amănunțită și precisă poate fi efectuată din imagini adecvate ale diferitelor straturi de scanări ale creierului pentru fiecare pacient. Puteți accesa fișierele pentru 20 de pacienți diferiți cu glioblastom pre și post tratament din această bază de date:

3. Accentul acestui program și diversele metode care ghidează acest proiect sunt prezentate în această lucrare de cercetare:

Pasul 1: inițiați interfața grafică de utilizator (GUI)

Inițierea interfeței grafice de utilizator (GUI)
Inițierea interfeței grafice de utilizator (GUI)
Inițierea interfeței grafice de utilizator (GUI)
Inițierea interfeței grafice de utilizator (GUI)

Primul pas ar fi crearea și inițierea interfeței grafice a utilizatorului, GUI. Acest lucru se poate face prin introducerea ghidului în fereastra de comandă, apăsarea enter și crearea unei noi interfețe grafice. Odată ce acest pas este finalizat, puteți începe să creați funcții precum axe, text static, editare text și butoane care vor fi afișate odată ce programul este rulat și utilizatorul poate interacționa. Aceste funcții pot fi editate și manipulate prin inspectorul de proprietăți, totuși cea mai importantă caracteristică care trebuie modificată la crearea acestor funcții este numele etichetei. Este important să schimbați numele etichetei fiecărei funcții care este implementată, deoarece ne va permite să creăm o funcție de apel invers distinctă. Odată ce sunteți mulțumit de aspectul GUI, puteți trece la încărcarea fișierelor DICOM care vor fi afișate în GUI.

Pasul 2: încărcarea și citirea imaginilor RMN în MATLAB

Încărcarea și citirea imaginilor RMN în MATLAB
Încărcarea și citirea imaginilor RMN în MATLAB
Încărcarea și citirea imaginilor RMN în MATLAB
Încărcarea și citirea imaginilor RMN în MATLAB

Pentru a încărca fișierele DICOM, va trebui să inițializați corect funcția de apel înapoi care va fi executată la apăsarea butonului „Încărcați imaginea RMN”. Odată ce acest lucru este finalizat, trebuie să creați o variabilă globală care să afișeze imaginea pe axele mânerelor unde doriți să fie afișată imaginea RMN originală. Imaginile scanate RMN descărcate din baza de date sunt toate fișierele formatate DICOM care trebuie încărcate în directorul MATLAB. Localizați fișierul folosind imgetfile pentru a le încărca în program. Imaginile sunt citite folosind funcția încorporată MATLAB „dicomread”, iar prima imagine brută pentru fiecare fișier este încorporată în axele GUI din stânga folosind imshow.

Funcția încorporată MATLAB „dicominfo” este, de asemenea, extrem de utilă în abordarea tuturor informațiilor fiecărui fișier dicom RMN. Am folosit această funcție pentru a extrage toate informațiile descriptive ale pacienților, cum ar fi sexul, vârsta, greutatea și înălțimea acestora. Această funcție vă oferă, de asemenea, ordinea stivei, care este utilă pentru implementarea programului în interfața grafică cu utilizatorul. Am creat variabile pentru fiecare dintre informațiile descriptive ale pacienților care vor fi utilizate pentru GUI atunci când butonul de detectare este apăsat.

Pasul 3: Filtrarea imaginilor

Filtrarea imaginilor
Filtrarea imaginilor
Filtrarea imaginilor
Filtrarea imaginilor

Odată ce fișierul DICOM al imaginii brute a fost încărcat și citit, imaginea trebuie convertită din scala de gri într-o formă binarizată constând din pixeli alb-negru. Am folosit funcția „imbinarizare” pentru a crea o imagine binară din imaginea brută prin controlarea aspectelor pragului adaptiv la o valoare de sensibilitate de 0,59. Factorul de sensibilitate prag implicit, 0,5 a fost scăzut și nu a putut detecta bloburile și petele mai strălucitoare din imagine, așa că l-am mărit la 0,59.

Imaginea binarizată este apoi procesată printr-un filtru median utilizând funcția ‘medfilt2’ deoarece imaginea binarizată este bidimensională. Am setat fiecare pixel de ieșire să conțină valoarea mediană în vecinătatea 5 x 5 în jurul pixelului corespunzător din imaginea binarizată de intrare. Acest lucru reduce zgomotul și păstrează marginile într-un pătrat de 5 x 5 în jurul fiecărui pixel. Apoi, aplicăm o fereastră glisantă folosind „strel”, pentru a crea un element de structurare plat în formă de disc cu o rază de vecinătate de 2 pentru a identifica fiecare pixel central, de origine, în fiecare cartier de disc. Am folosit un element de structurare a discului, deoarece analizăm fiecare punct circular și pixelii din fiecare spot, astfel încât un element de formă de disc este mai util.

Odată ce imaginea a fost filtrată, poate fi curățată folosind funcția „imclose” pentru a elimina petele negre dintre pixelii albi filtrați din imagine și închide toate golurile din jurul ei. Imaginea complet procesată poate fi apoi trasată în a doua subplotă a figurii prealocate, permițând o comparație între imaginea brută și cea filtrată.

Pasul 4: Izolarea tumorii prin masca eliptică

Izolarea tumorii prin masca eliptica
Izolarea tumorii prin masca eliptica
Izolarea tumorii prin masca eliptica
Izolarea tumorii prin masca eliptica
Izolarea tumorii prin masca eliptica
Izolarea tumorii prin masca eliptica

Punctele luminoase ale tumorii pot fi apoi izolate de imaginea principală filtrată printr-o mască eliptică pre-generată. Pentru a crea această mască, ar trebui să cunoașteți dimensiunea imaginii originale, scanate RMN brute, și folosind lungimea rândului și a coloanei, ca coordonatele x și respectiv y, alocați coordonatele centrale pentru eliptică. Așezăm axa y ca o axă majoră cu o rază de 50 de unități față de centru, iar axa minoră cu o rază de 40 de unități față de centru.

Am folosit funcția MATLAB „meshgrid” pentru a genera un plan cartezian cu coordonate de grilă bidimensionale pe baza coordonatelor conținute în vectori de la 1 la lungimea axei x și de la 1 la lungimea axei y a imaginii. Col este o matrice în care fiecare rând este o copie a axei x, iar Row este o matrice în care fiecare coloană este o copie a axei y. Grila cartesiană reprezentată de coordonatele Col și Row are lungime (1: Y_Size) rânduri și lungime (1: X_Size) coloane. Utilizați indicii Col și Row generați de grila carteziană pentru a determina ecuația elipsei în funcție de raza predeterminată și coordonatele centrale. Conturul eliptic poate fi acum umplut cu pixelii albi găsiți din pete tumorale.

Folosind masca eliptică pre-generată putem extrage tumoarea specifică pe care doriți să o analizați din imaginea filtrată. Masca eliptică detectează care pete se încadrează logic în conturul elipsei și acceptă acest lucru ca un punct de pe imaginea filtrată pentru a fi acceptabil ca tumoră. Funcția „bwareafilt” filtrează apoi din imagine toate celelalte obiecte din afara acestei tumori detectate. Am folosit o fereastră specifică de 500 până la 4000 empiric pe baza dimensiunilor tuturor imaginilor. Am aplicat apoi o altă fereastră glisantă cu „strel” ca element de structurare în formă de disc plat cu o rază de vecinătate mai mare de 6, pentru a închide golurile dintre fiecare pixel alb central din tumora detectată. Pata tumorală detectată este în continuare curățată folosind „imclose” pentru a elimina în continuare pixelii negri și pentru a completa toate găurile cu „imfill”. Această tumoare procesată poate fi apoi afișată în a treia subplotă în graficul prealocat pentru a oferi o comparație între tumoarea izolată și imaginile originale și filtrate ale scanării RMN.

Pasul 5: conturarea tumorii

Schițarea tumorii
Schițarea tumorii
Schițarea tumorii
Schițarea tumorii

Acum, când tumora este izolată cu masca, aceasta poate fi conturată și afișată pe imaginea originală, pentru a arăta locația exactă. Pentru a face acest lucru, am folosit funcția „bwboundaries” pentru a urmări tumora detectată anterior cu un contur. Am specificat conturul pentru a nu include găurile din obiectul tumorii așa cum este conturat. Acest lucru poate fi trasat pe imaginea originală, brută, utilizând o buclă „pentru” care trasează conturul în jurul tumorii folosind indicii liniei cu o lățime a liniei de 1,5 pixeli. Acest contur este apoi trasat pe imaginea brută, arătând dimensiunea exactă și locația tumorii, în raport cu scanarea RMN originală.

Pasul 6: Analiza proprietăților fizice ale tumorilor

Analiza proprietăților fizice ale tumorilor
Analiza proprietăților fizice ale tumorilor
Analiza proprietăților fizice ale tumorilor
Analiza proprietăților fizice ale tumorilor

Punctul izolat și conturat ne poate oferi informații utile despre dimensiunea, aria și localizarea tumorii. Am folosit funcția „regionprops” pentru a detecta proprietățile tumorii care țin de zonă, perimetru, centroizi și valoarea indexului pixelilor. Această valoare a indexului de pixeli ne oferă unitățile lumii reale pentru fiecare pixel al fiecărei imagini, unic pentru fiecare scanare. Aceste proprietăți pot fi apoi convertite în unități reale de milimetri. Informațiile empirice pe care ni le oferă programul sunt unice pentru fiecare scanare RMN și sunt extrem de utile pentru a determina dimensiunea, localizarea și tipul tumorii pe care utilizatorii le pot analiza și încorpora în interfața grafică cu utilizatorul.

Recomandat: