Indholdsfortegnelse:

Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder: 9 trin
Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder: 9 trin

Video: Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder: 9 trin

Video: Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder: 9 trin
Video: Låser sjælen op - Kan New Age-profeter afsløre vores skjulte natur? 2024, November
Anonim
Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder
Brug af varierende gråtonetærskler til at visualisere og identificere abnormiteter i mammogrambilleder

Formålet med dette projekt var at identificere og bruge en parameter til at behandle gråtonemammogrammbilleder af forskellige baggrundsvævsklassifikationer: Fedt, fedtkirtel og tæt væv. Denne klassifikation bruges, når radiologer analyserer mammogrammer og skal overveje, om vævstæthed vil skjule eventuelle abnormiteter, såsom læsioner eller tumorer. Dette skyldes, at både normale fysiologiske strukturer, såsom kirtelvæv og fibrøst bindevæv. og unormale morfologier som forkalkninger og tumorer vil fremstå meget lyse på mammogrammet, mens mindre tæt fedtvæv vil se sort ud. Derfor var det passende at programmere en klassifikator, der kan manipulere pixelintensitetsniveauer for bedst at visualisere og identificere masser.

Trin 1: Organisering af mammogramdata

Organisering af mammogramdata
Organisering af mammogramdata

En af de første ting, jeg indså, at jeg skulle håndtere, var at organisere dataene på en meget klar, kortfattet og tilgængelig måde. Dette er de variabler, jeg hentede fra mini-MIAS-databasen over mammogrammer. Jeg lavede to arrays. En der indeholder 4 kolonner:

  1. Billednummer:
  2. x massekoordinat
  3. y massekoordinat
  4. Masseradius: (Dette definerede en omtrentlig størrelse for massen

Det andet array indeholdt klassificeringsinformation:

  1. Type baggrundsvæv: Fedtet (F), Fedtkirtlen (G), Tæt (D)
  2. Beskrivelse af masse: Veldefineret (CIRC), spikuleret (SPIC), dårligt defineret anden (MISC) Arkitektonisk forvrængning (ARCH), Asymmetri (ASYM), Normal (NORM)
  3. Diagnoser: Godartet (B), ondartet (M)

Da formålet med dette projekt var at bestemme den bedste tærskel for hver type baggrundsvæv, var ikke alle oplysninger nødvendige. Du kan dog udvide dit projekt til at omfatte teksturanalyse og teste din klassifikator mod de kendte massebeskrivelser.

Sidebemærkning: Databasen, hvorfra jeg fik de diagnosticerede mammogrambilleder, organiserede oplysningerne om hvert mammogram i en tekstfil adskilt fra billederne. Det var mildt sagt svært for mig at udtrække dataene fra en tekstfil og organisere i matrixformularer, men det følgende link var meget nyttigt til at finde ud af alt det. Alternativt kan du bare justere den kode, jeg har indsat ovenfor til dine formål.

Mammogramfilformat: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

TextScan Hjælp: https://www.mathworks.com/help/matlab/ref/textsca…Mammogram Database:

Trin 2: Billedbehandling

Billedbehandling
Billedbehandling

Den anden ting, der dukkede op, da jeg var ved at finde ud af at identificere masser, var, at jeg for mange unormale mammogrammer ikke visuelt kunne se, hvor abnormiteten var, eller hvor stor den var. Da jeg ikke er en erfaren radiolog, var det naturligvis forventet. Den mest ligetil måde at finde abnormiteter på (ifølge mine lange google -søgninger) var imidlertid at se på koncentrationer af lyse og mørke områder. Jeg brugte primært adapthisteq -funktionen til at forbedre billedkontrasten og derefter imbinarisere for at konvertere billedet til et binært billede for at eksperimentere med forskellige tærskelniveauer.

  1. adapthisteq: Denne funktion transformerer intensitetsværdier for gråtoner og rgb -billeder ved hjælp af kontrastbegrænset adaptiv histogramudligning. Med andre ord justerer det histogrammet for intensitetsværdier til en bestemt distributionstype. Matematik -linket til denne funktion er vedhæftet nedenfor for yderligere læsning.
  2. imbinarize: opretter et binært billede fra et gråtonebillede ved at tildele alle pixels over en bestemt intenisti til 1s og pixelerne under denne værdi a 0. Jeg brugte denne funktion til at teste den optimale tærskel for at reducere baggrundsvævsstøj.

Trin 3: Tærskelkode

Tærskelkode
Tærskelkode

En for loop bruges til at binarisere mammogrammet med varierende tærskler. For at give et større billedbillede indeholder for -løkken koden fra trin 3 til trin 7. Så hvert binært billede vil blive analyseret for abnormiteter. Derudover er dette for loop indkapslet i et andet for loop, der importerer et nyt mammogrambillede fra databasen i hver iteration.

Trin 4: Find abnormiteter for hvert binært billede

Find abnormiteter for hvert binært billede
Find abnormiteter for hvert binært billede
Find abnormiteter for hvert binært billede
Find abnormiteter for hvert binært billede

Jeg bearbejdede yderligere de binære billeder ved hjælp af strel -funktionen i forbindelse med imopen for at fjerne baggrundsstøj. Det binære billede fra det foregående trin inverteres og filtreres ved hjælp af kvarteret defineret af SE. Derefter brugte jeg bwlabel til at mærke alle områder, der havde mindst 8 forbundne pixels.

Region -rekvisitfunktionen blev brugt til at finde centroid- og arealeegenskaberne for hvert sted identificeret ved bwlabel.

Derefter blev alle pletter større end 500 pixels identificeret ved hjælp af ismember. Centroiderne for de identificerede pletter blev afbildet på et billede, der kun viste pletter større i areal end 500. Area Identified = ismember (Mærket, indikerer (sorterede områder> 500)); Pletter = Identificeret> 0;

Trin 5: Planlægning af den diagnosticerede masseplacering og -størrelse til visuel sammenligning

Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning
Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning
Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning
Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning
Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning
Plotering af den diagnosticerede masseplacering og -størrelse til visuel sammenligning

Jeg ville se, om pletterne fundet af bwlabel var korrekte. Jeg gjorde dette på to måder. Jeg analyserede først nøjagtigheden af min klassifikator ved at foretage en visuel sammenligning. Jeg plottede simpelthen den faktiske størrelse og placeringen af abnormiteten (rød cirkel) og placeringen bestemt af koden (blå x) på det forbehandlede mammogrambillede. De seks billeder ovenfor viser virkningerne af at øge tærskelværdien for gråtoner.

Trin 6: Implementering af den anden sammenligningsmetode

Implementering af den anden sammenligningsmetode
Implementering af den anden sammenligningsmetode

Den anden måde, hvorpå jeg testede klassifikatoren og tærskelværdierne, var ved at bestemme, om de placeringer, klassifikatoren fandt, var inden for en vis afstand fra de diagnosticerede abnormitetskoordinater. Jeg gemte de tærskler, for hvilke mindst et af de identificerede punkter var inden for 1,5*r fra den kendte abnormitet til en separat tekstfil kaldet Mammogram Data. Formålet med dette var at finde den minimumstærskel, der er nødvendig for, at min klassifikator kan identificere abnormiteten.

Trin 7: Analyse af indsamlede data

Analyse af indsamlede data
Analyse af indsamlede data
Analyse af indsamlede data
Analyse af indsamlede data

Jeg kørte programmet på alle de unormale mammogrambilleder, og jeg stod tilbage med en enorm tekstfil med data. For at finde den bedste tærskel for hver type væv organiserede jeg dataene efter vævstype og afbildede et histogram over tærskelværdierne for hver vævstype. Den korrekte tærskelværdi blev besluttet på hvilken tærskel, der gav de mest nøjagtige resultater for hver vævstype. Jeg gemte disse data for at uploade til min klassifikator.

Trin 8: Lav din egen klassificering

Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!
Lav din egen klassificering!

Efter at jeg fandt de mest passende tærskelværdier for hver vævstype, redigerede jeg min originale kode for at få en bruger til at indtaste billednummeret og vævstypen for at vælge tærsklen for mammogrambilledet. Jeg plottede derefter den diagnosticerede mammogramplacering med de fundne placeringer på de originale mammogrambilleder. Jeg ville gøre det sjovere, så jeg programmerede en funktion til at beskære et cirkulært område omkring ROI. Brugeren vil blive instrueret i at vælge et midtpunkt og flere punkter, der bedst omfatter ROI. Jeg vedhæfter begge matlab -filer her.

Trin 9: Forbedringer? Nogen tanker?

Da jeg skrev dette instruerbare, begyndte jeg at se mange forbedringer, jeg kunne foretage i klassifikatoren, såsom at finde måder at skelne mellem forskellige typer masser identificeret baseret på teksturanalyse eller forbedre min test for nøjagtighedsafsnit af SandBoxProject. fil. Da dette var et projekt med en deadline, måtte jeg stoppe et eller andet sted, men jeg håber, at jeg kan bruge billedbehandlingsfærdighederne, jeg lærte i andre applikationer. Jeg vedhæftede også den fil, der blev brugt til batchbehandling af alle de unormale mammogrambilleder.

Anbefalede: