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: Implementacija druge metode usporedbe
- Korak 7: Analiza prikupljenih podataka
- Korak 8: Napravite vlastiti klasifikator
- Korak 9: Poboljšanja? Any Thoughts?
Video: Korištenje pragova intenziteta promjenjive skale sive za vizualizaciju i identifikaciju abnormalnosti na slikama mamograma: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Svrha ovog projekta bila je identificirati i upotrijebiti parametar za obradu slika mamografskih slika u sivim tonovima različitih klasifikacija pozadinskog tkiva: masno, masno žlijezdasto i gusto tkivo. Ova se klasifikacija koristi kada radiolozi analiziraju mamografiju 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 mamografu će se pojaviti vrlo svijetle, dok će manje gusto masno tkivo izgledati crno. Stoga je bilo prikladno programirati klasifikator koji može manipulirati nivoima intenziteta piksela za najbolju vizualizaciju i identifikaciju masa.
Korak 1: Organiziranje podataka mamograma
Jedna od prvih stvari koje sam shvatio da mi je potrebno za rukovanje je bilo organiziranje podataka na vrlo jasan, sažet i pristupačan način. Ovo su varijable koje sam izvukao iz mini-MIAS baze podataka mamografa. Kreirao sam dva niza. Jedan koji sadrži 4 kolone:
- Broj slike:
- x koordinata mase
- y koordinata mase
- Polumjer mase: (Ovo je definiralo približnu veličinu mase
Drugi niz sadrži informacije o klasifikaciji:
- Vrsta pozadinskog tkiva: masno (F), masno žlijezdasto (G), gusto (D)
- Opis mase: Dobro definirano (CIRC), zašiljeno (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 dijagnostikovane mamografske slike organizovao je informacije o svakom mamogramu u tekstualnoj datoteci odvojenoj od slika. Bilo mi je pomalo teško izvući podatke iz tekstualne datoteke i organizirati ih u nizove, ali sljedeća veza bila je od velike pomoći u rješavanju 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 CIRC B 522 280 69
TextScan pomoć: https://www.mathworks.com/help/matlab/ref/textsca…Mamografska baza podataka:
Korak 2: Obrada slike
Pa, druga stvar koja se pojavila kada sam smišljao kako identificirati mase je da za mnoge abnormalne mamografe nisam mogao vizualno reći gdje je abnormalnost ili koliko je velika. Očigledno, kako nisam iskusan radiolog, očekivano je. Međutim, najjednostavniji način otkrivanja abnormalnosti (prema mojim dugim pretraživanjima na Google -u) 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 koristeći adaptivno izjednačavanje histograma ograničeno kontrastom. Drugim riječima, prilagođava histogram vrijednosti intenziteta određenoj vrsti distribucije. Veza do 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 intenzitete 1s, a piksele ispod te vrijednosti 0. Koristila sam ovu funkciju za testiranje optimalnog praga za smanjenje buke tkiva u pozadini.
Korak 3: Prag praga
For petlja se koristi za binarnizovanje mamograma sa različitim 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 mamograma iz baze podataka u svakoj iteraciji.
Korak 4: Pronalaženje abnormalnosti za svaku binarnu sliku
Dalje sam obradio binarne slike koristeći funkciju strel zajedno sa 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, indikatori (sortirana područja> 500)); Tačke = Identifikovane> 0;
Korak 5: Iscrtavanje lokacije i veličine dijagnosticirane mase radi vizualne usporedbe
Htio sam vidjeti jesu li mrlje koje je pronašao bwlabel ispravne. To sam uradio na dva načina. Prvo sam analizirao tačnost svog klasifikatora vizuelnim poređenjem. Jednostavno sam iscrtao stvarnu veličinu i lokaciju abnormalnosti (crveni krug) i lokaciju određenu kodom (plavi x) na prethodno obrađenoj slici mamografa. Šest gornjih slika prikazuje efekte povećanja vrijednosti praga u sivim tonovima.
Korak 6: Implementacija druge metode usporedbe
Drugi način na koji sam testirao klasifikator i granične vrijednosti bile su utvrđivanjem jesu li lokacije koje je klasifikator pronašao bile na određenoj 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 mojem klasifikatoru za identifikaciju abnormalnosti.
Korak 7: Analiza prikupljenih podataka
Pokrenuo sam program na svim abnormalnim slikama mamografa i ostao mi je ogroman tekstualni zapis 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 vrijednost praga je odlučena o tome koji prag daje najtačnije rezultate za svaku vrstu tkiva. Sačuvao sam ove podatke za učitavanje 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 iscrtao dijagnosticiranu mamografsku lokaciju s pronađenim mjestima na originalnim slikama mamografa. Htio 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? Any Thoughts?
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 osnovu analize teksture ili poboljšanje moga odjeljka testiranja tačnosti SandBoxProject -a. file. Budući da je ovo bio projekt s rokom, morao sam negdje stati, ali se nadam da ću moći koristiti vještine obrade slika koje sam naučio u drugim aplikacijama. Takođe sam priložio datoteku koja je korištena za grupnu obradu svih abnormalnih slika mamografa.
Preporučuje se:
Vitez promjenjive brzine: 3 koraka
Knight Rider promjenjive brzine: Ovo je moj prvi instruktor pa vam se sviđa! Inspirisan je TV emisijom iz 1980 -ih pod nazivom Knight Rider, koja je imala automobil po imenu KITT sa LED skenerom koji se kretao naprijed -natrag poput ovog. Pa, počnimo s izradom
Neopixel Ws2812 Rainbow LED sjaj sa M5stick-C - Pokretanje Rainbow -a na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE -a: 5 koraka
Neopixel Ws2812 Rainbow LED sjaj sa M5stick-C | Pokretanje Rainbow-a na Neopixel Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE-a: Zdravo momci u ovim uputama naučit ćemo kako koristiti neopixel ws2812 LED diode ili LED traku ili LED matricu ili LED prsten s razvojnom pločom m5stack m5stick-C s Arduino IDE-om, a mi ćemo napraviti dugin uzorak sa njim
Sistem za prikupljanje i vizualizaciju podataka za MotoStudent električni trkaći bicikl: 23 koraka
Sustav prikupljanja podataka i vizualizacije podataka za MotoStudent električni trkaći bicikl: Sustav za prikupljanje podataka je zbirka hardvera i softvera koji rade zajedno kako bi prikupili podatke s vanjskih senzora, pohranili ih i kasnije obradili tako da se mogu grafički vizualizirati i analizirati, omogućavajući inženjerima da naprave
Mjerač intenziteta svjetlosti bez programiranja .: 7 koraka (sa slikama)
Mjerač intenziteta svjetlosti bez programiranja.: Ovo uputstvo govori o izradi osnovnog mjerača intenziteta svjetlosti bez upotrebe Arduina ili bilo kojeg drugog mikro kontrolera ili programiranja. Merač intenziteta svetlosti prikazuje različite nivoe intenziteta svetlosti sa različitim bojama LED dioda. Crvena LED
OLED krug svjetla svijeća sa fotootpornošću za kontrolu intenziteta (TfCD): 4 koraka (sa slikama)
OLED svjetlosni krug svijeća s fotootpornošću za kontrolu intenziteta (TfCD): U ovom uputstvu pokazat ćemo vam kako napraviti krug koji prikazuje (O) LED kako treperi poput svijeće i reagira na intenzitet okruženja. S manjim intenzitetom svjetlosti potreban je manji izlaz svjetlosti iz izvora svjetlosti. Sa ovom aplikacijom