Determinarea Dimensiunii Tumorii Hemamgiom pe Baza Unui Centimetru Gradat (in Imagine)

CUPRINS

LISTA FIGURILOR…………………………………………………………………………………….11

LISTA ACRONIMELOR……………………………………………………………………………..13

INTRODUCERE………………………………………………………………………………………….15

1.Imagini Medicale……………………………………………………………………………………….17

Detalierea conceptului de Imagini Medicale…………………………………………..17

Clasificare Imagini…………………………………………………………………………….18

Formate de Imagini……………………………………………………………………………19

2 .Hemangiomul……………………………………………………………………………………………21

2.1 Generalitati……………………………………………………………………………………..21

2.2 Cauze………………………………………………………………………………………………21

2.3 Simptomatologie……………………………………………………………………………….22

2.4 Investigații Paraclinice ……………………………………………………………………..22

3. Spații de culoare si segmentare………………………………………………………………….24

3.1 Definirea spatiului de culoare …………………………………………………………….24

3.2 RGB………………………………………………………………………………………………26

3.3 Lab…………………………………………………………………………………………………28

3.4 HSV………………………………………………………………………………………………..29

4. Detaliera Proiectului……………………………………………………………………………………35

4.1 Mediul de lucru………………………………………………………………………………..35

4.2 Determinarea dimensiunii hemangiom………………………………………………..36

CONCLUZII………………………………………………………………………………………………..43

BIBLIOGRAFIE………………………………………………………………………………………….45

ANEXE………………………………………………………………………………………………………..47

Lista figuri

Figura 1. Ecografia Craniului

Figura 2.Imagine medicala Rezonantă Magnetică

Figura 3.Imagine Color

Figura 4.Imagine Alb-Negru

Figura 5.Hemangiom

Figura 6.Hemangiomul ȋn diferite stadii de evoluție

Figura 7. Lungimile de undă pentru fiecare culoare

Figura 8.Structura ochiului

Figura 9. Celulele fotoceptoare ale ochiului

Figura 10.Cubul RGB

Figura 11. Componenta Roșu din spațiul RGB

Figura 12. Componenta Verde din spațiul RGB

Figura 13. Componenta Albastru din spațiul RGB

Figura 14.Spațiul LAB

Figura 15.Transformarea Lab

Fig. 16 Spațiul de culoare HSV – vizualizare circulară

Fig. 17 Spațiul de culoare HSV – vizualizare conică

Figura 18 Spatiul HSV cu componente

Figura 19. Funcția getline

Figura 20.Funcția getrect

Figura 21 .Imaginea cropată

Figura 21 .Histograma pentru planul L

Figura 22.Segmentare pe planul de L

Figura 23.Segmentare pe planul de a

Figura 24.Segmentare pe planul de b

Figura 25.Segmentare pe planul de L si a

Figura 26.Segmentare pe planul de L si b

Figura 27.Segmentare pe planul de b si a

Lista acronime

RGB Red Green Blue

BMP Bitmap

GIF Graphic Interchange Format

JPEG Joint Photographic Expert Group

MATLAB  Matrix Laboratory

Hsv Hue,Saturation,Value

CEI Comisia Internațională de Iluminare

CMYK Cyan, magenta, yellow, key

Max Maxim

Min Minim

Introducere

Imagistica Medicală a luat amploare in ultimul deceniu.Cu ajutorul ei putem observa si modifica mult mai bine imaginiile medicale in scopul ȋmbunătățirii acestora.Din acest motiv am ales tema determinării dimensiunii tumorii hemangiom pe baza unui centimetru gradat. Ca o disciplină , în cel mai larg sens, aceasta face parte din imagistică biologică.

Hemangioamele reprezintă tumori vasculare de natura benignă ce apar ȋnca din primele zile de viată si involuează pȃna la vȃrsta de 10 ani. 30% din totalitatea hemangioamelor sunt vizibile ȋnca din primele ore de la nastere, iar restul de 70% apar ȋn primele zile sau săptămȃni . Ele sunt considerate a fi cele mai frecvente tumori benigne ale copiilor.

Pȃna in prezent nu s-a reusit dezvoltarea unui software pentru determinarea automată a dimensiunii unei tumori hemangiom. Majoritatea hemangioamelor sunt localizate la nivelul tegumentului. Diagnosticul hemangioamelor se pune ȋn urmă efectuarii unui examen fizic amănunțit. Se apreciază forma, consistența , delimitarea leziunii și caracterul invaziv. Deși, de cele mai multe ori, nu sunt necesare alte investigații suplimentare, este importantă determinare dimensiunii pentru a observa evolutia sau involutia acestuia. O să analizam pe scurt imaginea in spațiile de culoare RGB,Lab si HSV pentru a evidentia cel mai precis această tumoră.

Spectrul vizibil este in domeniul lungimilor de unda: 360nm-830nm.• Imaginea se formează ȋn ochiul uman pe baza luminii focalizate pe retină de lentila oculara. Impresia de culoare este dată de conuri ce conțin pigmenți fotosensibili cu absorbții spectrale diferite. Datorită caracteristicilor conurilor din ochiul uman, culorile sunt văzute ca diferite combinații ale culorilor primare: rosu, verde si albastru.

În sistemul RGB putem definio culoare prin trei coordonate reprezentând cantitățile culorilor de bază, roșu, verde și albastru (Red, Green, Blue). Spațiul de culoare Lab (denumit și spațiu de culoare L*a*b) este un model de culoare dezvoltat la începutul anilor 1930. Aceasta include toate culorile pe care le poate percepe ochiul uman. Sunt conținute culorile din spațiile de culoare RGB și CMYK plus altele. În Lab, culoarea este indicată prin trei valori: L, a și b. Aici L este componenta luminației – corespunzătoare valorii de gri, iar a și b reprezintă partea de roșu-galben, respectiv albastru-galben Modelul HSV definește un spațiu de culoare în funcție de trei componente constituente: hue (nuanță) – tipul culorii (cum ar fi roșu, albastru, sau galben). Primește valori între 0-360 (dar normalizat ia valori între 0-100%),saturation (saturație) – puritatea nuanței culorii. Primește valori între 0-100% . Cu cât saturația este mai mică, cu atât culoarea va apărea mai ștearsă,value (valoare) – luminozitatea culorii. Primește valori între 0-100% .

O să facem o segmentare asupra imaginii originale pentru a putea observa cel mai corect tumora hemangiom,astfel o sa obtinem dimensiuniile acesteia.

Capitolul 1. Imagini Medicale

1.1 Detalierea conceptului de Imagini Medicale

Dezvoltarea tehnologiei din electronică si informatică impune acordarea unei atenții sporite asupra prelucrări si analizei imaginilor.Tehnicile imagistice sunt deja de multă vreme în repertoriul medicului ce pune diagnosticul. Începând cu radiografiile tradiționale disponibile în toate secțiile de urgență ale spitalelor și continuând cu o serie de investigații structurale și funcționale foarte ingenioase ale țesuturilor și organelor, imagistica medicală este în prezent în centrul practicilor medicale moderne.Prin prelucrarea si analiza imaginilor ne referim la ansamblul tehnicilor de achiziție,afișare,modificare,stocare si explorare a informației din imaginea bidimensionala.Putem oferi cȃteva exemple de astfel de operații : marirea contrastului,filtrarea de reducere a zgomotului,transformăile geometrice si morfologice.O astfel de analiză se poate efectua si asupra imaginilor medicale. Imagistica medicală este o trăsătură caracteristică centrală a medicinei moderne. Pe lângă investigațiile de laborator, tehnici bazate pe analize de natură chimică ale sângelui sau urinei, imagistica medicală oferă medicilor multiple modalități de a-și extinde investigațiile dincolo de observațiile exterioare.

Imagistica medicală este tehnica si procesul de reprezentare vizuală a spațiului interior al unui corp de analiză clinică și intervenție medicală. Imagistica medicală caută să prezinte structuri interne sau externe ascunse de piele și oase, precum și pentru a diagnostica si trata boala. Imagistica medicala stabilește, de asemenea o bază de date de anatomie și fiziologie normale pentru a face posibilă identificarea anomaliilor.Astfel de proceduri sunt de obicei considerate parte a patologiei în loc de imagistică medicala.

Figura 1. Ecografia Craniului

Ca o disciplină , în cel mai larg sens, aceasta face parte din imagistică biologică și încorporează si radiologia care utilizează tehnologii de imagistică de radiografie cu raze X, imagistică prin rezonanță magnetică, ecografie medicală sau cu ultrasunete, endoscopie, elastografie, imagistică tactilă, termografia, fotografie medicală.Ca un câmp de investigație științifică, imagistica medicală constituie o sub-disciplină de inginerie biomedicală,în funcție de context: cercetare și dezvoltare în domeniul instrumental, achiziție de imagini (de exemplu, radiografie). Imagistica medicala este adesea percepută pentru a desemna un set de tehnici care produc imagini noninvazive ale aspectului interior sau exterior al corpului.

Procesul de achiziție al imaginilor este laborios. Există sute, până la milioane de senzori optici care transformă lumina în curent electric și apoi în biți. Toate aceste procese, pe lângă caracteristicele senzorului (uneori precare) și erori ce nu țin de achiziția propriu-zisă, cum ar fi optica aparatului, duc la deformarea imaginilor și mai mult, la adăugarea de zgomot. Prin modificările pe care le facem asupra unei imagini ,acoperim pe cât se poate aceste neajunsuri, imaginea rezultată fiind gata pentru prelucrări ulterioare.

1.2 Clasificare Imagini

Imaginile matriciale sunt alcătuite din pixeli dispuși în rânduri suprapuse pentru a "acoperi" forma imaginii. Cu cât aceeași imagine este reprezentată pe mai mulți pixeli cu atât claritatea ei crește. Monitoarele curente folosesc 72 pixeli/inch. Imaginile pot fi alb-negru sau color:

• pentru imaginile alb-negru și în tonuri de gri, deoarece ochiul uman nu poate distinge mai mult de 200 nuanțe de gri, s-a considerat că 256 (2 la puterea 8) este cel mai apropiat număr care satisface aceasta situație, de aceea, imaginile alb-negru sunt codificate cu 8 biți pentru fiecare pixel; există însă și imagini 16-bit (cu un cod de 16 biți pentru fiecare pixel) sau 32-bit (cu un cod de 16 biți pentru fiecare pixel).

• pentru imaginile color s-a păstrat numărul de 256 de nuanțe pentru fiecare din cele 3 culori de bază: roșu, verde, albastru. Prin combinarea celor 3 rezultă o imagine numită RGB (abrevierea de la Red, Green, Blue), codificată pe 3 bytes (3 X 1 byte (8 biți) = 24 biți) care generează peste 16 milioane de culori (mult mai mult decât percepe ochiul uman).

Figura 2.Imagine Color Figura 3.Imagine Alb-Negru

1.3 Formate de Imagini

Vom detalia puțin câteva din cele mai uzuale formate:

• .BMP harta de biți (Bitmap) reprezintă forma brută a unei imagini, adică fiecare pixel ce compune imaginea este memorat individual (format foarte bun pentru procesarea de imagini). Spre exemplu o poză de 800 X 600 pixeli va fi memorată pe 800 X 600 X 24 biți = 11 520 000 biți (~11 Mb = ~1.37MB), indiferent de informația care se află în interiorul pozei. Pornind de la acest inconvenient (dimensiunea foarte mare pe disc) a apărut necesitatea dezvoltării formatelor ce comprimă memorarea imaginii (încercând în același timp să se păstreze cât mai multă informație din imaginea originală). Vom discuta acum 2 din cele mai uzuale formate de comprimare.

• .GIF (Graphic Interchange Format) este un format foarte puternic (calitate bună, comprimare foarte puternică), dar are dezavantajul de a memora o paletă de numai 256 culori (8 biți). Cu alte cuvinte memorează o paletă la fel de mare ca imaginea alb-negru (ca să ne dăm seama de rata de compresie). Ca ordin de mărime aceeași imagine de 800 X 600 ar avea o dimensiune maximă de ordinul KB. Răspunsul la întrebarea “Când ar trebui să folosesc .GIF?” va fi: atunci când imaginea color(RGB) folosește din paleta sa de peste 16 milioane de culori un număr cât mai mic (ținta fiind 256). O altă utilizare ar putea fi la imaginile de mici dimensiuni (ținta ar fi imaginile la care lungime X lătimea nu depășește 256 pixeli).

• .JPEG (Joint Photographic Expert Group) este un algoritm de compresie care a fost destinat comprimării imaginilor alb-negru sau color luate din realitate. Algoritmul de comprimare se bazează pe sensibilitatea crescută a ochiului uman la variațiile mici de luminanță (mai mulți biți pentru luminanță) si sensibilitatea mai redusă la variațiile mici de culoare (mai puțini biți pentru variațiile mici de culoare). O proprietate foarte utilă a JPEG-ului este capacitatea acestuia de a avea un grad variabil de comprimare, ales de utilizator. Aceasta înseamnă că dacă dorim obținerea unui fișier de imagine cât mai mic, se poate alege o rată mare de comprimare, în dauna calității; invers, pentru a menține calitatea la o cota ridicată, alegem un grad redus de comprimare.

• DICOM. Fișierele DICOM, folosite pentru memorarea imaginilor medicale, conțin pe lângă imagine în sine metadate care oferă informații despre imagine (mărime, dimensiuni, adâncime, modalitatea folosită, setări ale echipamentului, etc.). Pentru citirea acestor informații se folosește de exemplu funcția dicominfo din MATLAB.

Capitolul 2 .Hemangiomul

2.1 Generalitati

Hemangioamele reprezintă tumori vasculare de natura benignă ce apar ȋnca din primele zile de viată si involuează pȃna la vȃrsta de 10 ani. 30% din totalitatea hemangioamelor sunt vizibile ȋnca din primele ore de la nastere, iar restul de 70% apar ȋn primele zile sau săptămȃni . Ele sunt considerate a fi cele mai frecvente tumori benigne ale copiilor. Apar atȃt pe tegumente, cȃt și la nivelul organelor interne,ȋnsă de cele mai multe ori nu au nici o importantă patologică.Probleme se pun atunci cȃns fecteaza funcțiile vitale sau cȃnd apar ulcerații, necroze si hemoragii. Existența unui hemangiom cutanat poate fi insoțită și de malformații congenitale, iar nou născutul trebuie investigat suplimentar.In cazul in care exista malformatii, cele mai des sunt localizate la nivel vascular, cardiac si ȋn sistemul nervos.
Evoluția lor este marcată la inceput de o ȋnmultire rapidă, ceea ce duce la cresterea ȋn dimensiunii tumorii, ca apoi sa inceapă procesul invers, de involuție. Aspectul lor variază foarte mult in funcție de localizare. Daca apar sub tegument sunt mai degrabă violacee și nu au aspect particular, bine individualizat.Hemangioamele apar la aproximativ 10- 12% dintre nou născuț i,fiind mai frecvente la prematuri (22- 30%).Aceste tumori sunt adesea inofensive, morbitatile asociate fiind minore. Sangerarile si eroziunile sunt foarte rare si doar ocazional apar hemangioame de dimensiuni importante, cu localizări critice care să afecteze circulația sangvină sistemică.Un risc crescut de apariție a unor anomalii permanente au pacienții cu hemangioame localizate la nivelul feței.

Figura 4.Hemangiom

2.2 Cauze

Hemagioamele sunt tumori vasculare benigne, a caror cauză exactă nu este deocamdată cunoscută. Specialiștii ȋnca studiază patologia , și se pare că un important rol in dezvoltare il au influențele hormonale, in special estrogenii. Aparent, acești hormoni sunt cei care stimulează proliferarea anormala. Hemangioamele pot să fie localizate doar la nivel superficial, cum este cazul hemangioamelor capilare, in dermul profund (hemangioamele cavernoase), sau pot fi mixte. Aproximativ 80% dintre hemangioame apar la nivelul feței si gȃtului, iar dintre structurile interne, cel mai afectat este ficatul. Hemangioamele nu au componența ereditar, ele apar spontan, ca urmare a unor modificări apărute ȋn cursul gestației sau imediat după naștere. Specialiștii ȋnca studiază cauzele de apariție, ȋn speranța că astfel hemangioamele, mai ales cele cu localizări ce predispun la complicații, se pot preveni in viitor.

2.3 Simptomatologie

Majoritatea hemangioamelor sunt localizate la nivelul tegumentului, ȋn special in regiunea cervico-facială. Ele sunt adesea lipsite de expresie clinică, nu dor și nu influentează funcționalitatea regiunii pe care o ocupă. Hemangiomul evolueaza ȋn timp. Astfel, de la un punct rosu la naștere se poate transforma ȋn timp intr-o excrescentă spongioasă care poate atinge chiar si 7-8 cm in diametru. Forma si consistenta hemangioamelor se poate modifica in timp. Majoritatea raman bine circumscrise, și peste 80% dintre ele sunt leziuni solitare, focale.După o perioadă de evoluție, hemangiomul nu mai crește, dimensiunile sale stacnează, pentru ca apoi să intre intr-un proces de involuție. Aproximativ jumatate din aceste tumori dispar pana la vȃrsta de 4 ani, iar procentul urcȃ la 90% la vȃrsta de 10 ani. Deși in unele cazuri dispare și hiperpigmentarea indusa de tumoră, unii copii răman totși cu semne ale hemangioamelor sub forma unor pete discrome la nivelul tegumentului.

2.4 Investigații Paraclinice

Diagnosticul hemangioamelor se pune ȋn urmă efectuarii unui examen fizic amănunțit. Se apreciază forma, consistența , delimitarea leziunii și caracterul invaziv. Deși, de cele mai multe ori, nu sunt necesare alte investigații suplimentare, este importantă realizarea diagnosticului diferențial al hemangioamelor, pentru a se exclude alte afecțiuni, cu potențial mai grav. Ȋn unele cazuri există posibilitatea ca hemangiomul să asocieze și malformații parenchimatoase sau vasculare si de aceea specialiștii consideră utila realizarea unor investigații imagistice.

Mai jos regăsim cȃteva forme ale hemangiomului

Figura 5.Hemangiomul ȋn diferite stadii de evoluție

Capitolul 3. Spații de culoare si segmentare

3.1 Definirea spatiului de culoare

Un model de culoare este o modalitate de a descrie și specifica o culoare. Termenul este adesea folosit și pentru un sistem de spațiu de culoare și spațiul de culoare pe care se azează.Spațiile de culoare pot fi exprimate ȋn multe modalități,fiecare modalitate cu avantajele și dezavantajele ei.Unele reprezentări vin ȋn ajutorul oamenilor pentru a observa culorile mult mai ușor,iar alte reprezentări sunt pentru a procesa datale mai exact.Un singul lucru au ȋn comun toate spatțile de culoare, numărul de variabile sau dimensiunile.Sunt necesare trei variabile pentru a descrie un spațiu de culoare.O să analizam pe scurt spațiul de culoare RGB,Lab si HSV.

Spectrul vizibil este in domeniul lungimilor de unda: 360nm-830nm.• Imaginea se formează ȋn ochiul uman pe baza luminii focalizate pe retină de lentila oculara. Impresia de culoare este dată de conuri ce conțin pigmenți fotosensibili cu absorbții spectrale diferite.

– aprox 65% din conuri sunt sensibile la lumină rosie

– aprox 33% din conuri sunt sensibile la lumină verde

– aprox 2% din conuri sunt sensibile la lumină albastra

Figura 6. Lungimile de undă pentru fiecare culoare

Datorită caracteristicilor conurilor din ochiul uman, culorile sunt văzute ca diferite combinații ale culorilor primare: rosu, verde si albastru.

Cu toții am auzit de pixel. Pixelul (denumire provenită din “picture element”) este cel mai mic element al unei imagini digitale. Pixelii sunt pătratelele colorate care se văd cȃnd măriti la maxim o imagine in photoshop.Calculatorul stochează informațiile folosind sistemul binar, adică prin intermediul a două cifre 0 si 1. Cea mai mică celulă de memorie se numește bit și poate avea valoarea 0 sau 1. Aceste valori numerice sunt expresia unui fenomen fizic care are loc ȋn acea celulă, cum ar fi dacă trece sau nu curent electric prin ea.

Termenul de bit in imaginea digitală definește numărul de biți alocați unui pixel. De exemplu, o imagine compusă din pixeli albi si negri este o imagine pe 1 bit. Fiecarui pixel ȋi este alocat 1 bit, care poate fi 0 sau 1 (negru sau alb). Daca ridicam numarul de biți la 2, pixelul va avea alocate următoarele valori: 00, 01, 10(unu-zero) si 11(unu-unu). Imaginea poate avea 4 valori posibile per pixel (negru, gri ȋnchis, gri deschis si alb) si așa mai departe pentru 4, 8, 16, 32 de biți.Ȋn prezent formatul comun al imaginii digitale este 8 biți, adica 2^8 combinații posibile de 0 și 1, ȋn total 256 de combinații. Aceste imagini au 256 de nuanțe de gri per pixel. Cercetătorii au constatat că pentru a simula un degradeu de la alb la negru care apare continuu, pentru ochiul uman este nevoie de 240 de tonalităti. Asadar standardul de 8 biți este suficient pentru a crea o imagine alb negru cu tonuri continue.Imaginea color RGB este de fapt o combinație de 3 imagini pe 8 biți, cȃte una pentru canalele roșu (RED), verde(GREEN) si albastru(BLUE). Imaginea RGB este o imagine cu 8 biți pe canal sau imagine pe 24 de biți, capabilă sa redea (2^8)x(2^8)x(2^8) culori, adică 16.7 milioane de culori.Modul RGB cu 8 biți/canal este standardul in fotografia digitală actuală.

3.2 RGB

Modelul RGB este practic singurul model aditiv de culoare folosit în mod curent. Este un model aditiv care presupune că plecând de la negru (fără culoare) prin adăugarea celor trei culori de bază (primare de la cele trei surse de lumină rosu, verde, albastru) se obțin celelalte nuanțe până la alb .

Figura 7.Cubul RGB

În sistemul RGB putem definio culoare prin trei coordonate reprezentând cantitățile culorilor de bază, roșu, verde și albastru (Red, Green, Blue), deci în spațiul RGB.Spectrul este o bandă continuă de lungimi de undă emisă, reflectată sau transmisă de deverse obiecte. Ochiul uman nu poate vedea întregul spectru, doar culori cu valori din domeniul [400nm-700nm] corespunzător albastru-roșu.

Spectrul este reprezentat ca un vector de numere care măsoară intensitatea diferitelor lungimi de undă. Presupunând că un aparat foarte simplu scanează un spectru la fiecare 3 nm (100 de puncte pentru 300 nm) și măsoară fiecare punct cu o precizie de doar 8 bit, înseamnă că aparatul poate distinge mai mult de 10240 de spectre diferite (atâtea numere pot fi codificate pe 8 bit x 100 puncte = 800 bit de date). Dar oamenii pot distinge doar în jur de 10 milioane de culori. Aceasta se întâmplă pentru că ochiul are doar trei tipuri de conuri receptoare în retină care răspund diferitelor lungimi de undă a luminii. Astfel, creierul receptează doar trei semnale pentru fiecare spectru, acestea dându-ne percepția culorii.

3.3 Lab

Spațiul de culoare Lab (denumit și spațiu de culoare L*a*b) este un model de culoare dezvoltat la începutul anilor 1930 de Comisia Internațională de Iluminare (CEI). Aceasta include toate culorile pe care le poate percepe ochiul uman. Sunt conținute culorile din spațiile de culoare RGB și CMYK plus altele. În Lab, culoarea este indicată prin trei valori: L, a și b. Aici L este componenta luminației – corespunzătoare valorii de gri, iar a și b reprezintă partea de roșu-galben, respectiv albastru-galben.Vizualizarea culorilor în sistemul CIE Lab se poate vedea în Figura 21. În adâncime este masurată luminozitatea, iar pe orizontala rosu-verde, iar pe verticală galben-albastru:

Spațiul Lab este utilizat in majoritatea aplicațiilor de analiză automată a imaginilor.

Lab poate fi utilizat pentru a face corecții de culoare precise .

Figura 8.Transformarea Lab

Dacă o să convertim o imagine din RGB ȋn Lab o să arate exact la fel pentru ca Lab contine toate culorile posibile si nu poate exista nicio deteriorare a imaginii.Atunci cȃnd separăm componentele o sa obținem rezultate vizibile.

3.4 HSV

Modelul HSV definește un spațiu de culoare în funcție de trei componente constituente:

Hue (nuanță) – tipul culorii (cum ar fi roșu, albastru, sau galben). Primește valori între 0-360 (dar normalizat ia valori între 0-100%)

Saturation (saturație) – puritatea nuanței culorii. Primește valori între 0-100% . Cu cât saturația este mai mică, cu atât culoarea va apărea mai ștearsă.

Value (valoare) – luminozitatea culorii. Primește valori între 0-100% .

Fig. 9 Spațiul de culoare HSV – vizualizare circulară

Fig. 10 Spațiul de culoare HSV – vizualizare conică

În timp ce modelul RGB definește culorile în termenii combinațiilor posibile a trei culori primare, modelul HSV încapsulează informația despre culoare într-un mod similar cu felul în care oamenii percep culoarea: “Ce culoare este?”, “Cât de intensă este nuanța culorii?”, “Cât de luminoasă (deschisă sau închisă) este culoarea?”.

Modelul de culoare HSV este o transformare non-lineară a modelului RGB. Dându-se o culoare definită de (R, G, B) unde R, G, și B sunt între 0.0 și 1.0, cu 0.0 fiind cea mai mică cantitate iar 1.0 fiind cea mai mare cantitate a culorii, o culoare (H, S, V) echivalentă se poate determina utilizând formulele de mai jos. Fie MAX maximul dintre valorile (R, G, B), și MIN minimul dintre aceleași valori. Atunci:

Valorile rezultate sunt în forma (H,S,V), unde H variază de la 0.0 la 360.0, indicând unghiul, exprimat în grade, din jurul cercului de culoare unde valorea Hue este localizată. S și V variază de la 0.0 la 1.0, cu 0.0 fiind cantitatea cea mai mică iar 1.0 fiind cantitatea cea mai mare, a saturației sau a luminozității. Orice valoare H din afara intervalului [0.0, 360.0] poate fi încadrată în acest interval printr-o divizare modulo 360.0 a lui H. (De exemplu, -30 este echivalent cu 330, iar 480 este echivalent cu 120).

După convertirea imaginii din spațiul de culoare original (RGB) în spațiul HSV, așa cum am arătat anterior, vom reține pentru fiecare pixel al imaginii numai componenta Hue, întrucât considerăm că furnizează o descriere suficient de precisă a distribuției culorii.

Schema de calcul a elementelor vectorului caracteristic pentru culoare este extrem de simplă și rapidă. Imaginea este segmentată într-un număr de blocuri (am ales 16), iar pentru fiecare bloc în parte se calculează media componentei Hue a pixelilor din bloc. Valorile rezultate (în număr de 16) vor forma elementele vectorului caracteristic pentru culoare.

Capitolul 4. Detaliera Proiectului

4.1 Mediul de lucru

MATLAB(de la Matrix Laboratory) este un mediu de dezvoltare pentru calcul numeric și analiză statistică ce conține limbajul de programare cu același nume, creat de MathWorks. MATLAB permite manipularea matricilor, vizualizarea funcțiilor, implementarea algoritmilor, crearea de interfețe și poate interacționa cu alte aplicații. 

MATLAB este un pachet de programe dedicat calcului numeric și reprezentărilor grafice. Elementul de bază cu care operează este matricea, de aici provenind și numele său: MATrix LABoratory. Resursele sale de calcul și reprezentare grafică sunt bogate, permițând operații matematice fundamentale, analiza datelor, programare, reprezentări grafice 2D și 3D, realizarea de interfețe grafice etc. Din punct de vedere al construcției sale, MATLAB este alcătuit dintr-un nucleu de bază în jurul căruia sunt grupate TOOLBOX-urile. Acestea reprezintă niște aplicații specifice, fiind de fapt colecții extinse de funcții MATLAB care dezvoltă mediul de programare de la o versiune la alta, pentru a rezolva probleme din diverse domenii.

Comenzi și funcții principale în MATLAB MATLAB operează cu două tipuri de ferestre:

1. fereastra de comenzi;

2. fereastra pentru reprezentări grafice.

La deschiderea programului MATLAB va apărea pe ecranul calculatorului fereastra de comenzi, având în partea de sus bara de meniuri aferentă. Simbolul “>>” reprezintă prompterul MATLAB și se află la începutul fiecărei linii de comandă din fereastra de comenzi. Ferestrele pentru reprezentări grafice vor apărea atunci când se va cere prin comenzi specifice afișarea unor grafice.

Crearea programelor MATLAB (crearea fișierelor de comenzi *.m) Pentru secvențe lungi de comenzi se recomandă crearea și lansarea în execuție a unui program MATLAB. Acesta este un fișier “text” având extensia .m și conținând succesiunea dorită de comenzi MATLAB. După creare, fișierul devine o nouă comandă externă MATLAB, care poate fi lansată în execuție prin simpla introducere de la tastatură a numelui fișierului (fără extensia .m). Pentru crearea unui astfel de fișier se parcurg următorii pași: – în bara de meniuri a ferestrei de comenzi se selectează File, iar în interiorul acesteia New, urmată de M-file. Se va deschide astfel o nouă fereastră (sesiune de editare cu editorul NOTEPAD) cu bară de meniuri proprie și cu numele Untitled. În acest fișier se scrie programul MATLAB dorit. – pentru a salva fișierul astfel creat sub un alt nume se selectează din bara de meniuri a noii ferestre comanda File, urmată de Save As…; va apărea o nouă fereastră de dialog în care vom preciza numele fișierului (File name:) însoțit de extensia .m și locul unde dorim să îl salvăm (Save in:).

4.2 Determinarea dimensiunii hemangiom

Pentru a putea determina dimensiuniile unui tumorii hemangiom o să analizam imaginea initțială in mai multe spații de culoare.

Primul pas in determinarea dimensiunii unui hemangiom este calcularea numarului de pixeli ce incap intr-o linie de centimentru.Acest lucru ȋl putem facem cu o functie MATLAB

[X,Y]=getline(fig);

Funcția ne permite să selectăm o linie în axele actuale ale figurii fig folosind mouse-ul . Coordonatele poliliniei sunt returnate în X și Y. Folosim clicuri butonul pentru a adăuga puncte liniei. Un shift- , dreapta- , sau dublu- clic adaugă un punct final și se termină selecția polilinie . Apăsarea Return sau Enter încheie selecția linie fără a adăuga un punct final. Apăsarea Backspace sau Delete elimină punctul selectat anterior din linie .

Figura 11. Funcția getline

Următorul pas este de a calcula distanța euclidiană , distanța „obișnuită” între două puncte,X si Y, dată în coordonate carteziene de formula lui Pitagora. Utilizând această formulă ca distanță într-un spațiu euclidian, acest spațiu (ca și orice alt spațiu cu produs scalar) devine spațiu metric.Formula folosita pentru a calcula distanta euclidiana notata in proiectul nostru cu Z este:

 Z2 = (x1+x2)2 + (y1+y2)2

In limbaj Matlab: Z=sqrt(diff(X)^2+diff(Y)^2)

Urmtorul pas este de a selecta o mică portiune din hemangiom pentru a putea observa ce nuante sunt cel mai des ȋntȃilnite.Acest lucru il putem face cu ajutorul funcției :

rect = getrect ( fig ) ;

Funcția ne permite să selectăm un dreptunghi în axele actuale ale figurii „fig” folosind mouse-ul .

Figura 12.Funcția getrect

Acest dreptunghi urmeaza să fie afisat intr-o fereastră separată pentru a putea observa cȃt de bine am făcut selectia.

Figura 13 .Imaginea cropată

4.2.1 Analiză in RGB

Pașii urmatori urmăresc segmentarea imaginii originale din spațiul de culoare RGB in spatial Lab si spațiul Hsv pentru a mai buna evidentiere a hemangiomului. Ȋn spațiul RGB nu putem evidenția foarte bine tumora hemangiom.Făcȃnd o analiză si pe fiecare componentă din spațiul RGB realizăm ca tot nu reusim sa observăm tumora.

Figura 14. Componenta Roșu din spațiul RGB

Figura 15. Componenta Verde din spațiul RGB

Figura 16. Componenta Albastru din spațiul RGB

4.2.2 Analiză in LAB

În Lab, culoarea este indicată prin trei valori: L, a și b. Aici L este componenta luminației – corespunzătoare valorii de gri, iar a și b reprezintă partea de roșu-galben, respectiv albastru-galben.Așa cum am arătat in Figura 14 putem segmenta in planul Lab fiecare componentă ȋn parte dar acest lucru nu ne ajută foarte mult.

Figura 17.Spațiul LAB

4.2.3 Analiză in HSV

Figura 18 Spatiul HSV cu componente

Vom ȋncerca să facem o segmentare a imaginii cropate pe fiecare plan din spațiul Lab .Folosim o histograma ce ȋnseamnă o modalitate de a reprezenta grafic distribuția de date dintr-un set de date.Fiecare valoare este plasată într-un vector . Histograma este un grafic, folosit in statistica descriptiva si care arata o distributie de frecventa. Distributia de frecventa se refera la numarul de evenimente statistice pe clase (grupe) de evenimente. 

In Matlab folosim funcția :

Imhist(I) ;

Figura 19 .Histograma pentru planul L

Folosim doar valorile din vectorul H (histograma) ce se incadrează intr-un anumit interval stabilit de noi,pentru a evita eventualile erori cum ar fi : in imaginea cropata putem regasi si mici porțiuni de piele ce nu au hemangiom.Histograma depinde de selecția pe care o facem din imaginea originală.Din vectorul H o să eliminam valorile care au cea mai mica posibilitate de apariție.Acestă emilinare o facem evaluȃnd valorile din vectorul H si stabilind un anumit prag de selecție.Trebuie sa avem grijă ca acest prag să fie unul potrivit.Dacă pragul este prea jos,este posibil să cuprindem ȋn segmentare și porțiuni ce nu aparțin hemangiomului.Dacă pragul este prea ridicat,putem exclude fără să vrem anumite regiuni din hemanhiom.Ȋn această lucrare am stabilit un prag de 0.007

N=prod(size(L));

index=find(h>=(procS*N));

Vmin=index(1)-1;

Vmax=index(end)-1

Segmentarea pe lanul L,a si b o să se facă intre valorile Vmin si Vmax.

segl=((Lo>Vmin)&(Lo<Vmax));

sega=((ao>Vmina)&(ao<Vmaxa));

segb=((bo>Vminb)&(bo<Vmaxb));

Astfel imaginiilr rezultate o sa fie :

Figura 20.Segmentare pe planul de “L”

Segmentarea pe planul de L nu este una foarte bună pentru ca include si alte elemente din jurul tumorii,numerele centimetrului,conturul degetelor,etc.O să trecem la următoarea segmentare

Figura 21.Segmentare pe planul de “a”

Segmentarea pe planul de “a” reuseste scoaterea in evident a tumorii destul de bine față de imaginea originala,excluzȃnd alte elemente.O sa incercăm si o segmentare pe planul de “b” pentru a ne asigura că am incercat toate variantele.

Figura 22.Segmentare pe planul de “b “

Acestă segmentare nu este potrivită scopului nostrum după cum observam.

Putem observa că cea mai buna segmentare a hemangiomului este pe planul de L si a.O să incercam o combinatie intre planuri.

Figura 23.Segmentare pe planul de “L” si “a”

Figura 24.Segmentare pe planul de “L” si “b”

Figura 25.Segmentare pe planul de “b” si “a „

Segmentare pe planurile de L si a este cea mai buna.

segLa=((ao>Vmina)&(ao<Vmaxa)&(Lo>Vmin)&(Lo<Vmax));

De aici este foarte usor să calculam numărul de pixeli albi ce reprezintă hemangiomul.Mai sus calculasem cati pixeli incap intr-o linie de centimetru.Daca avem aceste două valori,aria hemangiomului se calculeaza prin cȃteva formule simple.

index=find(sega==1);

ArieP=length(index);

Arie=ArieP*(100/Z^2);

CONCLUZII

In cadrul acestei lucrari am determinat dimensiuniile unui tumori hemangiom pe baza unui centimetru gradat (in imagine).Aceste dimensiuni au fost determinate prin segmentarea imaginii originale din spatiul RGL in Lab,incercȃnd si in spatiul Hsv dar făra rezultate multumitoare. Putem observa că cea mai buna segmentare a hemangiomului este pe planul de L si a.Incercam o combinatie intre aceste doua planuri am obtinut cea mai buna evidentiere a tumorii hemangiom ,astfel reușiind sa detrminăm dimensiunea acestuia.Toate acestea au fost efectuate in mediul de lucru MATLAB , un pachet de programe dedicat calcului numeric și reprezentărilor grafice.

Pornind de la imaginea originala am putut ajunge prin segmentare la imaginea finala a tumorii.

Figura 26.Imagine Originală

Figura 27.Produsul finit.

Astfel,pe baza imaginii finale am putut calcula aria hemangiomului cu ajutorul funcțiilor Matlab.In cazul de față tumora hemangiom are aproximativ 7,5 cm pătrati.Toate calculele depind de precizia selectiei liniei de centimetru si de croparea hemangiomului.

Bibliografie

[1] https://en.wikipedia.org/wiki/Lab_color_space

[2] Tehnici Avansate de Prelucrarea și Analiza Imaginilor, Ș.l. Bogdan IONESCU Prof. Constantin VERTAN Conf. Mihai CIUC 2010-2011

[3] PRELUCRAREA SI ANALIZA IMAGINILOR 2007/2008 Prof. Dr. Ing. Constantin VERTAN

[4] https://en.wikipedia.org/wiki/HSV_color_space

[5] https://en.wikipedia.org/wiki/RGB_color_space

[6]http://software.ucv.ro/Cercetare/Rapoarte_tehnice/lucrari/Raport_Academie2.doc

[7]http://www.sfatulmedicului.ro/Nou-nascutul/hemangioamele_4686

[8]http://blog.f64.ro/2012/04/13/despre-pixeli-si-culoare/

ANEXA

Segmentare RGB

%Spatiul RGB

R=rgb(:,:,1);

G=rgb(:,:,2);

B=rgb(:,:,3);

figure;

image(R), colormap([[0:1/255:1]', zeros(256,1), zeros(256,1)]), title 'Component R';

%Red Component

figure;

image(G), colormap([zeros(256,1),[0:1/255:1]', zeros(256,1)]), title 'Component G';

%Green component

figure;

image(B), colormap([zeros(256,1), zeros(256,1), [0:1/255:1]']), title 'Component B';

%Blue component

Segmentare Lab

%Spatiul Lab

cform=makecform('srgb2lab');

lab=applycform(rgb,cform);

L=lab(:,:,1);

a=lab(:,:,2);

b=lab(:,:,3);

figure

subplot(2,2,1),imshow(L),title 'Component L';

subplot(2,2,2),imshow(a),title 'Component a';

subplot(2,2,3),imshow(b),title 'Component b';

Segmentare Hsv

%Spatiul HSV

h=hsv(:,:,1);

s=hsv(:,:,2);

v=hsv(:,:,3);

figure

subplot(2,2,1),imshow(h),title 'Component h';

subplot(2,2,2),imshow(s),title 'Component s';

subplot(2,2,3),imshow(v),title 'Component v';

clear all

close all

clc

rgb=imread('C:\ml\bin\Test2.jpg');

rgb=imresize(rgb,0.25);

figure,imshow(rgb),title 'imagine originala';

[X,Y]=getline(1);

Z=sqrt(diff(X)^2+diff(Y)^2);

procS= 0.007; %0.005

figure,imshow(rgb);

sp=getrect;

img=imcrop(rgb,sp);

figure,imshow(img),title 'imagine crop';

cform=makecform('srgb2lab');

lab=applycform(img,cform);

L=lab(:,:,1);

a=lab(:,:,2);

b=lab(:,:,3);

%calcul praguri pt planul "L"

h= imhist(L);

%Plot them together in one plot

figure,plot(h, 'Red');

N=prod(size(L));

index=find(h>=(procS*N));

Vmin=index(1)-1;

Vmax=index(end)-1

cform=makecform('srgb2lab');

lab=applycform(rgb,cform);

Lo=lab(:,:,1);

ao=lab(:,:,2);

bo=lab(:,:,3);

segl=((Lo>Vmin)&(Lo<Vmax));

figure,imshow(segl),title 'segmentare L ';

%calcul praguri pt planul "a"

ha= imhist(a);

%Plot them together in one plot

figure,plot(ha, 'Red');

indexa=find(ha>=(procS*N));

Vmina=indexa(1)-1;

Vmaxa=indexa(end)-1

sega=((ao>Vmina)&(ao<Vmaxa));

figure,imshow(sega),title 'segmentare a';

index=find(sega==1);

ArieP=length(index);

Arie=ArieP*(100/Z^2);

%calcul praguri pt planul "b"

hb= imhist(b);

%Plot them together in one plot

figure,plot(hb, 'Red');

indexb=find(hb>=(procS*N));

Vminb=indexb(1)-1;

Vmaxb=indexb(end)-1

segb=((bo>Vminb)&(bo<Vmaxb));

figure,imshow(segb),title 'segmentare b'

segLa=((ao>Vmina)&(ao<Vmaxa)&(Lo>Vmin)&(Lo<Vmax));

figure,imshow(segLa),title 'segmentare L si a' ;

segab=((ao>Vmina)&(ao<Vmaxa)&(bo>Vminb)&(bo<Vmaxb));

figure,imshow(segab),title 'segmentare b si a' ;

segLb=((Lo>Vmin)&(Lo<Vmax)&(bo>Vminb)&(bo<Vmaxb));

figure,imshow(segLb),title 'segmentare b si l' ;

Similar Posts