2012‐05‐24
1
Komputerowe obrazowanie medyczne
Część II
Przetwarzanie i analiza obrazów medycznych
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.
Grafika rastrowa i wektorowa
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).
2012‐05‐24
2
Tworzenie obrazu cyfrowego - dyskretyzacja (digitalizacja)
X
y
Szerokość obrazu
Wysokość obrazu
Dyskretyzacja (digitalizacja)
obrazu
1 2 3 4 5 6
1 2 3 4 5
Szerokość obrazu
Wysokość obrazu
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
I(x,y)
gdzie }1,...,2,1,0{},,...,2,1{},,...,2,1{ LIMYyNXx
Obrazy cyfrowe barwne – modele barw
Dla obrazu barwnego funkcja I jest funkcją wektorową
I=[I1, I2, I3,…, Ik].
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=[IR, IG, IB].
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=[IC, IM, IY].
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).
2012‐05‐24
3
Zmiana liczby poziomów kwantyzacji obrazu monochromatycznego
Obrazy cyfrowe
Zmiana rozdzielczości obrazu barwnego (zmiana jednostki rastru w procesie próbkowania obrazu rzeczywistego)
Przetwarzanie obrazów
Obraz cyfrowy Opis (model)
Grafika
Analiza
Przetwarzanie(przekształcanie)
KLKlasa
Znaczenie semantyczne
Rozpoznawanie
Interpretacja
2012‐05‐24
4
Obrazowanie medyczne – przetwarzanie obrazu
Filtracja Segmentacja
Wygładzanie kształtu
Wyznaczenie konturuSzkieletyzacja
Normalizacja
Etapy przetwarzania
Przetwarzanie obrazu – przykład segmentacji
2012‐05‐24
5
Automatyczna analiza obrazu
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)
Kontur zmiany melanocytowej Analiza - cechy morfometryczne kształtu: - długość,
- polaryzacja,
- indeks kształtu
Obraz morfologii krwiAnaliza – morfologia:
- liczba krwinek czerwonych
- liczba krwinek białych
- Hemoglobina
- Hematokryt
- ……..
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) :
I2(x,y)=Φ[I1(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
Jednopunktowe metody przetwarzanie obrazów(operacje na pikselach)
2012‐05‐24
6
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)
Przetwarzanie obrazów - operacje logiczne
NOT
AND
OR
SUB
XOR
=
=
=
=
=
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: I3(x,y) = I1(x,y) + I2(x,y)
2. Różnica obrazów: I3(x,y) = I1(x,y) - I2(x,y)
3. Iloczyn obrazów: I3(x,y) = I1(x,y) · I2(x,y)
4. Kombinacja liniowa obrazów: I3(x,y) = p · I1(x,y) + (1-p) · I2(x,y)
5. Przemnożenie obrazu przez stałą: I3(x,y) = p · I1(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ć: I4(x,y) = a · I3(x,y) + b
a = 255/(I3MAX – I3MIN) b = 255 · I3MIN /(I3MAX – I3MIN)
Przetwarzanie obrazów – operacje arytmetyczne
2012‐05‐24
7
W operacjach geometrycznych zmieniane jest położenie piksela (x, y) zgodnie z zadaną relacją matematyczną, a jego wartość nie ulega zmianie.
Przetwarzanie obrazów – operacje geometryczne
Przesunięcie Skalowanie
Obrót Odbicie symetryczne
Złożone operacje geometryczne
2012‐05‐24
8
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)
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
Hj = nj /N·M,
gdzie nj 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.
Przetwarzanie obrazów – wyrównywanie histogramu
Stopień jasności
Względna liczba pikseli
0 255
2012‐05‐24
9
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
2012‐05‐24
10
Przykłady histogramów
Wyrównywanie histogramuMetoda 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 pierwotny Histogram po wyrównaniu
Histogram idealny
Do wyrównywania histogramu stosuje się następującą funkcję transformującą:
j
kkHLjT
0)1()(
T(j) oznacza nowy poziom jasności pikseli o dotychczasowym poziomie j (j=0,1,…,L).
2012‐05‐24
14
Wyrównywanie histogramu - przykład
BinaryzacjaPrzekształcenie obrazu wielotonalnego w obraz binarny według formuły:I2(x,y)=0 jeśli I1(x,y) < a, I2(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).
a1a2 a3
2012‐05‐24
16
Kontekstowe (lokalne) metody przetwarzania obrazówFiltracja
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)
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.
x‐2 x‐1 x x+1 x+2
y‐2
y‐1
y
y+1
y+2
x‐1 x x+1
y‐1
y
y+1
Model sąsiedztwa 3 x 3Model sąsiedztwa 5 x 5
Maska filtruFunkcję 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 I2(x,y) (ogólnie – po przekształceniu kontekstowym) wyznacza się za pomocą funkcji splotu (konwolucji) obrazu wyjściowego I1 (w obrębie sąsiedztwa) oraz maski filtru (K – oznacza obszar sąsiedztwa):
Przykładowo, dla obszaru sąsiedztwa 3x3 oraz maski
),(),(),(,
12 jiwjyixIyxIKji
1 1 1
1 12
1 1 1
Wynik działania filtru jest następujący:I2(x,y)= [I1(x-1,y-1)+I1(x,y-1) +I1(x+1,y-1)+I1(x-1,y)+2I1(x,y)+I1(x+1,y)+
+I1(x-1,y+1)+I1(x,y+1)+I1(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).
2012‐05‐24
17
Filtracja – problem krawędzi obrazu
Filtracja dolnoprzepustowa
Obraz ciemny Obraz jasny
2 2 2
2 3 2
2 2 2
1 1 1
1 2 1
1 1 1
Obraz oryginalny
2012‐05‐24
18
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
2 2 2
2 5 2
2 2 2
Obraz oryginalny
Filtracja dolnoprzepustowa
1 1 1
1 2 1
1 1 1
Obraz oryginalnyObraz zaszumiony
2012‐05‐24
19
Filtracja dolnoprzepustowa
2 2 2
2 5 2
2 2 2
Obraz oryginalnyObraz zaszumiony
Filtracja dolnoprzepustowa
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 oryginalnyObraz zaszumiony
2012‐05‐24
20
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ę
Filtracja wykrywająca krawędzie
Obraz
Profil linii poziomej
Pierwsza pochodna
Druga pochodna
Wykrywanie krawędzi ‐ filtry gradientowe
‐1 ‐1 ‐1
0 0 0
1 1 1
1 1 1
0 0 0
‐1 ‐1 ‐1
‐1 0 1
‐1 0 1
‐1 0 1
1 0 ‐1
1 0 ‐1
1 0 ‐1
‐1 ‐1 0
‐1 0 1
0 1 1
1 1 0
1 0 ‐1
0 ‐1 ‐1
0 ‐1 ‐1
1 0 ‐1
1 1 0
0 1 1
‐1 0 1
‐1 ‐1 0
Maska Previtta Maska Sobela
1 1 1
0 0 0
‐1 ‐1 ‐1
1 2 1
0 0 0
‐1 ‐2 ‐1
2012‐05‐24
21
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
2012‐05‐24
22
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
2012‐05‐24
23
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
2012‐05‐24
24
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
2012‐05‐24
25
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
2012‐05‐24
26
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