Uporaba pragov intenzivnosti variabilne lestvice sive za vizualizacijo in prepoznavanje nenormalnosti na slikah mamografa: 9 korakov
Uporaba pragov intenzivnosti variabilne lestvice sive za vizualizacijo in prepoznavanje nenormalnosti na slikah mamografa: 9 korakov
Anonim
Uporaba pragov intenzivnosti variabilne lestvice sive za vizualizacijo in prepoznavanje nenormalnosti pri slikah mamogramov
Uporaba pragov intenzivnosti variabilne lestvice sive za vizualizacijo in prepoznavanje nenormalnosti pri slikah mamogramov

Namen tega projekta je bil identificirati in uporabiti parameter za obdelavo slik mamografske slike v sivih tonih različnih klasifikacij tkiv v ozadju: Fatty, Fatty Glandular in Dens Tissue. Ta razvrstitev se uporablja, ko radiologi analizirajo mamografije in morajo razmisliti, ali bo gostota tkiva zakrila kakršne koli nepravilnosti, kot so lezije ali tumorji. To je zato, ker tako normalne fiziološke strukture, kot je žlezno tkivo kot vlaknasto vezivno tkivo. nenormalne morfologije, kot so kalcifikacije in tumorji, bodo na mamografu videti zelo svetle, manj gosto maščobno tkivo pa črno. Zato je bilo primerno programirati klasifikator, ki lahko manipulira z intenzivnostjo slikovnih pik za najboljšo vizualizacijo in identifikacijo mas.

1. korak: Organiziranje mamografskih podatkov

Organiziranje mamografskih podatkov
Organiziranje mamografskih podatkov

Ena prvih stvari, za katere sem ugotovil, da jih moram obravnavati, je bilo organiziranje podatkov na zelo jasen, jedrnat in dostopen način. To so spremenljivke, ki sem jih izvlekel iz baze podatkov mamogramov mini-MIAS. Ustvaril sem dva niza. Ena vsebuje 4 stolpce:

  1. Številka slike:
  2. x koordinata mase
  3. y koordinata mase
  4. Polmer mase: (To je določilo približno velikost mase

Druga matrika je vsebovala klasifikacijske podatke:

  1. Vrsta ozadnega tkiva: maščobno (F), maščobno žlezno (G), gosto (D)
  2. Opis mase: dobro opredeljen (CIRC), zašiljen (SPIC), slabo definiran drug (MISC) arhitekturno popačenje (ARCH), asimetrija (ASYM), normalno (NORM)
  3. Diagnoze: benigna (B), maligna (M)

Ker je bil cilj tega projekta določiti najboljši prag za vsako vrsto tkiva ozadja, niso bile potrebne vse informacije. Lahko pa svoj projekt razširite na analizo teksture in preizkusite svoj klasifikator glede na znane masovne opise.

Stranska opomba: Baza podatkov, iz katere sem dobil diagnosticirane slike mamografa, je podatke o vsakem mamografu organizirala v besedilni datoteki, ločeni od slik. Rahlo težko mi je bilo izvleči podatke iz besedilne datoteke in jih razvrstiti v matrične oblike, vendar je bila naslednja povezava v veliko pomoč pri ugotavljanju vsega tega. Druga možnost je, da samo prilagodite kodo, ki sem jo prilepila zgoraj, za vaše namene.

Format datoteke mamograma: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

Pomoč TextScan: https://www.mathworks.com/help/matlab/ref/textsca… Baza podatkov mamogramov:

2. korak: obdelava slik

Obdelava slik
Obdelava slik

No, druga stvar, ki se je pojavila, ko sem ugotavljal, kako prepoznati mase, je, da pri mnogih nenormalnih mamografih nisem mogel vizualno povedati, kje je nenormalnost ali kako velika je. Očitno, ker nisem izkušen radiolog, je bilo pričakovano. Najbolj enostaven način za odkrivanje nepravilnosti (glede na moje dolgotrajno iskanje po Googlu) je bil pogled na koncentracije svetlih in temnih območij. Uporabil sem predvsem funkcijo adapthisteq za povečanje kontrasta slike in nato imbinariziral za pretvorbo slike v binarno sliko za eksperimentiranje z različnimi mejnimi vrednostmi.

  1. adapthisteq: Ta funkcija pretvori vrednosti intenzivnosti slik in slik rgb z uporabo prilagodljivega izenačevanja histograma, omejenega s kontrastom. Z drugimi besedami, histogram vrednosti intenzivnosti prilagodi določeni vrsti porazdelitve. Povezava matematičnih del za to funkcijo je spodaj priložena za nadaljnje branje.
  2. imbinarize: ustvari binarno sliko iz slike v sivi lestvici z dodelitvijo vseh slikovnih pik nad določeno intenziteto na 1s in slikovnih pik pod to vrednostjo 0. S to funkcijo sem preizkusil optimalen prag za zmanjšanje hrupa tkiv v ozadju.

3. korak: Koda praga

Koda praga
Koda praga

Zanka for se uporablja za binarno mamografijo z različnimi pragovi. Za večji pogled slike zanka for vsebuje kodo od 3. do 7. koraka. Tako bo vsaka binarna slika analizirana glede nenormalnosti. Poleg tega je zanka for zaprta v drugo zanko for, ki uvozi novo sliko mamografa iz baze podatkov v vsaki iteraciji.

4. korak: Odkrivanje nenormalnosti za vsako binarno sliko

Odkrivanje nenormalnosti za vsako binarno sliko
Odkrivanje nenormalnosti za vsako binarno sliko
Odkrivanje nenormalnosti za vsako binarno sliko
Odkrivanje nenormalnosti za vsako binarno sliko

Nadalje sem obdelal binarne slike s pomočjo strel funkcije skupaj z imopen, da odstranim šum v ozadju. Binarna slika iz prejšnjega koraka je obrnjena in filtrirana z uporabo soseske, ki jo definira SE. Nato sem z bwlabel označil vsa področja, ki so imela vsaj 8 povezanih pik.

Funkcija regijskih regij je bila uporabljena za iskanje centroidnih in površinskih lastnosti vsake točke, označene z bwlabel.

Nato so bile z ismemberom identificirane vse točke, večje od 500 slikovnih pik. Centroidi za identificirane pike so bili narisani na sliko, ki je prikazala le lise, večje po površini od 500. Identificirano območje = ismember (Označeno, oznake (sortirano Območje> 500)); Pike = identificirane> 0;

5. korak: Načrtujte lokacijo in velikost diagnosticirane mase za vizualno primerjavo

Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo
Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo
Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo
Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo
Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo
Narišemo lokacijo in velikost diagnosticirane mase za vizualno primerjavo

Želel sem preveriti, ali so lise, ki jih je našel bwlabel, pravilne. To sem naredil na dva načina. Natančnost svojega klasifikatorja sem najprej analiziral z vizualno primerjavo. Preprosto sem narisal dejansko velikost in lokacijo nenormalnosti (rdeč krog) ter lokacijo, ki jo določa koda (modri x) na vnaprej obdelani sliki mamografa. Šest zgornjih slik prikazuje učinke povečanja praga vrednosti sivine.

6. korak: Izvajanje druge primerjalne metode

Izvajanje druge primerjalne metode
Izvajanje druge primerjalne metode

Drugi način, s katerim sem preizkusil klasifikator in mejne vrednosti, je bil ugotoviti, ali so lokacije, ki jih je klasifikator našel, na določeni razdalji od koordinat diagnosticirane nepravilnosti. Mejne vrednosti, pri katerih je bila vsaj ena od identificiranih točk znotraj 1,5*r od znane nenormalnosti, sem shranil v ločeno besedilno datoteko z imenom Mamogram Data. Namen tega je bil najti minimalni prag, ki je potreben, da moj klasifikator ugotovi nepravilnosti.

7. korak: Analiza zbranih podatkov

Analiza zbranih podatkov
Analiza zbranih podatkov
Analiza zbranih podatkov
Analiza zbranih podatkov

Program sem zagnal na vseh nenormalnih slikah mamografa in ostala mi je velika besedilna datoteka s podatki. Da bi našli najboljši prag za vsako vrsto tkiva, sem podatke razvrstil po vrsti tkiva in narisal histogram mejnih vrednosti za vsako vrsto tkiva. Ustrezna mejna vrednost je bila določena glede na to, kateri prag zagotavlja najbolj natančne rezultate za vsako vrsto tkiva. Te podatke sem shranil za nalaganje v svoj klasifikator.

8. korak: Ustvarite svoj klasifikator

Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!
Ustvarjanje lastnega klasifikatorja!

Ko sem našel najprimernejše mejne vrednosti za vsako vrsto tkiva, sem uredil svojo prvotno kodo, da je uporabnik vnesel številko slike in vrsto tkiva, da izbere prag za sliko mamografa. Nato sem narisal diagnosticirano mamografsko lokacijo z najdenimi lokacijami na izvirnih slikah mamografa. Želel sem narediti to bolj zabavno, zato sem programiral funkcijo za obrezovanje krožnega območja okoli ROI. Uporabniku bi bilo naročeno, da izbere središčno točko in več točk, ki najbolje zajemajo donosnost naložbe. Sem sem priložil obe datoteki matlab.

9. korak: Izboljšave? Kakšne misli?

Ko sem pisal ta navodila, začenjam opažati številne izboljšave, ki bi jih lahko naredil v klasifikatorju, na primer iskanje načinov za razlikovanje med različnimi vrstami mas, opredeljenih na podlagi analize teksture, ali izboljšanje mojega preizkusa natančnosti v razdelku SandBoxProject. mapa. Ker je bil to projekt z rokom, sem se moral nekje ustaviti, vendar upam, da bom lahko uporabil veščine obdelave slik, ki sem se jih naučil v drugih aplikacijah. Priložil sem tudi datoteko, ki je bila uporabljena za paketno obdelavo vseh nenormalnih slik mamografa.