Komputerowe obrazowanie medyczne Część II Przetwarzanie i analiza obrazów medycznych Grafika rastrowa i wektorowa W grafice wektorowej obrazy i rysunki składają się z szeregu punktów, przez które prowadzi się linie proste i krzywe. Obiekty te definiuje się za pomocą równań algebraicznych (wektorów). Obraz wektorowy najprościej ujmując zapamiętany jest w postaci wzorów matematycznych. Program, który je wyświetla i pozwala edytować, przelicza wzory. W praktyce kreowanie takiego obrazu polega na utworzeniu niezależnych od siebie obiektów, z których każdy posiada takie właściwości jak kontur, rozmiar, kolor i stanowi odrębną całość. Utworzone obiekty układa się w odpowiednią kompozycję, w wyniku której powstaje obraz. Obrazy i rysunki wektorowe możemy poddawać skalowaniu i modelowaniu bez utraty ich jakości. Przykładem grafiki wektorowej są ClipArty z pakietu MS Office. W grafice rastrowej obrazy tworzone są z położonych regularnie obok siebie małych elementów zwanych pikselami. Posiadają one różne kolory lub odcienie szarości. Tworzone w ten sposób obrazy i rysunki zwykło się nazywać mapami bitowymi (bitmapami). 1
Tworzenie obrazu cyfrowego - dyskretyzacja (digitalizacja) y Wysokość obrazu Dyskretyzacja (digitalizacja) obrazu Szerokość obrazu X Digitalizacja obiektu rzeczywistego (analogowego): 1. Dyskretyzacja wymiarów (próbkowanie) obraz cyfrowy jest złożony z regularnie ułożonych elementów zwanych pikselami (Picture Element). O liczbie pikseli decyduje gęstość próbkowania (rozmiar siatki rastru). Liczba pikseli decyduje o rozdzielczości obrazu. 2. Dyskretyzacja jasności obrazu (kwantyzacja) piksele obrazu cyfrowego przyjmują skończoną liczbę poziomów jasności (szarości, intensywności). Najczęściej spotykana liczba poziomów jasności to 256 (obraz 8 bitowy). Obraz cyfrowy monochromatyczny, to funkcja Wysokość obrazu 1 2 3 4 5 1 2 3 4 5 6 I(x,y) gdzie x X { 1,2,..., N}, y Y {1,2,..., M}, I {0,1,2,..., L 1} Szerokość obrazu Obrazy cyfrowe barwne modele barw Dla obrazu barwnego funkcja I jest funkcją wektorową I=[I 1, I 2, I 3,, I k ]. Rozmiar wektora (k) oraz znaczenie składowych, zależą od przyjętego modelu barw. Dwa najczęściej spotykane modele, są złożone z 3 barw podstawowych, z których poprzez ich mieszanie (sumowanie) można uzyskać dowolną barwę z tzw. trójkąta barw (również czerń, biel i odcienie szarości). 1. Model RGB: jako barwy podstawowe przyjęto w nim Czerwień (Red), Zieleń (Green) i Niebieski (Blue) : I=[I R, I G, I B ]. Model stosowany w urządzeniach wyświetlających (monitorach) suma 3 barw o najwyższym poziomie daje biel. 2. Model CMY - barwy podstawowe : Niebiesko-zielona (Cyan), Purpurowa (Magenta) i Żółta (Yellow) I=[I C, I M, I Y ]. Model stosowany w urządzeniach drukujących suma trzech barw o najwyższym poziomie daje czerń. Dla poprawy jakości wydruku, do modelu dodano Czerń tworząc model CMYK (black). 2
Obrazy cyfrowe Zmiana rozdzielczości obrazu barwnego (zmiana jednostki rastru w procesie próbkowania obrazu rzeczywistego) Zmiana liczby poziomów kwantyzacji obrazu monochromatycznego Przetwarzanie obrazów Analiza Obraz cyfrowy Opis (model) Grafika Rozpoznawanie Przetwarzanie (przekształcanie) Klasa KL Interpretacja Znaczenie semantyczne 3
Obrazowanie medyczne przetwarzanie obrazu Filtracja Segmentacja Szkieletyzacja Wyznaczenie konturu Wygładzanie kształtu Normalizacja Etapy przetwarzania Przetwarzanie obrazu przykład segmentacji 4
Automatyczna analiza obrazu Kontur zmiany melanocytowej Analiza - cechy morfometryczne kształtu: - długość, - polaryzacja, - indeks kształtu Obraz morfologii krwi Analiza morfologia: - liczba krwinek czerwonych - liczba krwinek białych - Hemoglobina - Hematokryt -.. Analiza obrazu wyznaczanie określonych liczbowych cech charakteryzujących właściwości obrazu (obiektu na obrazie). Wynik analizy powinien wystarczyć do podjęcia diagnozy (bez konieczności przechowywania obrazu) Jednopunktowe metody przetwarzanie obrazów (operacje na pikselach) Operacje jednopunktowe ustalają nowe wartości (poziomy jasności) poszczególnych pikseli, zgodnie z zasadą, iż wartość każdego piksela obrazu wynikowego zależy wyłącznie od wartości odpowiadającego mu piksela w obrazie źródłowym (lub pikseli w obrazach źródłowych) : I 2 (x,y)=φ[i 1 (x,y)], Φ - funkcja przekształcenia Przykłady operacji jednopunktowych: 1. Logiczne 2. Arytmetyczne 3. Geometryczne 4. Z tablicami przekształcenia (korekcji) - LUT (Look up table) 5. Wyrównywanie histogramu 6. Binaryzacja 5
Przetwarzanie obrazów - operacje logiczne Wykonywane na pikselach obrazów binarnych i realizujące typowe operatory logiczne: negacja (NOT), suma logiczna (OR), iloczyn logiczny (AND), różnica logiczna (SUB), suma rozłączna (XOR) NOT = AND = OR = SUB = XOR = Przetwarzanie obrazów operacje arytmetyczne Wartość piksela nowego obrazu jest wynikiem określonej operacji arytmetycznej wykonanej na wartości odpowiadającego mu piksela w obrazie źródłowym, lub pikseli na wielu obrazach źródłowych. 1. Suma obrazów: I 3 (x,y) = I 1 (x,y) + I 2 (x,y) 2. Różnica obrazów: I 3 (x,y) = I 1 (x,y) - I 2 (x,y) 3. Iloczyn obrazów: I 3 (x,y) = I 1 (x,y) I 2 (x,y) 4. Kombinacja liniowa obrazów: I 3 (x,y) = p I 1 (x,y) + (1-p) I 2 (x,y) 5. Przemnożenie obrazu przez stałą: I 3 (x,y) = p I 1 (x,y) Przy wykonywaniu operacji arytmetycznych należy zwrócić uwagę na wartości pikseli obrazu wynikowego. Może się bowiem zdarzyć, że wartości te znajdą się poza dopuszczalnym zakresem (dla typowej skali jasności 0 255). W takim przypadku obraz należy znormalizować: I 4 (x,y) = a I 3 (x,y) + b a = 255/(I 3MAX I 3MIN ) b = 255 I 3MIN /(I 3MAX I 3MIN ) 6
Przetwarzanie obrazów operacje geometryczne W operacjach geometrycznych zmieniane jest położenie piksela (x, y) zgodnie z zadaną relacją matematyczną, a jego wartość nie ulega zmianie. Przesunięcie Skalowanie Obrót Odbicie symetryczne Złożone operacje geometryczne 7
Tablice przekształcenia - LUT (Look-Up Table) Funkcja przekształcenia jednopunktowego Φ jest przedstawiona w postaci dwukolumnowej tablicy: pierwsza kolumna zawiera wszystkie wartości obrazu należące do aktualnej palety (np. 0 255), a druga nowe wartości, jakim będą one odpowiadały po przekształceniu. Technikę LUT stosuje się wtedy, gdy funkcji Φ nie da się opisać wzorem matematycznym. Stosowana często w tzw. pseudokolorowaniu w celu poprawy percepcji obrazu monochromatycznego. Przed Po 0 (0,0,0) 1 (10,0,0) 2 (0,10,0).. 255 (255,255,255) Przetwarzanie obrazów wyrównywanie histogramu Histogram funkcja reprezentująca udział liczby pikseli o danej wartości (poziomie jasności) w całej zawartości obrazu. Wartość funkcji dla j-tego poziomu jasności wynosi H j = n j /N M, gdzie n j oznacza liczbę pikseli o j-tym poziomie jasności, a N M jest całkowitą liczbą pikseli w obrazie. Histogram ma postać wykresu słupkowego. Względna liczba pikseli 0 255 Stopień jasności 8
Przykłady histogramów Obraz ciemny Obraz jasny Obraz o niskim kontraście Obraz o wysokim kontraście Obrazy o takim samym histogramie Przykład histogramu 9
Przykłady histogramów Wyrównywanie histogramu Metoda polega na poprawianiu kontrastu analizowanego obrazu z wykorzystaniem jego histogramu. Idealnie równy histogram(odpowiadający obrazowi o największej dynamice) to taki, gdy każdemu możliwemu poziomowi jasności odpowiada taka sama liczba punktów na obrazie. Operacja wyrównywania histogramu pozwala skorygować te obrazy, w których rozkład wartości pikseli znacząco odbiega od teoretycznego zakresu dynamiki wynikającego z obliczenia średniej liczby punktów, jaka powinna przypadać na jeden poziom jasności. Operacja wyrównywania histogramu pozwala zbliżyć się do idealnego histogramu na tyle, na ile jest to możliwe. Histogram idealny Histogram pierwotny Histogram po wyrównaniu Do wyrównywania histogramu stosuje się następującą funkcję transformującą: T ( j) ( L 1) j H k k 0 T(j) oznacza nowy poziom jasności pikseli o dotychczasowym poziomie j (j=0,1,,l). 10
Wyrównywanie histogramu - przykład Obraz ciemny Wyrównywanie histogramu - przykład 11
Wyrównywanie histogramu - przykład Wyrównywanie histogramu - przykład 12
Przykłady histogramów Wyrównywanie histogramu - przykład 13
Wyrównywanie histogramu - przykład Binaryzacja Przekształcenie obrazu wielotonalnego w obraz binarny według formuły: I 2 (x,y)=0 jeśli I 1 (x,y) < a, I 2 (x,y)=255 w przeciwnym wypadku (dla obrazu 8 bitowego). Wyznaczanie progu a zależy od celu binaryzacji można się tu posłużyć histogramem (lokalne minimum histogramu). a 1 a 2 a 3 14
Binaryzacja a 1 a 2 Binaryzacja a 1 a 2 15
Kontekstowe (lokalne) metody przetwarzania obrazów Filtracja Operacje kontekstowe (będziemy je w dalszym ciągu nazywać filtracją) nowa wartość piksela jest wyznaczana na podstawie wartości tego piksela oraz pikseli w jego otoczeniu (sąsiedztwie) na obrazie źródłowym. Rodzaje sąsiedztwa piksela (x,y) Model sąsiedztwa 3 x 3 Model sąsiedztwa 5 x 5 y+1 y y 1 x 1 x x+1 y+2 y+1 y y 1 y 2 x 2 x 1 x x+1 x+2 Możliwe są inne modele sąsiedztwa, zarówno kwadratowe (np. (7x7), (9x9), itd.), jak i prostokątne (asymetryczne (np. (3x5), (9x15),itp.), jednak stosuje się je rzadko, z uwagi na duży koszt obliczeniowy. Maska filtru Funkcję filtru, decydującą o jego własnościach, wygodnie jest przedstawić w formie tzw. maski filtru. Stanowi ją tablica o rozmiarach odpowiadających sąsiedztwu z wpisanymi w poszczególne pola wartościami liczbowymi w(i,j). Dla takiego opisu filtru wartość piksela (poziom jasności) po filtracji I 2 (x,y) (ogólnie po przekształceniu kontekstowym) wyznacza się za pomocą funkcji splotu (konwolucji) obrazu wyjściowego I 1 (w obrębie sąsiedztwa) oraz maski filtru (K oznacza obszar sąsiedztwa): I2( x, y) I1( x i, y j) w( i, j) i, j K Przykładowo, dla obszaru sąsiedztwa 3x3 oraz maski 1 1 1 1 2 1 1 1 1 Wynik działania filtru jest następujący: I 2 (x,y)= [I 1 (x-1,y-1)+i 1 (x,y-1) +I 1 (x+1,y-1)+i 1 (x-1,y)+2i 1 (x,y)+i 1 (x+1,y)+ +I 1 (x-1,y+1)+i 1 (x,y+1)+i 1 (x+1,y+1)]/10. Wynik operacji konwolucji został podzielony przez 10 (suma wszystkich wartości w masce). Taka normalizacja jest potrzebna, aby podczas przekształcenia nie wyjść poza dopuszczalny zakres wartości pikseli obrazu (gdy wartości maski są ujemne, normalizacji należy dokonać poprzez przeskalowanie poziomów jasności). 16
Filtracja problem krawędzi obrazu Filtracja dolnoprzepustowa Obraz ciemny Obraz jasny 1 1 1 1 2 1 1 1 1 Obraz oryginalny 2 2 2 2 3 2 2 2 2 17
Filtracja dolnoprzepustowa Obraz ciemny Obraz jasny 1 1 1 1 1 1 2 2 2 1 1 2 5 2 1 1 2 2 2 1 1 1 1 1 1 Obraz oryginalny 2 2 2 2 5 2 2 2 2 Filtracja dolnoprzepustowa Obraz zaszumiony Obraz oryginalny 1 1 1 1 2 1 1 1 1 18
Filtracja dolnoprzepustowa Obraz zaszumiony Obraz oryginalny 2 2 2 2 5 2 2 2 2 Filtracja dolnoprzepustowa Obraz zaszumiony Obraz oryginalny 1 1 1 1 1 1 2 2 2 1 1 2 5 2 1 1 2 2 2 1 1 1 1 1 1 19
Filtracja wykrywająca krawędzie Krawędź linia oddzielająca obszary o różnej jasności. Idea wyznaczania krawędzi metodą przekształcania kontekstowego (filtracji) polega na wyznaczaniu pochodnych poprzez odpowiednio uformowana maskę Obraz Profil linii poziomej Pierwsza pochodna Druga pochodna Wykrywanie krawędzi filtry gradientowe Maska Previtta 1 1 1 0 0 0 1 1 1 Maska Sobela 1 2 1 0 0 0 1 2 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 20
Wykrywanie krawędzi maska Sobela 1 2 1 0 0 0 1 2 1 Wykrywanie krawędzi filtry gradientowe 0 1 2 1 0 1 2 1 0 21
Wykrywanie krawędzi filtry gradientowe 1 0 1 2 0 2 1 0 1 Wykrywanie krawędzi filtry gradientowe 2 1 0 1 0 1 0 1 2 22
Wykrywanie krawędzi filtry gradientowe 1 2 1 0 0 0 1 2 1 Wykrywanie krawędzi filtry gradientowe 0 1 2 1 0 1 2 1 0 23
Wykrywanie krawędzi filtry gradientowe 1 0 1 2 0 2 1 0 1 Wykrywanie krawędzi filtry gradientowe 2 1 0 1 0 1 0 1 2 24
Zastosowanie maski Sobela 1 2 1 0 0 0 1 2 1 1 2 1 0 0 0 1 2 1 Zastosowanie maski Sobela 1 0 1 2 0 2 1 0 1 1 0 1 2 0 2 1 0 1 25
Zastosowanie maski Sobela 2 1 0 1 0 1 0 1 2 2 1 0 1 0 2 0 1 1 Zastosowanie maski Sobela 0 1 2 1 0 1 2 1 0 0 1 2 1 0 1 2 1 0 26
Filtracja górnoprzepustowa (wyostrzanie) Obraz oryginalny 27