Sisukord:
- 1. samm: käivitage graafiline kasutajaliides (GUI)
- 2. samm: MRI -piltide laadimine ja lugemine MATLAB -is
- 3. samm: pildifiltreerimine
- 4. samm: kasvaja isoleerimine läbi elliptilise maski
- 5. samm: kasvaja kirjeldus
- 6. samm: kasvajate füüsikaliste omaduste analüüsimine
Video: Ajukasvaja MRI tuvastamine Matlabi abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Autorid: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin
See MATLAB -kood on programm, mis tuvastab patsiendi aju MRI -skaneerimisel leitud kasvaja täpse suuruse, kuju ja asukoha. See programm on loodud algselt töötama kasvaja tuvastamisega aju MRI -skaneeringutes, kuid seda saab kasutada ka vähi diagnoosimiseks ka teiste elundite skaneerimisel.
Järgmised juhised kirjeldavad kõigepealt kujutise analüüsi meetodeid MRI skaneerimise filtreerimise ja puhastamise, binariseerimise, mediaanfiltreerimise ja lükandakende abil. Seejärel juhendab see, kuidas kasvajat isoleerida, kasutades eelnevalt loodud elliptilist maski, ja filtreerida see edasi, et visandada kasvaja kuju ümbermõõt.
Kui kasvaja on avastatud, kirjeldatakse juhistes veelgi, kuidas seda programmi graafilisse kasutajaliidesesse (GUI) lisada. Nende juhiste jooksul lisatakse vastav kood ja failid, mis aitavad selgitada, kuidas see MRI -skaneerimise analüüs töötab.
Enne selle juhendiga jätkamist peate teadma, alla laadima ja valmis olema: 1. Veenduge, et MATLABi uusim versioon oleks alla laaditud. R2018b saate installida siit:
2. Selle programmi käivitamiseks peab teil olema juurdepääs MRI aju skaneerimise failidele. Kuigi mõnda neist saab alati Google'i piltidelt leida, saab iga patsiendi jaoks teha põhjalikke ja täpseid analüüse erinevatest aju skaneeringute kihtidest. Sellele andmebaasile pääsete juurde 20 erineva glioblastoomiga patsiendi failidele enne ja pärast ravi:
3. Selle programmi fookus ja mitmesugused meetodid, mis seda projekti juhivad, on välja toodud käesolevas uurimistöös:
1. samm: käivitage graafiline kasutajaliides (GUI)
Esimene samm oleks graafilise kasutajaliidese (GUI) loomine ja käivitamine. Seda saab teha, sisestades käsuaknasse juhendi, vajutades sisestusklahvi ja luues uue GUI. Kui see samm on lõpule viidud, võite hakata looma selliseid funktsioone nagu teljed, staatiline tekst, teksti redigeerimine ja nupud, mis kuvatakse pärast programmi käivitamist ja kasutajaga suhtlemist. Neid funktsioone saab kinnisvarainspektori kaudu redigeerida ja manipuleerida, kuid kõige olulisem funktsioon, mida nende funktsioonide loomisel muuta tuleb, on Sildi nimi. Oluline on muuta iga rakendatud funktsiooni sildi nime, kuna see võimaldab meil luua eristuva tagasihelistamisfunktsiooni. Kui olete oma graafilise kasutajaliidese paigutusega rahul, võite jätkata GUI -s kuvatavate DICOM -failide laadimist.
2. samm: MRI -piltide laadimine ja lugemine MATLAB -is
DICOM -failide laadimiseks peate õigesti initsialiseerima tagasihelistamise funktsiooni, mis käivitatakse nupu „Laadi MRI -pilt” vajutamisel. Kui see on lõpule viidud, peate looma globaalse muutuja, mis kuvaks käepidemete telgedel, kus soovite kuvada algse MRI -pildi. Andmebaasist alla laaditud MRI -skannimispildid on kõik DICOM -vormingus failid, mis tuleb laadida teie MATLAB -i kataloogi. Leidke fail programmi imgetfile abil, et need programmi laadida. Pilte loetakse sisseehitatud MATLAB -funktsiooni „dicomread” abil ja iga faili esimene toores pilt sisestatakse imshow abil vasakusse GUI -telje.
Sisseehitatud MATLAB -funktsioon „dicominfo” on samuti äärmiselt kasulik iga MRI dicom -faili kogu teabe käsitlemiseks. Kasutasime seda funktsiooni, et saada kogu patsientide kirjeldav teave, näiteks nende sugu, vanus, kaal ja pikkus. See funktsioon annab teile ka virnastamise järjekorra, mis on kasulik programmi rakendamiseks graafilises kasutajaliideses. Lõime iga patsiendi kirjeldava teabe jaoks muutujad, mida kasutatakse GUI jaoks tuvastusnupu vajutamisel.
3. samm: pildifiltreerimine
Kui töötlemata pildi DICOM -fail on laaditud ja loetud, tuleb pilt muuta halltoonidest binaarseks vormiks, mis koosneb ainult mustvalgetest pikslitest kohanduva künnise kontrollimise aspekte tundlikkuse väärtusel 0,59. Vaikimisi läve tundlikkuse tegur 0,5 oli madal ja ei suutnud pildilt erksamaid plekke ja laike tuvastada, seega suurendasime seda 0,59 -ni.
Seejärel töödeldakse binariseeritud pilti läbi keskmise filtri, kasutades funktsiooni „medfilt2”, kuna binaarkujutis on kahemõõtmeline. Seadsime iga väljundpiksli sisaldama mediaanväärtust 5 x 5 naabruses vastava piksli ümber sisendbinaarpildis. See vähendab müra ja säilitab servad 5 x 5 ruuduna ümber iga piksli. Järgmisena rakendame lükandakent, kasutades "strel", et luua kettakujuline lame struktureerimisosa, mille naabrusraadius on 2, et tuvastada iga ketta naabruskonna iga keskne lähtepiksel. Kasutasime ketta struktureerivat elementi, kuna analüüsime iga ümmargust punkti ja igas kohas olevaid piksleid, nii et ketta kuju element on kasulikum.
Kui pilt on filtreeritud, saab seda puhastada, kasutades funktsiooni „Lisa”, et eemaldada mustad täpid filtreeritud valgete pikslite vahel pildil ja sulgeda kõik selle ümber olevad lüngad. Täielikult töödeldud pildi saab seejärel joonistada eelnevalt eraldatud joonise teise alamjoonesse, võimaldades võrrelda töötlemata ja filtreeritud pilti.
4. samm: kasvaja isoleerimine läbi elliptilise maski
Kasvaja heledad laigud saab seejärel põhifiltreeritud pildilt eraldada läbi eelnevalt loodud elliptilise maski. Selle maski loomiseks peaksite teadma algse, toores MRI-skaneeritud kujutise suurust ning selle rea ja veeru pikkuse abil, vastavalt x- ja y-koordinaatidena, eraldama elliptilised keskkoordinaadid. Seadsime y-telje peateljeks, mille raadius on keskelt 50 ühikut, ja kõrvaltelje raadiusega 40 ühikut keskelt.
Kasutasime MATLAB funktsiooni „meshgrid”, et luua kahemõõtmeliste võrgukoordinaatidega desarteesia tasand, mis põhineb vektorites sisalduvatel koordinaatidel 1 kuni x-telje pikkus ja 1 kuni pildi y-telje pikkus. Col on maatriks, kus iga rida on x-telje koopia ja Rida on maatriks, kus iga veerg on y-telje koopia. Descartes -ruudustikul, mida tähistavad koordinaadid Col ja Row, on pikkusega (1: Y_Size) ridu ja pikkusega (1: X_Size) veerge. Kasutage Descartes'i ruudustiku poolt genereeritud Col ja Row indekseid, et määrata ellipsivõrrand sõltuvalt etteantud raadiusest ja keskkoordinaatidest. Elliptilise kontuuri saab nüüd täita kasvaja laikudest leitud valgete pikslitega.
Kasutades eelnevalt loodud elliptilist maski, saame filtreeritud pildilt välja lõigata konkreetse kasvaja, mida soovite analüüsida. Elliptiline mask tuvastab, millised laigud sobivad loogiliselt ellipsi piirjoonesse, ja võtab selle filtreeritud pildil kohaks, mis on kasvajana vastuvõetav. Funktsioon „bwareafilt” filtreerib seejärel pildilt välja kõik muud objektid väljaspool seda tuvastatud kasvajat. Kõigi piltide mõõtmete põhjal kasutasime empiiriliselt 500 kuni 4000 spetsiifilist akent. Seejärel rakendasime avastatud kasvaja iga valge valge piksli vaheliste lünkade sulgemiseks teise lükandakna, millel oli lame kettakujuline struktuurielement, mille naabrusraadius oli 6. Tuvastatud kasvajapiirkonda puhastatakse veelgi, kasutades mustade pikslite edasiseks kõrvaldamiseks "imclose" ja täitke kõik augud "imfill" -ga. Seda töödeldud kasvajat saab seejärel kuvada eelnevalt jaotatud graafiku kolmandas alamplokis, et võrrelda isoleeritud kasvajat ja MRI skaneerimise originaal- ja filtreeritud pilte.
5. samm: kasvaja kirjeldus
Nüüd, kui kasvaja on maskiga isoleeritud, saab selle täpse asukoha näitamiseks visandada ja kuvada esialgsel pildil. Selleks kasutasime funktsiooni „bwboundaries”, et jälgida eelnevalt avastatud kasvajat kontuuriga. Me täpsustasime kontuuri, et see ei sisaldaks kasvajaobjekti auke, nagu see on joonistatud. Seda saab joonistada esialgsele toores pildile, kasutades silmust „for”, mis joonistab kontuuri kasvaja ümber, kasutades joone indekseid, mille joone laius on 1,5 pikslit. Seejärel joonistatakse see kontuur toorkujutisele, näidates kasvaja täpset suurust ja asukohta võrreldes esialgse MRI -skaneerimisega.
6. samm: kasvajate füüsikaliste omaduste analüüsimine
Isoleeritud ja visandatud koht võib anda meile kasulikku teavet kasvaja suuruse, piirkonna ja asukoha kohta. Kasutasime funktsiooni „regionprops”, et tuvastada kasvaja omadusi, mis on seotud piirkonna, perimeetri, tsentroidide ja pikslite indeksi väärtusega. See pikslite indeksi väärtus annab meile reaalse maailma ühikud iga pildi iga piksli kohta, iga skaneerimise jaoks ainulaadne. Neid omadusi saab seejärel muuta reaalmaailma ühikuteks millimeetrites. Programmi poolt saadud empiiriline teave on iga MRI skaneerimise jaoks ainulaadne ja on äärmiselt kasulik kasvaja suuruse, asukoha ja tüübi määramisel, mida kasutajad saavad analüüsida ja lisada graafilisse kasutajaliidesesse.
Soovitan:
Vibratsioonide tuvastamine piesoelektrilise löögi kraanianduri mooduli abil: 6 sammu
Vibratsioonide tuvastamine piesoelektrilise põrutuskraani andurimooduli abil: Selles õpetuses õpime, kuidas lihtsa piesoelektrilise anduri vibratsioonimooduli ja Visuino abil löögivibratsioone tuvastada. Vaadake näidisvideot
Reaalajas seadme tuvastamine EM-i jalajälgede abil: 6 sammu
Reaalajas seadme tuvastamine EM-i jalajälgede abil: see seade on ette nähtud erinevate elektroonikaseadmete klassifitseerimiseks nende EM-signaalide järgi. Erinevate seadmete puhul on nende poolt eraldatud erinevad EM -signaalid. Oleme välja töötanud IoT lahenduse elektrooniliste seadmete tuvastamiseks osakeste abil
Raspberry Pi juhtimine Matlabi abil: 5 sammu
Raspberry Pi juhtimine Matlabi abil: Hei, see õpetus käsitleb peata vaarika pi juhtimist matlabi abil. Võimalik, et peate uuema vaarika pi plaadi toetamiseks installima matlabi uusimale versioonile
Lihtne värvide tuvastamine OpenCV abil: 6 sammu
Lihtne värvide tuvastamine OpenCV abil: Tere! Täna näitan lihtsat meetodit värvide tuvastamiseks reaalajas videost OpenCV ja python abil. Põhimõtteliselt katsetan lihtsalt, kas vajalik värv on taustraamis olemas või mitte, ja OpenCV moodulite abil maskeerin selle piirkonna ja
Täiskasvanute kuulmistesti tegemine MATLABi abil: 6 sammu
Täiskasvanute kuulmiskatse tegemine MATLABi abil: TÄHELEPANU: Meie test EI OLE meditsiiniline diagnostika ja seda ei tohiks sellisena kasutada. Kuulmise täpseks mõõtmiseks pöörduge arsti poole. Kasutades juba olemasolevaid materjale, tegi meie rühm kuulmistesti. Meie test on mõeldud ainult täiskasvanutele ja teismelistele