Obsah:

Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu abnormalít na mamografických obrázkoch: 9 krokov
Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu abnormalít na mamografických obrázkoch: 9 krokov

Video: Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu abnormalít na mamografických obrázkoch: 9 krokov

Video: Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu abnormalít na mamografických obrázkoch: 9 krokov
Video: Высокая плотность 2022 2024, November
Anonim
Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu odchýlok na mamografických obrázkoch
Použitie rôznych prahových hodnôt intenzity šedej stupnice na vizualizáciu a identifikáciu odchýlok na mamografických obrázkoch

Cieľom tohto projektu bolo identifikovať a použiť parameter na spracovanie mamografických snímok v odtieňoch sivej rôznych klasifikácií tkaniva pozadia: tukové, mastné žliazové a husté tkanivo. Táto klasifikácia sa používa, keď rádiológovia analyzujú mamografy a musia zvážiť, či hustota tkaniva zakrýva akékoľvek abnormality, ako sú lézie alebo nádory. Dôvodom je, že obe normálne fyziologické štruktúry, ako je žľazové tkanivo a vláknité spojivové tkanivo. a abnormálne morfológie, ako sú kalcifikácie a nádory, budú na mamografe vyzerať veľmi jasne, zatiaľ čo menej husté tukové tkanivo bude čierne. Preto bolo vhodné naprogramovať klasifikátor, ktorý dokáže manipulovať s úrovňami intenzity pixelov, aby čo najlepšie vizualizoval a identifikoval masy.

Krok 1: Usporiadanie údajov z mamografu

Organizácia údajov z mamografu
Organizácia údajov z mamografu

Jedna z prvých vecí, ktoré som si uvedomil, že musím zvládnuť, bolo usporiadanie údajov veľmi jasným, stručným a prístupným spôsobom. Toto sú premenné, ktoré som extrahoval z databázy mammogramov mini-MIAS. Vytvoril som dve polia. Jeden obsahujúci 4 stĺpce:

  1. Číslo obrázku:
  2. x súradnica hmotnosti
  3. y súradnica hmotnosti
  4. Hmotnostný rádius: (Toto definovalo približnú veľkosť hmotnosti

Druhé pole obsahovalo klasifikačné informácie:

  1. Typ tkaniva na pozadí: tukový (F), tukový žľazový (G), hustý (D)
  2. Popis hmoty: Dobre definovaný (CIRC), spiculated (SPIC), zle definovaný iný (MISC) architektonické skreslenie (ARCH), asymetria (ASYM), normálny (NORM)
  3. Diagnózy: Benígne (B), Malígne (M)

Pretože cieľom tohto projektu bolo určiť najlepší prah pre každý typ tkaniva pozadia, neboli všetky informácie potrebné. Svoj projekt však môžete rozšíriť o analýzu textúr a otestovať svoj klasifikátor podľa známych hromadných popisov.

Vedľajšia poznámka: Databáza, z ktorej som získal diagnostikované obrázky mamografu, usporiadala informácie o každom mamografe do textového súboru oddelene od obrázkov. Bolo pre mňa mierne ťažké extrahovať údaje z textového súboru a organizovať ich do maticových foriem, ale nasledujúci odkaz bol veľmi užitočný pri zisťovaní toho všetkého. Prípadne len upravte kód, ktorý som vložil vyššie, na vaše účely.

Formát súboru mamografu: mdb001 G CIRC B 535 425 197

mdb002 G OKRUH B 522 280 69

Pomocník pre TextScan: https://www.mathworks.com/help/matlab/ref/textsca…Mamografická databáza:

Krok 2: Spracovanie obrazu

Spracovanie obrazu
Spracovanie obrazu

Druhá vec, ktorá sa objavila, keď som zisťoval, ako identifikovať masy, bolo, že pri mnohých abnormálnych mamografiách som nedokázal vizuálne zistiť, kde je abnormalita alebo aká je veľká. Keďže nie som skúsený rádiológ, bolo to očividne očakávané. Avšak najjednoduchším spôsobom, ako nájsť abnormality (podľa môjho zdĺhavého vyhľadávania na Googli), bolo pozrieť sa na koncentrácie svetlých a tmavých oblastí. Primárne som použil funkciu adapthisteq na zvýšenie kontrastu obrazu a potom imbinarizáciu na konverziu obrazu na binárny obraz na experimentovanie s rôznymi prahovými úrovňami.

  1. adapthisteq: Táto funkcia transformuje hodnoty intenzity obrázkov v odtieňoch sivej a rgb pomocou adaptívneho vyrovnávania histogramu s obmedzeným kontrastom. Inými slovami, upravuje histogram hodnôt intenzity na určený typ distribúcie. Odkaz na matematickú prácu pre túto funkciu je priložený nižšie na ďalšie čítanie.
  2. imbinarizovať: vytvorí binárny obraz z obrázku v odtieňoch sivej priradením všetkých pixelov nad určitou intenzitou 1 s a pixelov pod touto hodnotou a 0. Túto funkciu som použil na testovanie optimálnej prahovej hodnoty na zníženie šumu tkaniva v pozadí.

Krok 3: Prahový kód

Prahový kód
Prahový kód

Na binarizáciu mamografu s rôznymi prahmi sa používa slučka For. Aby sa dosiahol väčší obraz, slučka for obsahuje kód od kroku 3 do kroku 7. Každý binárny obraz bude teda analyzovaný na abnormality. Okrem toho je táto slučka for uzavretá v ďalšej slučke for, ktorá importuje nový obrázok mamografu z databázy v každej iterácii.

Krok 4: Nájdenie abnormalít pre každý binárny obrázok

Nájdenie odchýlok pre každý binárny obrázok
Nájdenie odchýlok pre každý binárny obrázok
Nájdenie odchýlok pre každý binárny obrázok
Nájdenie odchýlok pre každý binárny obrázok

Binárne obrázky som ďalej spracoval pomocou funkcie strel v spojení s imopenom, aby som odstránil šum pozadia. Binárny obraz z predchádzajúceho kroku je invertovaný a filtrovaný pomocou susedstva definovaného SE. Potom som pomocou bwlabel označil všetky oblasti, ktoré mali najmenej 8 spojených pixelov.

Na nájdenie ťažiska a plošných vlastností každého bodu identifikovaného pomocou bwlabel bola použitá funkcia rekvizít regiónu.

Potom boli pomocou ismember identifikované všetky škvrny väčšie ako 500 pixelov. Centroidy pre identifikované škvrny boli vynesené na obrázok, ktorý zobrazoval iba škvrny s väčšou plochou než 500. Plocha identifikovaná = izmember (označené, indexy (triedené oblasti> 500)); Body = identifikované> 0;

Krok 5: Vykreslenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie

Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
Vynesenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie

Chcel som zistiť, či sú škvrny nájdené bwlabel správne. Urobil som to dvoma spôsobmi. Najprv som analyzoval presnosť svojho klasifikátora vizuálnym porovnaním. Jednoducho som vykreslil skutočnú veľkosť a umiestnenie abnormality (červený kruh) a polohu určenú kódom (modré x) na vopred spracovanom mamografickom obrázku. Šesť vyššie uvedených obrázkov ukazuje efekty zvýšenia prahovej hodnoty v odtieňoch sivej.

Krok 6: Implementácia druhej porovnávacej metódy

Implementácia druhej porovnávacej metódy
Implementácia druhej porovnávacej metódy

Druhým spôsobom, ako som testoval klasifikátor a prahové hodnoty, bolo určiť, či sú polohy nájdené klasifikátorom v určitej vzdialenosti od súradníc diagnostikovanej abnormality. Prahové hodnoty, pre ktoré bol najmenej jeden z identifikovaných bodov v medziach 1,5*r, som uložil zo známej abnormality do samostatného textového súboru s názvom Mammogram Data. Cieľom bolo nájsť minimálny prah potrebný pre môj klasifikátor na identifikáciu abnormality.

Krok 7: Analýza zhromaždených údajov

Analýza zhromaždených údajov
Analýza zhromaždených údajov
Analýza zhromaždených údajov
Analýza zhromaždených údajov

Spustil som program na všetkých abnormálnych mamografických obrázkoch a zostal mi obrovský textový súbor s údajmi. Aby som našiel najlepší prah pre každý typ tkaniva, usporiadal som údaje podľa typu tkaniva a zakreslil histogram prahových hodnôt pre každý typ tkaniva. Bola rozhodnutá správna prahová hodnota, ktorá prahová hodnota poskytuje najpresnejšie výsledky pre každý typ tkaniva. Tieto údaje som uložil na nahranie do svojho klasifikátora.

Krok 8: Vytvorenie vlastného klasifikátora

Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!
Vytvorenie vlastného klasifikátora!

Potom, čo som našiel najvhodnejšie prahové hodnoty pre každý typ tkaniva, upravil som svoj pôvodný kód, aby používateľ zadal číslo obrázku a typ tkaniva, aby si vybral prah pre mamografický obrázok. Potom som vykreslil diagnostikované miesto mamografu s nájdenými miestami na pôvodných obrázkoch mamografu. Chcel som to urobiť zábavnejším, a preto som naprogramoval funkciu na orezanie kruhovej oblasti obklopujúcej ROI. Používateľ bude poučený, aby si vybral stredový bod a niekoľko bodov, ktoré najlepšie pokrývajú NI. Tu som pripojil oba súbory matlab.

Krok 9: Vylepšenia? Nejaké nápady?

Keď som písal tento návod, začínam vidieť mnoho vylepšení, ktoré by som mohol urobiť pre klasifikátor, ako je nájdenie spôsobov, ako rozlíšiť rôzne typy hmotností identifikovaných na základe analýzy textúry alebo zlepšenie sekcie testovania presnosti v SandBoxProject. súbor. Keďže išlo o projekt s konečným termínom, musel som sa niekde zastaviť, ale dúfam, že budem môcť využiť schopnosti spracovania obrazu, ktoré som sa naučil, v iných aplikáciách. Tiež som pripojil súbor, ktorý bol použitý na dávkové spracovanie všetkých abnormálnych snímok mamografu.

Odporúča: