Sisukord:

Erinevate halltoonide intensiivsuslävede kasutamine mammograafia piltide kõrvalekallete visualiseerimiseks ja tuvastamiseks: 9 sammu
Erinevate halltoonide intensiivsuslävede kasutamine mammograafia piltide kõrvalekallete visualiseerimiseks ja tuvastamiseks: 9 sammu

Video: Erinevate halltoonide intensiivsuslävede kasutamine mammograafia piltide kõrvalekallete visualiseerimiseks ja tuvastamiseks: 9 sammu

Video: Erinevate halltoonide intensiivsuslävede kasutamine mammograafia piltide kõrvalekallete visualiseerimiseks ja tuvastamiseks: 9 sammu
Video: Como subirá XRP tras los ETF de Bitcoin? 2024, November
Anonim
Erinevate halltoonide intensiivsuslävede kasutamine mammogrammipiltide kõrvalekallete visualiseerimiseks ja tuvastamiseks
Erinevate halltoonide intensiivsuslävede kasutamine mammogrammipiltide kõrvalekallete visualiseerimiseks ja tuvastamiseks

Selle projekti eesmärk oli tuvastada ja kasutada parameetrit halltoonides mammogrammipiltide töötlemiseks erinevatest taustakoeklassifikatsioonidest: rasvane, rasvane ja tihe kude. Seda klassifikatsiooni kasutatakse siis, kui radioloogid analüüsivad mammogramme ja peavad kaaluma, kas koe tihedus varjab kõrvalekaldeid, nagu kahjustused või kasvajad. Seda seetõttu, et nii normaalsed füsioloogilised struktuurid nagu näärmekude kui ka kiuline sidekoe. ja ebanormaalsed morfoloogiad, nagu lubjastumine ja kasvajad, näevad mammogrammil väga heledad, samas kui vähem tihe rasvkude on must. Seetõttu oli asjakohane programmeerida klassifikaator, mis suudab manipuleerida pikslite intensiivsustasemetega, et masse kõige paremini visualiseerida ja tuvastada.

Samm: Mammogrammi andmete korrastamine

Mammogrammi andmete korraldamine
Mammogrammi andmete korraldamine

Üks esimesi asju, millest ma aru pidin saama, oli andmete korrastamine väga selgel, kokkuvõtlikul ja juurdepääsetaval viisil. Need on muutujad, mille ma ekstraheerisin mammogrammide mini-MIAS andmebaasist. Lõin kaks massiivi. Üks sisaldab 4 veergu:

  1. Pildi number:
  2. x massi koordinaat
  3. y massi koordinaat
  4. Massi raadius: (See määras massi ligikaudse suuruse

Teine massiiv sisaldas klassifikatsiooniteavet:

  1. Taustkoe tüüp: rasvane (F), rasvane (G), tihe (D)
  2. Massikirjeldus: hästi määratletud (CIRC), spiculated (SPIC), halvasti määratletud muu (MISC) arhitektuuriline moonutus (ARCH), asümmeetria (ASYM), normaalne (NORM)
  3. Diagnoosid: healoomuline (B), pahaloomuline (M)

Kuna selle projekti eesmärk oli määrata iga taustakoe tüübi jaoks parim lävi, ei olnud kogu teave vajalik. Siiski saate oma projekti laiendada tekstuurianalüüsiga ja testida oma klassifikaatorit tuntud massikirjelduste alusel.

Kõrvalmärkus: andmebaas, kust sain diagnoositud mammograafiapildid, korraldas iga mammogrammi kohta teabe piltidest eraldi tekstifailis. Mul oli kergelt raske andmeid tekstifailist eraldada ja massiivivormidesse korraldada, kuid järgnev link aitas seda kõike välja mõelda. Teise võimalusena kohandage oma eesmärkidel lihtsalt ülal kleebitud koodi.

Mammogrammi failivorming: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

TextScan Help: https://www.mathworks.com/help/matlab/ref/textsca… Mammogrammi andmebaas:

2. samm: pilditöötlus

Pildi töötlemine
Pildi töötlemine

Teine asi, mis tuli esile, kui ma mõtlesin välja, kuidas masse tuvastada, oli see, et paljude ebanormaalsete mammogrammide puhul ei suutnud ma visuaalselt öelda, kus see kõrvalekalle asub või kui suur see on. Ilmselgelt, kuna ma pole kogenud radioloog, siis seda oodati. Kuid kõige lihtsam viis kõrvalekallete leidmiseks (minu pikkade Google'i otsingute järgi) oli heledate ja tumedate alade kontsentratsiooni vaatamine. Kasutasin peamiselt adapthisteq funktsiooni, et suurendada pildi kontrastsust ja seejärel kombineerida, et teisendada pilt binaarseks pildiks, et katsetada erinevate lävitasemetega.

  1. adapthisteq: See funktsioon muudab halltoonide ja rgb -kujutiste intensiivsusväärtusi, kasutades kontrastsusega piiratud adaptiivset histogrammi ekvalaiserit. Teisisõnu, see kohandab intensiivsuse väärtuste histogrammi kindlaksmääratud jaotuse tüübi järgi. Selle funktsiooni matemaatika link on lisatud allpool lisalugemiseks.
  2. imbinarize: loob hallkaala pildist kahendkujutise, määrates kõik teatud intenistist kõrgemad pikslid 1 -ks ja pikslid alla selle väärtuseks 0. Ma kasutasin seda funktsiooni, et testida taustkoe müra vähendamiseks optimaalset läve.

3. samm: lävendikood

Künniskood
Künniskood

A for loop kasutatakse mammogrammi binariseerimiseks erinevate läviväärtustega. Suurema pildivaate saamiseks sisaldab for -tsükkel koodi 3. kuni 7. sammu. Seega analüüsitakse iga binaarkujutist kõrvalekallete suhtes. Lisaks on see silmuse jaoks ümbritsetud ahela teisega, mis impordib andmebaasist iga iteratsiooni ajal uue mammograafiapildi.

4. samm: iga binaarpildi kõrvalekallete leidmine

Iga binaarpildi kõrvalekallete leidmine
Iga binaarpildi kõrvalekallete leidmine
Iga binaarpildi kõrvalekallete leidmine
Iga binaarpildi kõrvalekallete leidmine

Lisaks töötlesin binaarkujutisi, kasutades taustamüra eemaldamiseks funktsiooni strel koos imopeniga. Eelmise etapi binaarkujutis pööratakse ümber ja filtreeritakse SE määratletud naabruskonna abil. Seejärel märgistasin bwlabel iga ala, millel oli vähemalt 8 ühendatud pikslit.

Piirkonna rekvisiitide funktsiooni kasutati iga bwlabeliga tuvastatud koha keskpunkti ja piirkonna omaduste leidmiseks.

Seejärel tuvastati ismember abil kõik laigud, mis olid suuremad kui 500 pikslit. Tuvastatud laikude tsentroidid joonistati pildile, millel olid ainult laigud, mille pindala oli suurem kui 500. Piirkond Identified = ismember (märgistatud, tähised (sortedAreas> 500)); Laigud = tuvastatud> 0;

Samm: visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine

Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine
Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine
Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine
Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine
Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine
Visuaalse võrdluse jaoks diagnoositud massi asukoha ja suuruse joonistamine

Tahtsin näha, kas bwlabeli abil leitud laigud on õiged. Ma tegin seda kahel viisil. Esmalt analüüsisin oma klassifikaatori täpsust visuaalse võrdluse abil. Lihtsalt joonistasin eeltöödeldud mammograafiapildile kõrvalekalde tegeliku suuruse ja asukoha (punane ring) ning koodi järgi määratud koha (sinine x). Ülaltoodud kuus pilti näitavad halltoonide läviväärtuse suurendamise mõju.

6. etapp: teise võrdlusmeetodi rakendamine

Teise võrdlusmeetodi rakendamine
Teise võrdlusmeetodi rakendamine

Teine viis, kuidas testisin klassifikaatorit ja läviväärtusi, määrati kindlaks, kas klassifikaatori leitud asukohad on diagnoositud kõrvalekallete koordinaatidest teatud kaugusel. Salvestasin künnised, mille puhul vähemalt üks tuvastatud punktidest oli teadaolevast kõrvalekaldest 1,5*r piires, eraldi tekstifaili nimega Mammogram Data. Selle eesmärk oli leida minimaalne künnis, mida minu klassifikaator vajab ebanormaalsuse tuvastamiseks.

Samm: kogutud andmete analüüsimine

Kogutud andmete analüüsimine
Kogutud andmete analüüsimine
Kogutud andmete analüüsimine
Kogutud andmete analüüsimine

Käivitasin programmi kõigil ebanormaalsetel mammogrammipiltidel ja mulle jäeti tohutu andmete fail. Iga koetüübi jaoks parima läve leidmiseks korraldasin andmed koetüübi järgi ja joonistasin iga koetüübi läviväärtuste histogrammi. Otsustati õige läviväärtus, milline lävi andis iga koetüübi jaoks kõige täpsemad tulemused. Salvestasin need andmed oma klassifikaatorisse üleslaadimiseks.

8. samm: tehke oma klassifikaator

Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!
Tehke oma klassifikaator!

Pärast seda, kui leidsin iga koetüübi jaoks kõige sobivamad läviväärtused, muutsin oma esialgset koodi, et kasutaja sisestaks pildinumbri ja koetüübi, et valida mammograafilise pildi lävi. Seejärel joonistasin diagnoositud mammogrammi asukoha koos leitud asukohtadega algsetel mammogrammipiltidel. Tahtsin seda lõbusamaks muuta, nii et programmeerisin funktsiooni ROI -d ümbritseva ümmarguse piirkonna kärpimiseks. Kasutajal palutakse valida keskpunkt ja mitu punkti, mis hõlmavad ROI -d kõige paremini. Lisasin siia mõlemad matlabi failid.

9. samm: täiustused? Mõtteid?

Seda juhendit kirjutades hakkan nägema palju täiustusi, mida saaksin klassifikaatorile teha, näiteks leida viise tekstuurianalüüsi põhjal tuvastatud erinevat tüüpi masside eristamiseks või parandada SandBoxProjecti täpsuse jaotist. faili. Kuna tegemist oli tähtajaga projektiga, pidin kusagil seisma jääma, kuid loodan, et saan saadud pilditöötlusoskusi ka teistes rakendustes kasutada. Samuti lisasin faili, mida kasutati kõigi ebanormaalsete mammogrammipiltide partii töötlemiseks.

Soovitan: