Sadržaj:
- Korak 1: Organiziranje podataka mamograma
- Korak 2: Obrada slike
- Korak 3: Prag praga
- Korak 4: Pronalaženje abnormalnosti za svaku binarnu sliku
- Korak 5: Iscrtavanje lokacije i veličine dijagnosticirane mase radi vizualne usporedbe
- Korak 6: Provedba druge metode usporedbe
- Korak 7: Analiza prikupljenih podataka
- Korak 8: Napravite vlastiti klasifikator
- Korak 9: Poboljšanja? Neka ideja?
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Svrha ovog projekta bila je identificirati i upotrijebiti parametar za obradu slika mamografskih slika u sivim tonovima različitih klasifikacija pozadinskog tkiva: Fatty, Fatty Glandular i Gens Tissue. Ova se klasifikacija koristi kada radiolozi analiziraju mamografije i trebaju razmotriti hoće li gustoća tkiva prikriti bilo kakve abnormalnosti poput lezija ili tumora. To je zato što su normalne fiziološke strukture, poput žljezdanog tkiva i vlaknastog vezivnog tkiva. i abnormalne morfologije, kao što su kalcifikacije i tumori, na mamografiji će se pojaviti vrlo svijetle, dok će manje gusto masno tkivo izgledati crno. Stoga je bilo prikladno programirati klasifikator koji može manipulirati razinama intenziteta piksela za najbolju vizualizaciju i identifikaciju masa.
Korak 1: Organiziranje podataka mamograma
Jedna od prvih stvari koje sam shvatio da moram riješiti bilo je organiziranje podataka na vrlo jasan, sažet i pristupačan način. Ovo su varijable koje sam izvukao iz mini-MIAS baze podataka mamografa. Napravio sam dva niza. Jedan sadrži 4 stupca:
- Broj slike:
- x koordinata mase
- y koordinatu mase
- Polumjer mase: (Time je definirana približna veličina mase
Drugi niz sadržavao je klasifikacijske podatke:
- Vrsta pozadinskog tkiva: masno (F), masno žlijezdasto (G), gusto (D)
- Opis mase: Dobro definirano (CIRC), šiljasto (SPIC), loše definirano drugo (MISC) Arhitektonsko izobličenje (ARCH), Asimetrija (ASYM), Normalno (NORM)
- Dijagnoze: benigni (B), maligni (M)
Budući da je cilj ovog projekta bio odrediti najbolji prag za svaku vrstu pozadinskog tkiva, nisu bile potrebne sve informacije. Međutim, možete proširiti svoj projekt uključivanjem analize teksture i testirati svoj klasifikator prema poznatim opisima mase.
Sporedna napomena: Baza podataka iz koje sam dobio dijagnosticirane snimke mamograma organizirao je podatke o svakom mamogramu u tekstualnu datoteku odvojenu od slika. Bilo mi je pomalo teško izdvojiti podatke iz tekstualne datoteke i organizirati ih u oblike polja, ali sljedeća je veza bila od velike pomoći u shvaćanju svega toga. Alternativno, samo prilagodite kôd koji sam gore zalijepio za vaše potrebe.
Format datoteke mamograma: mdb001 G CIRC B 535 425 197
mdb002 G KRUG B 522 280 69
Pomoć za TextScan: https://www.mathworks.com/help/matlab/ref/textsca… Baza podataka mamograma:
Korak 2: Obrada slike
Pa, druga stvar koja se pojavila kad sam smišljao kako identificirati mase je da za mnoge abnormalne mamografije nisam mogao vizualno reći gdje je abnormalnost ili koliko je velika. Očito, kako nisam iskusan radiolog, to je bilo očekivano. Međutim, najjednostavniji način pronalaženja abnormalnosti (prema mojim dugim pretraživanjima na Googleu) bio je pogledati koncentracije svijetlih i tamnih područja. Prvenstveno sam koristio funkciju adapthisteq za povećanje kontrasta slike, a zatim imbinarizirao za pretvaranje slike u binarnu sliku za eksperimentiranje s različitim razinama praga.
- adapthisteq: Ova funkcija transformira vrijednosti intenziteta slika u sivim tonovima i rgb slika pomoću adaptivnog izjednačavanja histograma ograničenog kontrastom. Drugim riječima, prilagođava histogram vrijednosti intenziteta određenoj vrsti raspodjele. Poveznica matematičkih radova za ovu funkciju nalazi se u nastavku za daljnje čitanje.
- imbinarize: stvara binarnu sliku od slike u sivoj ljestvici dodjeljujući sve piksele iznad određene intenziteta 1s, a piksele ispod te vrijednosti a 0. Koristio sam ovu funkciju za testiranje optimalnog praga za smanjenje buke tkiva u pozadini.
Korak 3: Prag praga
For petlja koristi se za binarni pregled mamograma s promjenjivim pragovima. Kako bi slika bila veća, for petlja sadrži kôd od koraka 3 do koraka 7. Tako će se svaka binarna slika analizirati na abnormalnosti. Dodatno, ova for petlja je zatvorena u drugoj for petlji koja uvozi novu sliku mamografa iz baze podataka u svakoj iteraciji.
Korak 4: Pronalaženje abnormalnosti za svaku binarnu sliku
Dalje sam obradio binarne slike pomoću strel funkcije zajedno s imopenom kako bih uklonio pozadinsku buku. Binarna slika iz prethodnog koraka je obrnuta i filtrirana pomoću susjedstva definiranog SE. Zatim sam koristio bwlabel za označavanje bilo kojih područja koja imaju najmanje 8 povezanih piksela.
Regijski rekviziti korišteni su za pronalaženje centroida i svojstava područja svake točke identificirane bwlabel.
Tada su pomoću ismember -a identificirana sva mjesta veća od 500 piksela. Centroidi za identificirane mrlje iscrtani su na slici koja prikazuje samo mrlje veće površine od 500. Identificirano područje = ismember (Označeno, oznake (sortirana područja> 500)); Mjesta = Identificirano> 0;
Korak 5: Iscrtavanje lokacije i veličine dijagnosticirane mase radi vizualne usporedbe
Htio sam vidjeti jesu li mrlje koje je pronašla bwlabel točne. To sam učinio na dva načina. Prvo sam analizirao točnost svog klasifikatora vizualnom usporedbom. Jednostavno sam iscrtao stvarnu veličinu i mjesto abnormalnosti (crveni krug) i mjesto određeno kodom (plavi x) na prethodno obrađenoj slici mamografa. Šest gornjih slika prikazuje učinke povećanja vrijednosti praga u sivim tonovima.
Korak 6: Provedba druge metode usporedbe
Drugi način na koji sam testirao klasifikator i vrijednosti praga bile su utvrđivanjem jesu li lokacije koje je klasifikator pronašao unutar određene udaljenosti od koordinata dijagnosticirane abnormalnosti. Pragove za koje je barem jedna od identificiranih točaka bila unutar 1,5*r od poznate abnormalnosti spremio sam u zasebnu tekstualnu datoteku pod nazivom Podaci mamograma. Svrha ovoga bila je pronaći minimalni prag potreban za moj klasifikator za identifikaciju abnormalnosti.
Korak 7: Analiza prikupljenih podataka
Pokrenuo sam program na svim abnormalnim slikama mamografa i ostala mi je ogromna tekstualna datoteka podataka. Kako bih pronašao najbolji prag za svaku vrstu tkiva, organizirao sam podatke prema vrsti tkiva i iscrtao histogram graničnih vrijednosti za svaku vrstu tkiva. Odgovarajuća je vrijednost praga odlučena o tome koji prag daje najtočnije rezultate za svaku vrstu tkiva. Spremila sam te podatke za prijenos u svoj klasifikator.
Korak 8: Napravite vlastiti klasifikator
Nakon što sam pronašao najprikladnije vrijednosti praga za svaku vrstu tkiva, uredio sam svoj izvorni kôd kako bi korisnik unio broj slike i vrstu tkiva kako bi odabrao prag za sliku mamografa. Zatim sam ucrtao dijagnosticirano mjesto mamografa s pronađenim mjestima na originalnim slikama mamografa. Želio sam ovo učiniti zabavnijim pa sam programirao funkciju za obrezivanje kružne regije koja okružuje ROI. Korisniku će biti upućeno da odabere središnju točku i nekoliko točaka koje najbolje obuhvaćaju ROI. Ovdje sam priložio obje matlab datoteke.
Korak 9: Poboljšanja? Neka ideja?
Dok sam pisao ovo uputstvo, počinjem uviđati mnoga poboljšanja koja bih mogao učiniti u klasifikatoru, kao što su pronalaženje načina za razlikovanje različitih vrsta masa identificiranih na temelju analize teksture ili poboljšanje mog ispitivanja za točnost odjeljka SandBoxProject. datoteka. Budući da je ovo bio projekt s rokom, morao sam negdje stati, ali se nadam da ću se moći poslužiti vještinama obrade slika koje sam naučio u drugim aplikacijama. Također sam priložio datoteku koja je korištena za skupnu obradu svih abnormalnih slika mamografa.