Cuprins:

Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice: 9 pași
Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice: 9 pași

Video: Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice: 9 pași

Video: Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice: 9 pași
Video: 25.01.2023, 14:00 | Susţinerea Tezei de Doctor în Medicină - BORDENIUC Gheorghe 2024, Noiembrie
Anonim
Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice
Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice

Scopul acestui proiect a fost de a identifica și utiliza un parametru pentru a procesa imagini mamografice în scară de gri ale diferitelor clasificări ale țesuturilor de fundal: țesut gras, glandular gras și dens. Această clasificare este utilizată atunci când radiologii analizează mamografiile și trebuie să ia în considerare dacă densitatea țesutului va ascunde orice anomalii, cum ar fi leziunile sau tumorile. Acest lucru se datorează faptului că atât structurile fiziologice normale, cum ar fi țesutul glandular, cât și țesutul conjunctiv fibros. și morfologii anormale, cum ar fi calcificările și tumorile, vor apărea foarte strălucitoare pe mamografie, în timp ce țesutul gras mai puțin dens va părea negru. Prin urmare, a fost potrivit să programăm un clasificator care să poată manipula nivelurile de intensitate a pixelilor pentru a vizualiza și identifica cel mai bine masele.

Pasul 1: Organizarea datelor mamografice

Organizarea datelor mamografice
Organizarea datelor mamografice

Unul dintre primele lucruri pe care mi-am dat seama că trebuie să le gestionez a fost organizarea datelor într-un mod foarte clar, concis și accesibil. Acestea sunt variabilele pe care le-am extras din baza de date mini-MIAS a mamografiilor. Am creat două matrice. Una care conține 4 coloane:

  1. Numărul imaginii:
  2. coordonata x a masei
  3. y coordonata masei
  4. Raza de masă: (Aceasta a definit o dimensiune aproximativă pentru masă

A doua matrice conținea informații de clasificare:

  1. Tipul țesutului de fundal: Gras (F), Glandular gras (G), Dens (D)
  2. Descrierea masei: bine delimitată (CIRC), spiculată (SPIC), nedefinită alta (MISC) Distorsiune arhitecturală (ARCH), asimetrie (ASYM), normală (NORM)
  3. Diagnostice: benigne (B), maligne (M)

Deoarece scopul acestui proiect a fost de a determina cel mai bun prag pentru fiecare tip de țesut de fundal, nu toate informațiile au fost necesare. Cu toate acestea, puteți extinde proiectul pentru a include analiza texturii și puteți testa clasificatorul în funcție de descrierile de masă cunoscute.

Notă laterală: baza de date din care am obținut imaginile mamografice diagnosticate a organizat informațiile despre fiecare mamografie într-un fișier text separat de imagini. Mi-a fost ușor dificil să extrag datele dintr-un fișier text și să le organizez în forme matrice, dar următorul link a fost foarte util pentru a afla toate acestea. Alternativ, trebuie doar să ajustați codul pe care l-am lipit mai sus pentru scopurile dvs.

Format fișier mamografie: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

Ajutor TextScan: https://www.mathworks.com/help/matlab/ref/textsca… Baza de date mamografică:

Pasul 2: Prelucrarea imaginilor

Procesarea imaginii
Procesarea imaginii

Ei bine, al doilea lucru care a apărut când îmi dădeam seama cum să identific masele a fost că, pentru multe mamografii anormale, nu puteam spune vizual unde era anomalia sau cât de mare era. Evident, deoarece nu sunt radiolog cu experiență, era de așteptat. Cu toate acestea, cel mai simplu mod de a găsi anomalii (conform căutărilor mele îndelungate pe Google) a fost să analizăm concentrațiile de zone luminoase și întunecate. Am folosit în primul rând funcția adapthisteq pentru a îmbunătăți contrastul imaginii și apoi imbinare pentru a converti imaginea într-o imagine binară pentru a experimenta cu diferite niveluri de prag.

  1. adapthisteq: Această funcție transformă valorile de intensitate ale imaginilor în tonuri de gri și rgb utilizând egalizarea histogei adaptive cu contrast limitat. Cu alte cuvinte, reglează histograma valorilor intensității la un tip specific de distribuție. Legătura mathworks pentru această funcție este atașată mai jos pentru o lectură ulterioară.
  2. imbinarizați: creează o imagine binară dintr-o imagine la scară de gri prin atribuirea tuturor pixelilor peste o anumită intenție la 1s și a pixelilor sub valoarea respectivă a 0. Am folosit această funcție pentru a testa pragul optim pentru a reduce zgomotul țesutului de fundal.

Pasul 3: Cod prag

Cod prag
Cod prag

O buclă for este utilizată pentru a binariza mamografia cu praguri diferite. Pentru a oferi o imagine mai mare, bucla for conține codul de la Pasul 3 până la Pasul 7. Deci, fiecare imagine binară va fi analizată pentru anomalii. În plus, această buclă pentru este încorporată într-o altă buclă pentru care importă o nouă imagine mamografică din baza de date în fiecare iterație.

Pasul 4: Găsirea anomaliilor pentru fiecare imagine binară

Găsirea anomaliilor pentru fiecare imagine binară
Găsirea anomaliilor pentru fiecare imagine binară
Găsirea anomaliilor pentru fiecare imagine binară
Găsirea anomaliilor pentru fiecare imagine binară

Am procesat în continuare imaginile binare folosind funcția strel împreună cu imopen pentru a elimina zgomotul de fond. Imaginea binară din pasul anterior este inversată și filtrată folosind vecinătatea definită de SE. Apoi am folosit bwlabel pentru a eticheta orice zone care aveau cel puțin 8 pixeli conectați.

Funcția de recuzită pentru regiune a fost utilizată pentru a găsi proprietățile centrului și a zonei fiecărui loc identificat de bwlabel.

Apoi toate punctele mai mari de 500 de pixeli au fost identificate folosind ismember. Centroidele pentru punctele identificate au fost reprezentate grafic pe o imagine care afișa doar punctele mai mari decât 500. Zona identificată = membru (Etichetate, indicii (sortateAreas> 500)); Puncte = Identificat> 0;

Pasul 5: Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală

Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală

Am vrut să văd dacă petele găsite de bwlabel erau corecte. Am făcut asta în două moduri. Am analizat mai întâi acuratețea clasificatorului meu făcând o comparație vizuală. Am reprezentat pur și simplu dimensiunea și locația reală a anomalii (cercul roșu) și locația determinată de cod (albastru x) pe imaginea mamografiei pre-procesate. Cele șase imagini de mai sus arată efectele creșterii valorii pragului în tonuri de gri.

Pasul 6: Implementarea celei de-a doua metode de comparație

Implementarea celei de-a doua metode de comparație
Implementarea celei de-a doua metode de comparație

Al doilea mod în care am testat clasificatorul și valorile pragului au fost determinând dacă locațiile găsite de clasificator se aflau la o anumită distanță de coordonatele de anomalie diagnosticate. Am salvat pragurile pentru care cel puțin unul dintre punctele identificate se aflau la 1,5 * r de la anomalia cunoscută într-un fișier text separat numit Mammogram Data. Scopul acestui lucru a fost de a găsi pragul minim necesar pentru ca clasificatorul meu să identifice anomalia.

Pasul 7: Analiza datelor colectate

Analiza datelor colectate
Analiza datelor colectate
Analiza datelor colectate
Analiza datelor colectate

Am rulat programul pe toate imaginile mamografice anormale și am rămas cu un imens fișier text cu date. Pentru a găsi cel mai bun prag pentru fiecare tip de țesut, am organizat datele în funcție de tipul de țesut și am trasat o histogramă a valorilor pragului pentru fiecare tip de țesut. Valoarea pragului adecvat a fost decisă asupra pragului care a furnizat cele mai precise rezultate pentru fiecare tip de țesut. Am salvat aceste date pentru a le încărca în clasificatorul meu.

Pasul 8: Realizarea propriului dvs. clasificator

Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!
Realizarea propriului dvs. clasificator!

După ce am găsit cele mai potrivite valori de prag pentru fiecare tip de țesut, mi-am editat codul original pentru ca un utilizator să introducă numărul imaginii și tipul de țesut pentru a alege pragul pentru imaginea mamografică. Am trasat apoi locația diagnosticată a mamografiei cu locațiile găsite pe imaginile mamografiei originale. Am vrut să fac acest lucru mai distractiv, așa că am programat o funcție pentru a decupa o regiune circulară care înconjoară rentabilitatea investiției. Utilizatorul ar fi instruit să aleagă un punct central și mai multe puncte care să cuprindă cel mai bine rentabilitatea investiției. Am atașat ambele fișiere matlab aici.

Pasul 9: Îmbunătățiri? Orice gânduri?

Pe măsură ce scria acest instructable, încep să văd multe îmbunătățiri pe care le-aș putea face clasificatorului, cum ar fi găsirea unor modalități de a distinge între diferite tipuri de mase identificate pe baza analizei texturii sau îmbunătățirea testării secțiunii de precizie a SandBoxProject. fişier. Deoarece acesta era un proiect cu termen limită, a trebuit să mă opresc undeva, dar sper că voi putea folosi abilitățile de procesare a imaginilor pe care le-am învățat în alte aplicații. De asemenea, am atașat fișierul care a fost utilizat pentru procesarea în serie a tuturor imaginilor mamografice anormale.

Recomandat: