Cuprins:
- Pasul 1: Organizarea datelor mamografice
- Pasul 2: Prelucrarea imaginilor
- Pasul 3: Cod prag
- Pasul 4: Găsirea anomaliilor pentru fiecare imagine binară
- Pasul 5: Trasarea locației și dimensiunii masei diagnosticate pentru comparație vizuală
- Pasul 6: Implementarea celei de-a doua metode de comparație
- Pasul 7: Analiza datelor colectate
- Pasul 8: Realizarea propriului dvs. clasificator
- Pasul 9: Îmbunătățiri? Orice gânduri?
Video: Utilizarea pragurilor de intensitate a scalei de gri variate pentru a vizualiza și identifica anomaliile din imaginile mamografice: 9 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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:
- Numărul imaginii:
- coordonata x a masei
- y coordonata masei
- Raza de masă: (Aceasta a definit o dimensiune aproximativă pentru masă
A doua matrice conținea informații de clasificare:
- Tipul țesutului de fundal: Gras (F), Glandular gras (G), Dens (D)
- Descrierea masei: bine delimitată (CIRC), spiculată (SPIC), nedefinită alta (MISC) Distorsiune arhitecturală (ARCH), asimetrie (ASYM), normală (NORM)
- 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
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.
- 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ă.
- 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
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ă
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ă
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
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
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
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:
O modalitate mai bună de a vizualiza / documenta fișierele pe instructabile: 4 pași
O modalitate mai bună de a vizualiza / documenta fișierele pe instructabile: oamenii includ deseori fișiere pentru proiect prin intermediul încărcărilor Instructables. Adesea acestea sunt fișiere sursă de software care pot fi chiar inima bătută a instructabilului. Dar Instructables nu oferă cititorului o modalitate ușoară de a citi și revizui codul. (
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C - Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: 5 pași
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C | Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: Bună băieți, în acest instructables vom învăța cum să utilizați LED-uri neopixel ws2812 sau benzi LED sau matrice LED sau inel cu LED cu placa de dezvoltare m5stack m5stick-C cu Arduino IDE și vom face un model curcubeu cu el
Hack pentru a vizualiza toți pașii unui instructabil fără să vă conectați
Hack pentru a vizualiza toți pașii unui instructabil fără să vă conectați !: Iată un mic hack care vă va economisi minute inutile de conectare. Practic vă permite să „Vizualizați toți pașii pe o singură pagină” a oricărui instructabil fără să vă conectați și FĂRĂ să utilizați orice software de „hacking”! Vă rog, nu că acesta este doar un mic truc
Cum să urmăriți imaginile în Photoshop Elements 6: 6 Pași
Cum să urmăriți imaginile în Photoshop Elements 6: În acest instructiv vă voi arăta cum să urmăriți orice imagine și să o faceți să arate ca și cum ați schițat-o. Acest lucru este destul de simplu și, dacă doriți, îl puteți face mai detaliat. Pentru a face acest lucru, veți avea nevoie de: 1. Photoshop Elements 6 (Sau orice formă de photosh
Afișați imaginile de pe un telefon mobil PSP / A pe o ramă foto digitală: 3 pași
Afișați imagini de pe un telefon mobil PSP / A pe o ramă foto digitală: Ei bine … titlul spune totul cu adevărat … Acesta este un instructabil foarte simplu și nu necesită mai mult hardware sau software decât ar trebui să aveți deja ! Orice întrebare trimiteți-mi un mesaj sau comentariu! De fapt, nu trebuie să faceți nicio modificare pentru a face