Sisällysluettelo:
- Vaihe 1: Mammogrammitietojen järjestäminen
- Vaihe 2: Kuvankäsittely
- Vaihe 3: Kynnyskoodi
- Vaihe 4: Poikkeavuuksien löytäminen jokaiselle binaarikuvalle
- Vaihe 5: Diagnosoidun massan sijainnin ja koon piirtäminen visuaalista vertailua varten
- Vaihe 6: Toisen vertailumenetelmän käyttöönotto
- Vaihe 7: Kerättyjen tietojen analysointi
- Vaihe 8: Tee oma luokittelija
- Vaihe 9: Parannuksia? Ajatuksia?
Video: Vaihtelevien harmaasävyjen intensiteettikynnysten käyttäminen Mammogram -kuvien poikkeavuuksien visualisointiin ja tunnistamiseen: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämän projektin tarkoituksena oli tunnistaa ja käyttää parametria harmaasävyisten mammografiakuvien käsittelyyn erilaisista taustakudosluokituksista: rasvainen, rasvainen rauhas ja tiheä kudos. Tätä luokitusta käytetään, kun radiologit analysoivat mammografioita ja heidän on harkittava, peittääkö kudosten tiheys mahdolliset poikkeavuudet, kuten vauriot tai kasvaimet. Tämä johtuu siitä, että sekä normaalit fysiologiset rakenteet, kuten rauhaskudos että kuituinen sidekudos. ja epänormaalit morfologiat, kuten kalkkeutumat ja kasvaimet, näyttävät mammografialla erittäin kirkkailta, kun taas vähemmän tiheä rasvakudos näyttää mustalta. Siksi oli asianmukaista ohjelmoida luokittelija, joka pystyy manipuloimaan pikselien intensiteettitasoja parhaiten visualisoimaan ja tunnistamaan massat.
Vaihe 1: Mammogrammitietojen järjestäminen
Yksi ensimmäisistä asioista, jotka tajusin tarvitsevani, oli tietojen järjestäminen hyvin selkeällä, ytimekkäällä ja helposti saavutettavalla tavalla. Nämä ovat muuttujia, jotka otin mammografioiden mini-MIAS-tietokannasta. Tein kaksi matriisia. Yksi sisältää 4 saraketta:
- Kuvan numero:
- x massan koordinaatti
- y massakoordinaatti
- Massasäde: (Tämä määritteli massan likimääräisen koon
Toinen ryhmä sisälsi luokitustietoja:
- Taustakudoksen tyyppi: rasvainen (F), rasvainen rauhas (G), tiheä (D)
- Massan kuvaus: Hyvin määritelty (CIRC), spiculated (SPIC), huonosti määritelty muu (MISC) Arkkitehtoninen vääristymä (ARCH), epäsymmetria (ASYM), normaali (NORM)
- Diagnoosit: Hyvänlaatuinen (B), Pahanlaatuinen (M)
Koska tämän hankkeen tavoitteena oli määrittää paras kynnys kullekin taustakudostyypille, kaikki tiedot eivät olleet tarpeen. Voit kuitenkin laajentaa projektiasi sisältämään tekstuurianalyysin ja testata luokittelijaasi tunnettujen massakuvausten perusteella.
Sivuhuomautus: Tietokanta, josta sain diagnosoidut mammografiakuvat, järjesti kunkin mammografian tiedot tekstitiedostoon erillään kuvista. Minun oli lievästi vaikeaa poimia tiedot tekstitiedostosta ja järjestää taulukkomuodoiksi, mutta seuraava linkki oli erittäin hyödyllinen kaiken selvittämisessä. Vaihtoehtoisesti voit vain säätää yllä liittämääni koodia tarkoituksiasi varten.
Mammografiatiedostomuoto: mdb001 G CIRC B 535425197
mdb002 G CIRC B 522280 69
TextScan -ohje: https://www.mathworks.com/help/matlab/ref/textsca… Mammografiatietokanta:
Vaihe 2: Kuvankäsittely
Toinen asia, joka tuli esille, kun keksin kuinka tunnistaa massat, oli se, että monien epänormaalien mammografioiden osalta en voinut visuaalisesti kertoa, missä poikkeavuus oli tai kuinka suuri se oli. Ilmeisesti, koska en ole kokenut radiologi, sitä odotettiin. Kuitenkin helpoin tapa löytää poikkeavuuksia (pitkien Google -hakujeni mukaan) oli tarkastella kirkkaiden ja tummien alueiden pitoisuuksia. Käytin ensisijaisesti adapthisteq -toimintoa parantaakseni kuvan kontrastia ja sekoittamalla sitten kuvan binaariseksi kuvaksi kokeilemaan eri kynnystasoja.
- adapthisteq: Tämä toiminto muuttaa harmaasävy- ja rgb -kuvien intensiteettiarvoja kontrastin rajoitetun mukautuvan histogrammin tasauksen avulla. Toisin sanoen se säätää intensiteettiarvojen histogrammin tietyn jakautumistyypin mukaan. Tämän toiminnon matematiikkalinkki on alla alla lisätietoa varten.
- imbinarize: luo binäärikuvan harmaasävyisestä kuvasta määrittämällä kaikki tietyn intenistisen alueen yläpuolella olevat pikselit arvoon 1s ja sen alapuolella olevat pikselit.
Vaihe 3: Kynnyskoodi
A for loop käytetään binarisoimaan mammografia vaihtelevilla kynnyksillä. Suuremman kuvanäkymän saamiseksi for -silmukka sisältää koodin vaiheista 3 vaiheeseen 7. Joten jokainen binäärikuva analysoidaan poikkeavuuksien varalta. Lisäksi tämä silmukalle on koteloitu toiseen silmukkaan, joka tuo uuden mammografiakuvan tietokannasta jokaisessa iteraatiossa.
Vaihe 4: Poikkeavuuksien löytäminen jokaiselle binaarikuvalle
Käsittelin edelleen binäärikuvia käyttämällä strel -toimintoa yhdessä imopen -tekniikan kanssa taustamelun poistamiseksi. Edellisen vaiheen binäärikuva käännetään ja suodatetaan käyttämällä SE: n määrittämää naapurustoa. Sitten käytin bwlabelia merkitsemään kaikki alueet, joissa oli vähintään 8 yhdistettyä pikseliä.
Aluetukitoimintoa käytettiin jokaisen bwlabel -tunnistetun paikan keskipisteen ja alueen ominaisuuksien löytämiseen.
Sitten kaikki yli 500 pikselin suuret paikat tunnistettiin ismemberin avulla. Tunnistettujen pisteiden keskikohdat piirrettiin kuvaan, joka näytti vain pisteitä, joiden pinta -ala oli suurempi kuin 500. Area Identified = ismember (merkitty, merkinnät (lajiteltu alueet> 500)); Pisteet = tunnistettu> 0;
Vaihe 5: Diagnosoidun massan sijainnin ja koon piirtäminen visuaalista vertailua varten
Halusin nähdä, olivatko bwlabelin löytämät paikat oikeita. Tein tämän kahdella tavalla. Analysoin ensin luokittelijan tarkkuutta tekemällä visuaalisen vertailun. Piirroin yksinkertaisesti poikkeavuuden todellisen koon ja sijainnin (punainen ympyrä) sekä koodilla määritetyn sijainnin (sininen x) esikäsitellyssä mammografiassa. Yllä olevat kuusi kuvaa osoittavat harmaasävyisen kynnysarvon nostamisen vaikutukset.
Vaihe 6: Toisen vertailumenetelmän käyttöönotto
Toinen tapa testasin luokittelijaa ja kynnysarvoja määrittämällä, olivatko luokittelijan löytämät sijainnit tietyn etäisyyden sisällä diagnosoiduista poikkeavuuden koordinaateista. Tallensin kynnysarvot, joiden osalta ainakin yksi tunnistetuista pisteistä oli 1,5*r: n sisällä tunnetusta poikkeavuudesta, erilliseen tekstitiedostoon nimeltä Mammogram Data. Tämän tarkoituksena oli löytää vähimmäiskynnys, jota luokittelijani tarvitsee havaitakseen poikkeavuuden.
Vaihe 7: Kerättyjen tietojen analysointi
Suoritin ohjelman kaikille epänormaaleille mammografiakuville ja minulle jäi valtava tekstitiedosto. Jotta voisin löytää parhaan kynnyksen kullekin kudostyypille, järjestin tiedot kudostyypeittäin ja piirsin histogrammin kunkin kudostyypin kynnysarvoista. Oikea kynnysarvo päätettiin, mikä kynnys antoi tarkimmat tulokset kullekin kudostyypille. Tallensin nämä tiedot ladattavaksi luokittelijaani.
Vaihe 8: Tee oma luokittelija
Kun olen löytänyt sopivimmat kynnysarvot kullekin kudostyypille, muokkasin alkuperäistä koodiani saadakseni käyttäjän syöttämään kuvan numeron ja kudostyypin valitakseen kynnyksen mammografikuvalle. Sitten piirsin diagnosoidun mammografian sijainnin ja löydetyt paikat alkuperäisissä mammografiakuvissa. Halusin tehdä tästä hauskempaa, joten ohjelmoin toiminnon rajaamaan ROI: ta ympäröivän pyöreän alueen. Käyttäjää kehotetaan valitsemaan keskipiste ja useita pisteitä, jotka kattavat parhaiten ROI: n. Liitin tänne molemmat matlab -tiedostot.
Vaihe 9: Parannuksia? Ajatuksia?
Kirjoittaessani tätä opettavaista aloitan näkemään monia parannuksia, joita voisin tehdä luokittelijaan, kuten löytää keinoja erottaa erilaiset massatyypit, jotka on tunnistettu tekstuurianalyysin perusteella, tai parantaa SandBoxProjectin tarkkuustestauksen osiota. tiedosto. Koska tämä oli projekti, jolla oli määräaika, jouduin pysähtymään jonnekin, mutta toivon, että voin käyttää oppimiani kuvankäsittelytaitoja muissa sovelluksissa. Liitin myös tiedoston, jota käytettiin eräprosessoimaan kaikki epänormaalit mammografiakuvat.
Suositeltava:
Guitar Hero Guitarin käyttäminen zoomauksen ohjaamiseen (vain Windows): 9 vaihetta
Guitar Hero Guitarin käyttäminen zoomauksen ohjaamiseen (vain Windows): Koska olemme keskellä maailmanlaajuista pandemiaa, monet meistä ovat jumissa kotisiivouksessa ja liittyneet Zoomin kokouksiin. Jonkin ajan kuluttua tästä voi tulla hyvin tylsää ja tylsää. Kun siivosin kotiani, löysin vanhan Guitar Hero -kitaran, joka heitettiin t
[2020] IPhonen tai iPadin ja Micro: bit Game Pad -sovelluksen käyttäminen RC -auton ohjaamiseen: 23 vaihetta
[2020] IPhonen tai IPadin ja Micro: bit Game Pad -sovelluksen käyttäminen RC -auton ohjaamiseen: Oletko ajatellut käyttää iPhonea tai iPadia micro: bitin ohjaamiseen? Tiedätkö, että Micro: bit Educational Foundation tarjoaa iOS -sovelluksen Sovelluskauppa? Hae " micro: bit " App Storesta ja voit ladata sovelluksen ilmaiseksi
Visuino Induktiivisen läheisyysanturin käyttäminen: 7 vaihetta
Visuino Induktiivisen läheisyysanturin käyttäminen: Tässä opetusohjelmassa käytämme induktiivista läheisyysanturia ja Arduino UNO: hon ja Visuinoon yhdistettyä LEDiä metallin läheisyyden havaitsemiseen
RFID-RC522-moduulin käyttäminen Arduinon kanssa: 5 vaihetta
RFID-RC522-moduulin käyttäminen Arduinon kanssa: Tässä opetusohjelmassa esitän RFID-moduulin perusperiaatteen yhdessä sen tunnisteiden ja sirujen kanssa. Annan myös lyhyen esimerkin projektista, jonka tein käyttämällä tätä RFID -moduulia, jossa on RGB -LED. Kuten tavallisesti Insissäni
Radion käyttäminen salaman tunnistamiseen: 4 vaihetta
Radion käyttäminen salaman tunnistamiseen: Pieniä radioita voi käyttää muuhun kuin musiikin kuunteluun tai urheiluun. Kaikkia radioita (myös halpoja vain AM -radioita) voidaan käyttää salaman ja muiden ilmakehän ilmiöiden havaitsemiseen. Koulutetun korvan avulla voit jopa määrittää, liikkuuko salama vetämällä