Obsah:
- Krok 1: Usporiadanie údajov z mamografu
- Krok 2: Spracovanie obrazu
- Krok 3: Prahový kód
- Krok 4: Nájdenie abnormalít pre každý binárny obrázok
- Krok 5: Vykreslenie diagnostikovanej polohy a veľkosti hmoty na vizuálne porovnanie
- Krok 6: Implementácia druhej porovnávacej metódy
- Krok 7: Analýza zhromaždených údajov
- Krok 8: Vytvorenie vlastného klasifikátora
- Krok 9: Vylepšenia? Nejaké nápady?
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
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
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
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:
- Číslo obrázku:
- x súradnica hmotnosti
- y súradnica hmotnosti
- Hmotnostný rádius: (Toto definovalo približnú veľkosť hmotnosti
Druhé pole obsahovalo klasifikačné informácie:
- Typ tkaniva na pozadí: tukový (F), tukový žľazový (G), hustý (D)
- Popis hmoty: Dobre definovaný (CIRC), spiculated (SPIC), zle definovaný iný (MISC) architektonické skreslenie (ARCH), asymetria (ASYM), normálny (NORM)
- 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
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.
- 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.
- 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
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
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
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
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
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
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:
Ako čítať viac analógových hodnôt pomocou jedného analógového kolíka: 6 krokov (s obrázkami)
Ako čítať viac analógových hodnôt pomocou jedného analógového pinu: V tomto návode vám ukážem, ako čítať viac analógových hodnôt pomocou iba jedného analógového vstupného pinu
Ako previesť akýkoľvek mediálny súbor do rôznych formátov: 6 krokov
Ako previesť akýkoľvek mediálny súbor do rôznych formátov: Existujú rôzne prevodníky mediálnych súborov, ktoré môžeme použiť. Na webe je môj obľúbený online prevodník médií: http: //www.mediaconverter.orgV tomto jednoduchom návode použijeme aplikáciu „Factory Factory“, ktorá je úžasným univerzálnym prevodníkom mediálnych súborov
Čítanie hodnôt zo zariadenia BLE pomocou CSR1010 a Dragonboard 410c: 6 krokov
Čítanie hodnôt zo zariadenia BLE pomocou CSR1010 a Dragonboard 410c: Tento tutoriál ukazuje, ako čítať hodnoty zo zariadenia BLE CSR1010 pomocou Dragonboard 410c s Linaro. V tomto prípade CSR1010 emuluje snímač srdcového tepu
Vytvorte vyskakovací text na obrázkoch s pokynmi: 7 krokov
Vytvorte vyskakovací text na obrázkoch s pokynmi: Obrázky na návode majú funkciu, ktorá vysunie text, keď presuniete myš nad vyznačené oblasti obrázkov. Toto sa používa na označenie obzvlášť zaujímavých častí obrázku. Je to celkom príjemná funkcia a niekto sa presne opýtal
Skrytie súborov v obrázkoch: 3 kroky
Skrytie súborov v obrázkoch: Kto by si myslel, že na obrázku je niečo skryté?