Tartalomjegyzék:

Változó szürkeárnyalatos intenzitási küszöbök használata a mammográfiás képek rendellenességeinek vizualizálására és azonosítására: 9 lépés
Változó szürkeárnyalatos intenzitási küszöbök használata a mammográfiás képek rendellenességeinek vizualizálására és azonosítására: 9 lépés

Videó: Változó szürkeárnyalatos intenzitási küszöbök használata a mammográfiás képek rendellenességeinek vizualizálására és azonosítására: 9 lépés

Videó: Változó szürkeárnyalatos intenzitási küszöbök használata a mammográfiás képek rendellenességeinek vizualizálására és azonosítására: 9 lépés
Videó: Computer Vision with Python! Grayscaling Images 2024, November
Anonim
Változó szürkeárnyalatos intenzitásküszöbök használata a rendellenességek vizualizálására és azonosítására a mammográfiás képeken
Változó szürkeárnyalatos intenzitásküszöbök használata a rendellenességek vizualizálására és azonosítására a mammográfiás képeken

Ennek a projektnek az volt a célja, hogy azonosítson és használjon egy paramétert a szürkeárnyalatos mammográfiai képek feldolgozására különböző háttér -szöveti besorolásokból: zsíros, zsíros mirigyes és sűrű szövet. Ezt a besorolást akkor alkalmazzák, amikor a radiológusok mammográfiákat elemeznek, és mérlegelniük kell, hogy a szövetek sűrűsége elfedi -e a rendellenességeket, például elváltozásokat vagy daganatokat. Ennek oka az, hogy mind a normál élettani szerkezetek, mint a mirigyszövet, mind a rostos kötőszövet. és a rendellenes morfológiák, mint például a meszesedés és a daganatok nagyon fényeseknek tűnnek a mammogramon, míg a kevésbé sűrű zsírszövetek fekete színűek lesznek. Ezért helyénvaló volt egy olyan osztályozót programozni, amely képes manipulálni a pixelintenzitási szinteket a tömegek legjobb megjelenítése és azonosítása érdekében.

1. lépés: A mammográfiás adatok rendszerezése

Mammográfiás adatok rendszerezése
Mammográfiás adatok rendszerezése

Az egyik első dolog, amiről rájöttem, hogy kezelnem kell, az az adatok nagyon világos, tömör és hozzáférhető módon történő rendszerezése. Ezeket a változókat vettem ki a mammográfiák mini-MIAS adatbázisából. Két tömböt hoztam létre. Az egyik 4 oszlopot tartalmaz:

  1. Kép száma:
  2. x tömegkoordinátája
  3. y tömegkoordinátája
  4. Tömegsugár: (Ez meghatározta a tömeg hozzávetőleges méretét

A második tömb osztályozási információkat tartalmazott:

  1. A háttérszövet típusa: zsíros (F), zsíros mirigyes (G), sűrű (D)
  2. Tömegleírás: jól meghatározott (CIRC), spiculated (SPIC), rosszul definiált egyéb (MISC) építészeti torzítás (ARCH), aszimmetria (ASYM), normál (NORM)
  3. Diagnózis: jóindulatú (B), rosszindulatú (M)

Mivel ennek a projektnek a célja az volt, hogy meghatározza a legjobb küszöböt minden háttérszövet típusra, ezért nem volt szükség minden információra. Azonban kiterjesztheti a projektet textúraelemzésre, és tesztelheti az osztályozót az ismert tömegleírások alapján.

Oldalsó megjegyzés: Az adatbázis, ahonnan a diagnosztizált mammográfiás képeket kaptam, az egyes mammográfiákra vonatkozó információkat a képektől elkülönített szövegfájlba rendezte. Enyhén nehéz volt számomra kinyerni az adatokat egy szöveges fájlból, és tömb űrlapokba rendezni, de a következő link nagyon hasznos volt mindezek kitalálásában. Alternatív megoldásként csak módosítsa a fent beillesztett kódot a céljaihoz.

Mammogram fájlformátum: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

TextScan Help: https://www.mathworks.com/help/matlab/ref/textsca… Mammográfiai adatbázis:

2. lépés: Képfeldolgozás

Képfeldolgozás
Képfeldolgozás

Nos, a második dolog, ami akkor merült fel, amikor a tömegek azonosításának módját találtam ki, az volt, hogy sok rendellenes mammográfia esetében nem tudtam vizuálisan megmondani, hol van az eltérés, vagy mekkora. Nyilvánvaló, hogy mivel nem vagyok tapasztalt radiológus, ez várható volt. A rendellenességek megtalálásának legegyszerűbb módja (hosszú Google -kereséseim szerint) a világos és sötét területek koncentrációjának vizsgálata volt. Elsősorban az adapthisteq függvényt használtam a kép kontrasztjának javítására, majd az imbinarizálást, hogy a képet bináris képpé alakítsam, hogy különböző küszöbértékekkel kísérletezzek.

  1. adapthisteq: Ez a funkció átalakítja a szürkeárnyalatos és rgb képek intenzitási értékeit kontrasztkorlátozott adaptív hisztogram kiegyenlítéssel. Más szóval, az intenzitásértékek hisztogramját az eloszlás egy meghatározott típusához igazítja. Ennek a függvénynek a matematikai linkje alább olvasható további olvasáshoz.
  2. imbinarize: bináris képet hoz létre a szürkeárnyalatos képből úgy, hogy egy bizonyos intenisty feletti összes képpontot 1 -hez rendel, az alatta lévő képpontokat pedig 0 -hoz. Ezzel a funkcióval teszteltem az optimális küszöböt a háttérzaj csökkentése érdekében.

3. lépés: Küszöbérték -kód

Küszöbérték kód
Küszöbérték kód

Az A for hurkot a mammográfia különböző küszöbértékekkel történő binarizálására használják. Ahhoz, hogy nagyobb képet nyújtson, a for ciklus tartalmazza a 3. lépéstől a 7. lépésig terjedő kódot. Így minden bináris képet elemzünk rendellenességek szempontjából. Ezenkívül ez a ciklus esetében egy másik olyan ciklusba van beágyazva, amely minden iterációban új mammográfiás képet importál az adatbázisból.

4. lépés: Rendellenességek keresése minden bináris képen

Rendellenességek keresése minden bináris képen
Rendellenességek keresése minden bináris képen
Rendellenességek keresése minden bináris képen
Rendellenességek keresése minden bináris képen

A bináris képeket tovább feldolgoztam a strel függvény használatával az imopennel együtt a háttérzaj eltávolítása érdekében. Az előző lépés bináris képét megfordítjuk és szűrjük az SE által definiált környék használatával. Ezután a bwlabel segítségével megjelöltem azokat a területeket, amelyek legalább 8 összekapcsolt képpontot tartalmaztak.

A régiók támasz funkcióját használtuk a bwlabel által azonosított minden folt középső és területtulajdonságainak megkereséséhez.

Ezután minden 500 képpontnál nagyobb foltot azonosítottunk ismember segítségével. Az azonosított foltok középpontjait egy olyan képen ábrázoltuk, amely csak az 500 -nál nagyobb területeket jelenítette meg. Folt = Azonosított> 0;

5. lépés: A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából

A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából
A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából
A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából
A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából
A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából
A diagnosztizált tömeg helyének és méretének ábrázolása vizuális összehasonlítás céljából

Meg akartam nézni, hogy helyesek -e a bwlabel által talált foltok. Ezt kétféleképpen tettem. Először vizuális összehasonlítással elemeztem az osztályozóm pontosságát. Egyszerűen felrajzoltam a rendellenesség tényleges méretét és helyét (piros kör), valamint a kód által meghatározott helyet (kék x) az előre feldolgozott mammográfiás képen. A fenti hat kép a szürkeárnyalatos küszöbérték növelésének hatásait mutatja.

6. lépés: A második összehasonlítási módszer megvalósítása

A második összehasonlítási módszer megvalósítása
A második összehasonlítási módszer megvalósítása

A második módszer az, hogy teszteltem az osztályozót és a küszöbértékeket, annak meghatározásával, hogy az osztályozó által talált helyek bizonyos távolságon belül vannak -e a diagnosztizált rendellenesség -koordinátáktól. A küszöbértékeket, amelyeknél az azonosított pontok közül legalább az egyik 1,5*r -en belül volt, az ismert rendellenességtől mentettem egy külön szövegfájlba, a Mammogram Data -ra. Ennek célja az volt, hogy megtaláljam a minimális küszöbértéket, amely szükséges az osztályozóm számára a rendellenesség azonosításához.

7. lépés: Az összegyűjtött adatok elemzése

Az összegyűjtött adatok elemzése
Az összegyűjtött adatok elemzése
Az összegyűjtött adatok elemzése
Az összegyűjtött adatok elemzése

Futtattam a programot minden rendellenes mammográfiás képen, és egy hatalmas szöveges adatállomány maradt bennem. Annak érdekében, hogy megtaláljuk a legjobb küszöböt az egyes szövettípusokhoz, az adatokat szövettípusonként rendszereztem, és az egyes szövettípusok küszöbértékeinek hisztogramját ábrázoltam. A megfelelő küszöbértéket úgy határozták meg, hogy melyik küszöb biztosítja a legpontosabb eredményeket az egyes szövettípusokra vonatkozóan. Ezeket az adatokat mentettem, hogy feltölthessem az osztályozómba.

8. lépés: Készítse el saját osztályozóját

Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!
Saját osztályozó készítése!

Miután megtaláltam a legmegfelelőbb küszöbértékeket az egyes szövettípusokhoz, szerkesztettem az eredeti kódomat, hogy a felhasználó adja meg a kép számát és szövet típusát a mammográfiai kép küszöbének kiválasztásához. Ezután a diagnosztizált mammográfiás helyet ábrázoltam a talált helyekkel az eredeti mammográfiás képeken. Ezt szórakoztatóbbá akartam tenni, ezért programoztam egy funkciót a ROI körüli körkörös terület kivágásához. A felhasználót arra kell utasítani, hogy válasszon egy középpontot és több pontot, amelyek a legjobban tartalmazzák a ROI -t. Ide csatoltam mindkét matlab fájlt.

9. lépés: Javítások? Bármi hozzáfűznivaló?

Miközben ezt az oktatható cikket írtam, sok javítást tapasztalok az osztályozóban, például a textúraelemzés alapján megkereshetem a különböző típusú tömegek megkülönböztetésének módszereit, vagy javíthatom a SandBoxProject pontossági tesztelésének szakaszát. fájlt. Mivel ez egy határidős projekt volt, valahol meg kellett állnom, de remélem, hogy képes leszek más alkalmazásokban is hasznosítani a képfeldolgozási készségeket. Továbbá csatoltam a fájlt, amelyet az összes rendellenes mammográfiás kép kötegelt feldolgozására használtak.

Ajánlott: