Académique Documents
Professionnel Documents
Culture Documents
Wydział Elektroniki
Kierunek: Informatyka
Specjalność: Inżynieria Internetowa
Praca dyplomowa
Magisterska
Autor:
Grzegorz Pietrzak
Prowadzący pracę:
dr inż. Jacek Jarnicki (I-6)
Ocena pracy:
WROCŁAW 2008
Spis treści
1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Cel pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Przegląd rozdziałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Segmentacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Dostosowywanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Przekształcenia morfologiczne . . . . . . . . . . . . . . . . . . . . . 6
2.2.2. Odejmowanie tła od obrazu . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3. Korekcja histogramu . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.4. Filtr medianowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Rozpoznanie komórek na obrazie . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1. Progowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2. Metoda rozszerzonych h-maksimów . . . . . . . . . . . . . . . . . . 11
2.3.3. Algorytm „watershed” . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Wektoryzacja komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1. Dopasowanie elipsy do danych . . . . . . . . . . . . . . . . . . . . . 15
3. Śledzenie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Porównywanie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Algorytm podziału i ograniczeń . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1. Dekompozycja problemu . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.2. Ograniczanie drzewa rozwiązań . . . . . . . . . . . . . . . . . . . . 20
3.3.3. Przypisania niesymetryczne . . . . . . . . . . . . . . . . . . . . . . 21
3.4. Algorytm aukcyjny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.1. Zastosowanie do śledzenia komórek . . . . . . . . . . . . . . . . . . 22
3.4.2. Działanie krok po kroku . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.3. Przykład działania . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.4. Modyfikacje algorytmu . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5. Przetwarzanie wyników śledzenia komórek . . . . . . . . . . . . . . . . . . . 26
3.5.1. Podziały komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1
3.5.2. Znikanie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.3. Łączenie konturów komórek . . . . . . . . . . . . . . . . . . . . . . 28
3.5.4. Usuwanie krótkich ścieżek . . . . . . . . . . . . . . . . . . . . . . . 30
4. Analiza ruchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Jakość działania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3. Podziały i obumieranie komórek . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4. Prędkość i kierunek poruszania . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5. Analiza statystyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6. Reprezentacja ścieżek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Spis rysunków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Spis tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2
1. Wprowadzenie
3
migracji komórek oraz zanotowanych zjawisk biologicznych (m.in. podziałów). Uży-
te metody muszą sprostać wymaganiom narzuconym przez przetwarzanie sekwencji
w czasie rzeczywistym, przy zachowaniu maksymalnej możliwej jakości działania.
A. B.
Praca składa się z 6 rozdziałów, podzielona jest na część teoretyczną oraz imple-
mentacyjną.
W rozdziale drugim zgromadzono informacje na temat dostępnych technik seg-
mentacji (rozpoznawania komórek na obrazie rastrowym), dotyczące zarówno dzie-
dziny przetwarzania obrazów, jak i wektoryzacji.
Rozdział trzeci zawiera opis dwóch metod śledzenia komórek, służących do łą-
czenia obiektów pomiędzy sąsiednimi klatkami obrazu. Dodatkowo zamieszczono tu
wiadomości dotyczące korekcji wyników śledzenia oraz wykrywania zjawisk biolo-
gicznych.
Rozdział czwarty poświęcony jest teorii analizy ruchu komórek, obejmującej za-
równo sposoby generowania wykresów, jak i numeryczne metody sprawdzania hipo-
tez dotyczących rozkładów zmiennych losowych.
Rozdział piąty dotyczy praktycznej implementacji algorytmu w środowisku MA-
TLAB, ze szczególnym naciskiem na testowanie wydajności alternatywnych metod
segmentacji i śledzenia. Następuje tu wybór ostatecznej, najlepszej ścieżki działania.
W ostatnim, szóstym rozdziale znajduje się podsumowanie dokonań poczynio-
nych w niniejszej pracy.
4
2. Segmentacja
2.1. Wprowadzenie
Dostosowanie Rozpoznanie
Wczytanie obrazu Wektoryzacja
obrazu komórek
5
2.2.1. Przekształcenia morfologiczne
A. B. 1
1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1
1
Rysunek 2.2. Elementy strukturalne w kształcie (A) kwadratu i (B) dysku. Komórka
z szarym tłem oznacza środek elementu, pozostałe definiują obszar sąsiedztwa.
A. B. C. D.
6
2.2.2. Odejmowanie tła od obrazu
A. B. C.
Rysunek 2.4. Kolejne etapy odejmowania tła. Kontrast obrazów (A), (B) i (C) zo-
stał sztucznie podwyższony w celu ułatwienia analizy wyników. (A) obraz oryginal-
ny skonwertowany do skali szarości, (B) tło wygenerowane poprzez morfologiczne
otwarcie, (C) obraz wynikowy po odjęciu tła.
Zb
H(B)db (2.1)
0
7
wyznaczany jako suma wszystkich pikseli o danej wartości, znormalizowana przez
liczbę wszystkich pikseli.
Na podstawie kształtu histogramu możliwe jest określenie wielu parametrów ob-
razu (dyspersji, asymetrii, entropii), a także automatyczna korekta kontrastu i ja-
sności [18]. Jeśli histogram jest zbyt wąski (z jego obu stron znajdują się puste
przestrzenie – rys. 2.5a), wówczas należy ”rozciągnąć” go tak, aby wypełniał cały
zakres natężenia oświetlenia (2.5c). Do tego celu używa się transformacji jednego
rozkładu wartości do drugiego rozkładu wartości pikseli. Transformacja tego typu
jest opisywana funkcją matematyczną, którą graficznie można przedstawić jako krzy-
wą transformacji. Na potrzeby segmentacji komórek wystarczy zastosować funkcję
liniową, mającą postać:
0 dla x < 0
x−x1
f (n) = E x2
(2.2)
E dla x > E
A. 5 B.
4
C. 5 D.
4
Rysunek 2.5. Dostosowanie zakresów wartości pikseli przy pomocy histogramu. (A),
(B) – obraz oryginalny, prawa strona histogramu jest niemal pusta. (C), (D) – obraz
po automatycznej transformacji histogramu. Strzałka na histogramie (A) pokazuje
kierunek jego rozciągnięcia.
8
2.2.4. Filtr medianowy
A. B.
Rysunek 2.6. Przykład działania filtru medianowego. (A) Obraz oryginalny, (B) ob-
raz po zastosowaniu filtru z sąsiedztwem 3 × 3.
9
ne jako jeden). Ważnym kryterium jakości jest mała wariancja wyników pomiędzy
sąsiednimi klatkami – szczególnie w przypadku gwałtownych zmian oświetlenia.
2.3.1. Progowanie
255
X
ni = n (2.3)
i=0
ni
pi = (2.4)
n
p
X
$1 (p) = pi (2.5)
i=0
255
X
$2 (p) = pi (2.6)
i=p+1
10
A. 1000
p
B. 1000
p
800 800
600 600
400 400
200 200
0 0
wyniki (rys. 2.8a) – w przypadku obrazów GFP należy przetworzyć obraz odejmując
od niego tło, korygując histogram, a następnie aplikując filtr medianowy (rys. 2.8b).
A. B.
11
Metoda rozszerzonych h-maksimów wywodzi się od przekształceń morfologicz-
nych (konkretnie od morfologicznej rekonstrukcji obrazu), może być jednak prze-
prowadzona w znacznie mniej kosztowny obliczeniowo sposób. Jedynym parame-
trem realizującego ją algorytmu jest próg h, omówiony w dalszej części podrozdzia-
łu. Pierwszy krok algorytmu to odnalezienie lokalnych maksimów, czyli punktów
nie mających wokół siebie jaśniejszych pikseli. Przykładowy obraz i jego maksima
przedstawione zostały na rys. 2.9a.
A. 5 5 5 6 5 5 5 5 B. 5 5 5 6 5 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
y y
5 5 5 5 5 5 9 5 5 5 5 5 5 5 9 5
5 6 5 5 5 5 8 5 5 6 5 5 5 5 8 5
5 5 5 5 5 6 5 5 5 5 5 5 5 6 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
x x
12
h= 1 2
jasnosć *
** *
* *
13
A. B.
C. D.
Bardzo ważny dla dalszego procesu śledzenia komórek jest wybór reprezentacji
pojedynczej komórki w pamięci, stanowiący kompromis pomiędzy ilością gromadzo-
nych informacji, a precyzją działania:
14
ści przypadków dokładnie odzwierciedla rastrowy pierwowzór [1]. Wadę zapisu
wektorowego stanowi złożoność obliczeń niezbędnych do aproksymacji kształtu.
F (x) = xT Ax + bT x + c = 0 (2.8)
A. B. C.
15
3. Śledzenie komórek
3.1. Wprowadzenie
16
to ta sama komórka). Jeśli badane elementy i oraz j są w poziomie lub w pionie
w większej odległości od siebie niż d2 , wówczas aij przyjmuje wartość 0.
Rysunek 3.1. Obszar poszukiwania komórek, centrum kwadratu stanowi środek ko-
mórki, do której dopasowywane są elementy z następnej klatki
17
Rysunek 3.2. Kąty k1 i k2 pomiędzy osiami dwóch porównywanych elips
18
3.3. Algorytm podziału i ograniczeń
M X
Y N
dla N M : max aij hij (3.9)
j=1 i=1
N X
Y M
dla N ¬ M : max aij hij (3.10)
i=1 j=1
Zmienna hij przyjmuje wartość 1 jeśli ścieżka i jest przypisana do komórki j, lub
0 jeżeli takiego przypisania nie ma. Wartość funkcji celu zawiera się w przedziale
h0, 1i. Praktyczne zastosowanie przedstawionych wzorów znajduje się na rys. 3.3
i 3.4.
19
Rysunek 3.3. Drzewo pełne, bez odrzucania mało prawdopodobnych rozwiązań;
poszczególne poziomy drzewa odpowiadają ścieżkom, liczby na węzłach to numer
komórki dopasowywanej do ścieżki (kolor czarny) oraz wartość funkcji celu (kolor
czerwony)
20
Rysunek 3.5. Drzewo poddane eliminacji rozwiązań częściowych, komórka 3 na dru-
gim poziomie (wyróżniona niebieskim kolorem) ma zbyt małą wartość celu i na pew-
no nie doprowadzi do rozwiązania lepszego od s = 0, 03; ostatecznym rozwiązaniem
drzewa jest ścieżka 3-2-1 o końcowej wartości funkcji celu równej 0,32
21
ścieżki nie zawsze da się wykryć, potrzebny jest tu szereg warunków uwzględniają-
cych zarówno podział komórek, jak i błędy w segmentacji.
Algorytm aukcyjny został opracowany pod koniec lat 70. przez Dimitrija Bert-
sekasa, jest on wyjątkowo efektywnym podejściem do rozwiązywania problemów
przypisania m do n elementów [3]. Intuicyjnie można wyjaśnić jego działanie na
przykładzie rzeczywistej aukcji, w której udział bierze n kupców i m przedmiotów.
Każdy uczestnik aukcji może kupić dokładnie jeden przedmiot, dąży więc do jak naj-
korzystniejszej transakcji. Aktualna cena j-tego przedmiotu wynosi pj , rzeczywistą
jego wartością jest aij . Optymalnym wyborem dla kupującego zostanie przedmiot
o maksymalnej różnicy pomiędzy ceną a wartością, czyli spełniający warunek:
dla każdego możliwego zbioru par (i, j). Zmienna hij przyjmuje wartość 1 jeśli ścieżka
i jest przypisana do komórki j, lub 0 jeżeli takiego przypisania nie ma.
Dopasowywanie niesymetryczne m do n elementów wymusza modyfikację stan-
dardowego algorytmu aukcyjnego [2]. Dla j = 0 ma miejsce „puste” przypisanie
(jeśli ścieżka zostaje zakończona), będące jedynym wyjątkiem od reguły nakazującej
łączenie jednej ścieżki z dokładnie jedną komórką. Cena „pustego” przypisania jest
zawsze równa zeru, niezależnie od przebiegu aukcji.
22
Algorytm aukcyjny ma niewielkie wymagania dotyczące wielkości struktur da-
nych. W każdej iteracji algorytmu wykorzystywane są:
(0)
pj = min aij (3.13)
i∈B(j)
gdzie B(j) jest zbiorem ścieżek, które można połączyć z komórką j. Dla pustych
przypisań cena równa jest zeru:
(0)
p0 = 0 (3.14)
— Zbiór P (j) ofert składanych każdej j-tej komórce przez poszczególne ścieżki.
W przypadku braku ofert dla danej komórki P (j) = Ø.
23
We wzorze 3.18 został wprowadzony parametr ε, zapobiegający wejściu algoryt-
mu w niekończący się cykl. Każda nowa cena musi być o co najmniej ε większa
od poprzedniej (dla niektórych komórek bij jest równe 0, co może doprowadzić
do nieskończonej pętli, w której ścieżki będą naprzemiennie „odbierać” sobie
przypisane komórki nie zwiększając ich ceny).
4. Dla każdej komórki j wybierz ze zbioru ofert P (j) złożonych przez ścieżki pozycję
ij o największej wartości bij :
pj = v j ⇔ j > 0 (3.20)
Algorytm powinien zakończyć się w kilku iteracjach, długość jego działania zale-
ży bezpośrednio od skuteczności segmentacji oraz liczby komórek w badanym obra-
zie (ich większe zagęszczenie powoduje rozrastanie się macierzy prawdopodobieństw
aij ).
24
Tabela 3.4. Wektor cen
p0 p1 p2 p3
0,00 0,00 0,00 0,00
25
Tabela 3.7. Wektor cen po pierwszej iteracji
p0 p1 p2 p3
0,00 0,00 0,84 0,42
przypisań. Podczas praktycznej implementacji tego typu problemy nie zostały na-
potkane, podstawowa wersja algorytmu osiągała wysoką skuteczność.
A. B.
26
do jednej ze ścieżek r oraz do drugiej komórki potomnej. Miara podobieństwa s
wyznaczana jest na podstawie wzoru:
min{ark1 , ark2 }
s= (3.21)
max{ark1 , ark2 }
Dwie komórki uważa się za podobne, jeśli miara ich podobieństwa przekracza zadany
wcześniej próg ppod . Jeżeli ppod = 1 oznacza to, że obie komórki muszą być takie same;
w praktyce stosuje się wartości rzędu ppod = 0, 5, aby tolerancja na zmiany kształtu
była dostatecznie wysoka.
Wykrywanie podziałów składa się z następujących kroków:
1. Sporządzenie listy komórek, które pojawiły się w klatce obrazu t i nie mają
odpowiedników w klatce t − 1.
2. Dla każdej komórki j z listy:
a) Znalezienie w macierzy prawdopodobieństw najlepiej pasującej ścieżki ij z klat-
ki t − 1:
ij = arg max{a0j , a1j , . . . , aij } (3.22)
b) Znalezienie komórki potomnej j2 (innej niż j), powstałej z tego samego po-
działu. Powinna być to komórka przypisana przez algorytm śledzący do ścież-
ki ij .
c) Sprawdzenie za pomocą wzoru 3.21, czy komórka j pasuje do ścieżki ij w po-
dobnym stopniu, jak komórka j2 . Jeśli s ppod , wówczas prawdopodobnie
nastąpił tu podział; jeśli s < ppod przejdź do następnej iteracji.
d) Wykluczenie możliwości chwilowego zniknięcia komórki j lub powtórnego po-
jawienia się jej po połączeniu konturu z inną komórką.
e) Zaznaczenie podziału w strukturach danych – usunięcie przypisania komór-
ki j2 do ścieżki ij , zakończenie ścieżki ij , utworzenie dwóch nowych ścieżek
o początkach w j i j2 .
27
segmentacji (ryz. 3.7c), wówczas zostanie stwierdzone zakończenie ścieżki w klatce t
i pojawienie się nowej komórki w klatce t + n.
A. B. C.
Aby prawidłowo zinterpretować tego typu sytuację jako chwilowy zanik komórki
należy podjąć następujące kroki:
1. Sporządzenie listy komórek, które pojawiły się w klatce obrazu t i nie mają
odpowiedników w klatce t − 1 (podobnie, jak w przypadku podziałów).
2. Dla każdej komórki j z listy:
a) Sprawdzenie, czy wśród komórek, które zniknęły w k ostatnich klatkach są
obiekty pasujące do komórki j. Miara podobieństwa zdefiniowana jest wzorem
3.8.
b) Sprawdzenie, czy pojawienie się komórki nie jest skutkiem chwilowego połą-
czenia z konturem innej komórki.
c) Jeśli warunki a) i b) są spełnione, zaznaczenie zniknięcia w strukturach da-
nych (bez tworzenia nowej ścieżki w klatce t).
Ważną decyzją jest tu dobór współczynnika k, oznaczającego liczbę sprawdza-
nych wstecz klatek. Musi on być wystarczająco wysoki, aby bezbłędnie pokryć
wszystkie przypadki zaniku komórek. Zbyt wysoka wartość prowadzi do obniżenia
jakości wyniku poprzez kojarzenie nie związanych ze sobą obiektów.
28
Rozdział komórek może być przeprowadzony poprzez analizę kolejnych klatek
obrazu, działającą na podstawie danych o przemieszczeniach i kształtach obiektów
(w przeciwieństwie do algorytmu „watershed” opierającego się w pełni na informa-
cjach uzyskanych w drodze przekształceń matematycznych).
A. B. C.
min{ai1 jk , ai2 jk }
s= (3.23)
max{ai1 jk , ai2 jk }
29
c) Zaznaczenie rozdzielenia w strukturach danych – w szczególności usunięcie
informacji o zakończeniu ścieżki i1 .
Konieczne do zdefiniowania parametry to k – liczba klatek sprawdzanych wstecz,
prozdz – próg podobieństwa.
Jeżeli dana ścieżka jest zbyt krótka w stosunku do długości całej sekwencji ob-
razów (mierzonej w liczbie klatek), istnieje duże prawdopodobieństwo, że nastąpił
błąd segmentacji. Większa liczba błędnych ścieżek może spowodować poważne roz-
bieżności podczas analizy wyników lub prowadzić do powstawania nadmiarowych
podziałów komórek. Najprostszym rozwiązaniem tego problemu jest zignorowanie
krótkich ścieżek, czyli uznanie ich za losowy szum – ewentualnie usunięte poprawne
ścieżki przy swojej niewielkiej długości i tak nie wprowadzą do statystyk wartościo-
wych informacji.
Oznaczenie ścieżki jako ignorowanej następuje, gdy ma ona długość d < dmin .
Pod uwagę brane są wyłącznie ścieżki ze środka sekwencji (nie mogą mieć początku
w klatce t = 1 lub końca w klatce t = N , gdzie N – długość sekwencji). Podziały oraz
inne zjawiska, w których biorą udział ignorowane ścieżki, muszą zostać unieważnione.
30
4. Analiza ruchu
4.1. Wprowadzenie
31
maksimów można mówić o wadliwych pojedynczych klatkach obrazu (zazwyczaj
jedna na ok. 100 klatek jest niemal całkowicie zaciemniona, co znacznie utrudnia
śledzenie).
Pojawienia się komórek w czasie (razem 20 w 99 klatkach).
2
Nowe komórki
0 10 20 30 40 50 60 70 80 90 100
Klatki
Rysunek 4.1. Wykres słupkowy liczby nowych komórek od czasu. Jego równomier-
ność wskazuje na prawidłowe oświetlenie wszystkich klatek obrazu.
gdzie nt oznacza liczbę nowych komórek w klatce t, zaś k – średnią liczbę komórek
w jednej klatce sekwencji. Idealny współczynnik Wj jest równy +∞ (jeśli nie
pojawiła się żadna nowa komórka), zwiększa się on proporcjonalnie do jakości
działania użytych algorytmów.
Inną metodą sprawdzania poprawności wyniku jest analiza czasu trwania ście-
żek. Liczba ścieżek widocznych przez wszystkie N klatek sekwencji powinna być jak
największa, dość dokładną ocenę jakości algorytmu umożliwia wygenerowanie histo-
gramu (rys. 4.2). Jego zbyt wyrównany kształt może oznaczać przecięcie sekwencji
przez nieprawidłowe bądź źle oświetlone klatki obrazu.
Wspomniane już manualne sposoby kontroli jakości można przeprowadzić wy-
rywkowo. Za zdecydowaną większość błędów odpowiadają algorytmy segmentacji,
występują również problemy z rozdzielaniem konturów złączonych komórek (opi-
sanym w rozdziale 3.5.3). Z uwagi na podobieństwo kolejnych klatek wystarczy
przeanalizować niewielki wycinek sekwencji pod kątem nieprawidłowo rozpoznanych
obiektów, w szczególności w miejscach o dużym ich zagęszczeniu.
32
Czas zycia komórki
50
40
Liczba komóek
30
20
10
0
−20 0 20 40 60 80 100 120
Klatki
Rysunek 4.2. Histogram czasu trwania ścieżek przebytych przez komórki. Około 50
komórek było widocznych na wszystkich klatkach obrazu.
33
Podzialy komórek w czasie (razem 74 w 99 klatkach).
4
3
Liczba podzialów
0 10 20 30 40 50 60 70 80 90 100
Klatki
Rysunek 4.3. Wykres podziałów komórek w czasie, w tym przypadku mamy jedynie
74 podziały w 99 klatkach
34
A. v(t) B. M
C. M
v(0)
v(N) T
t=0 t=0 t=0
T
jących się dużymi i małymi krokami. Przykładowy histogram M RDO znajduje się
na rys. 4.5.
Histogram predkosci MRDO.
30
25
20
Liczba komórek
15
10
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Predkosc
35
y 0
−1
1
0.875
−0.75
7/4 π 0.75 π/4
0.625
−0.5
0.5
0.375
−0.25
0.25
0.125
0
3/2 π π/2
0.25
0.5
5/4 π 3/4 π
0.75
1
π x
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
X X
S(D) = |vi (t)| (4.2)
t ∀i:αi (t)∈D
!
X
H(D) = S(D) ÷ S(D) (4.3)
D
Drugi człon równania 4.3 oznacza normalizację sumy długości S(D) wektorów z prze-
działu D przez sumaryczną długość wektorów ze wszystkich przedziałów.
Widoczne na histogramie z rys. 4.7 białe trójkąty to wersja różnicowa wykresu,
dotycząca par przeciwległych przedziałów (D, D − π). Ich długość R(D) oblicza się
36
według wzoru:
S(D)−S(D−π) dla S(D) > S(D − π);
S(D)+S(D−π)
SR (D) = (4.4)
0 dla S(D) ¬ S(D − π).
!
X
R(D) = SR (D) ÷ SR (D) (4.5)
D
SR (D) przyjmuje wartość 1 jeśli wszystkie komórki poruszają się w przedziale kątów
D, żadna zaś w przedziale D − π. Graficzna reprezentacja R(D) pozwala na szybkie
określenie najczęściej występującego w ruchu kierunku.
0
−1
1
0.875
−0.75
7/4 π 0.75 π/4
0.625
−0.5
0.5
0.375
−0.25
0.25
0.125
0
3/2 π π/2
0.25
0.5
5/4 π 3/4 π
0.75
1
π
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
Rysunek 4.7. Histogram kątów nachylenia wektorów vi (t). Czerwone trójkąty to ko-
lejne słupki histogramu (dla każdego z przedziałów D o szerokości 45◦ ). Białe trójką-
ty oznaczają różnicę pomiędzy przeciwległymi przedziałami. Żółty wektor wskazuje
wartość średnią kierunku ruchu (wektor jest wydłużony dla czytelności wykresu).
37
Odrzucenie hipotezy zerowej oznacza przeważnie występowanie rozkładu jednomo-
dalnego. Test Rayleigh’a bazuje na statystyce R [6]:
N
" #2 "N
#2
2 1 X 1 X
R = cos Θn + sin Θn (4.6)
N n=1 N n=1
N R4
S = 2N R2 − R2 + (4.7)
2
q
ρ = exp[ 1 + 4N + 4(N 2 − N s) − 1 − 2N ] (4.8)
38
4.6. Reprezentacja ścieżek
100
90
t
80
70
60
50
40
30
20
10
1000
0 x y
0 200 500
400 600 800 1000 0
S7 S8
y y
x x
39
5. Implementacja w środowisku
MATLAB
5.1. Wprowadzenie
40
1. Odczyt Wczytanie obrazu
Algorytm watershed
Rozpoznanie
3. Rozpoznanie komórek
Wektoryzacja
4. Wektoryzacja (elipsy)
Budowa macierzy
5. Łaczenie prawdopodobienstw
Wykrycie zjawisk
biologicznych
7. Postprocessing
Korekta błedów
Rysunek 5.1. Schemat możliwych ścieżek działania algorytmu. Bloki oznaczone prze-
rywanym konturem to metody opcjonalne.
zafałszowanie wyników przez kompresję lub zbyt niską głębię kolorów. Sekwencje
dostępne są w dwóch wersjach: fluorescencyjnej oraz fazowo-kontrastowej.
Odczyt danych zrealizowano poprzez wbudowane procedury środowiska MA-
TLAB do postaci macierzy pikseli. Z uwagi na brak zastosowania dla informacji
o barwie pikseli, obraz konwertowany zostaje do 8-bitowej skali szarości poleceniem
rgb2gray, przetwarzającym wartości R, G i B do koordynatów NTSC, a następnie
usuwającym informacje o odcieniu i nasyceniu koloru. Ogólna postać powyższego
przekształcenia to:
PGRAY = αR + βG + γC (5.1)
41
5.3. Konwersja na obraz monochromatyczny
5.3.1. Progowanie
A. morf. otwarcie
B.
< 1% 8% odjecie tla < 1% 4%
< 1% 4%
< 1% histogram
filtr medianowy
progowanie
48%
43%
91%
42
Zdecydowanie najbardziej kosztowną obliczeniowo operację stanowi morfologicz-
ne otwarcie w celu wyznaczenia tła danej klatki. Warto zauważyć, że tło w całej se-
kwencji ulega niewielkim zmianom (gradient oświetlenia pozostaje taki sam, zmienia
się najczęściej stopień jasności obrazu) – można więc generować je tylko w pierwszej
klatce, albo co określony kwant czasu ∆t. W tabelach 5.1 i 5.2 znajduje się ana-
liza zależności pomiędzy wartością ∆t, a jakością uzyskanych wyników dla dwóch
przykładowych sekwencji S3 i S9 (o różnym stopniu skomplikowania). Wyliczone
parametry to:
Tabela 5.1. Jakość i szybkość działania algorytmów segmentacji oraz śledzenia dla
różnych wartości kwantu czasu ∆t, przy użyciu nieskomplikowanej sekwencji ze zróż-
nicowanym oświetleniem. Można tu zaobserwować znaczące rozbieżności, spowodo-
wane gwałtownymi zmianami jasności.
∆t t Wj Nd=1 Nd=max ERRz ERRn
1 5,5063 211,1 92 72 3 1
2 1,8445 221,4 97 67 5 0
3 1,2079 181,7 100 66 6 0
4 1,1108 33,2 574 70 7 0
5 0,8948 27,5 629 64 6 0
6 0,8290 194,9 103 69 6 0
7 0,9345 31,7 612 67 3 0
8 0,7356 32,6 586 68 5 0
9 0,7449 31,7 590 63 4 0
10 0,7227 186,3 101 73 6 0
43
Tabela 5.2. Jakość i szybkość działania dla skomplikowanej sekwencji S3 z jednorod-
nym oświetleniem, zawierającej wiele komórek o złączonych konturach. Widoczna
jest duża równomierność wyników badań, żadna z wartości ∆t z przedziału h1, 10i
nie powoduje znaczących rozbieżności.
∆t t Wj Nd=1 Nd=max ERRz ERRn
1 2,7924 119,1 61 40 0 14
2 1,6620 120,6 57 43 5 13
3 1,2573 125,8 50 41 4 16
4 1,0284 124,9 62 37 6 15
5 1,0029 119,4 56 39 2 14
6 0,8394 123,3 54 43 3 13
7 0,8374 132,0 54 36 4 15
8 0,8520 116,8 57 39 2 14
9 0,7843 112,0 63 40 6 15
10 0,8360 117,0 51 38 0 14
tabeli 5.1. W jednej klatce pojawia się tam kilkaset nowych, błędnie rozpoznanych
komórek, stanowiących losowy szum wychwycony przez adaptacyjne progowanie.
Wartość ∆t musi być dobrana tak, aby zminimalizować ryzyko wystąpienia podob-
nych sytuacji. Jeśli istnieje prawdopodobieństwo, że poszczególne klatki sekwencji
mają różny stopień jasności, wówczas należy zrezygnować z ∆t większych od 3. W ta-
beli 5.2 wartości ∆t nie mają dużego wpływu na liczbę błędów, jednakże dla ∆t > 5
czas działania praktycznie się nie zmniejsza, co sugeruje wybór ∆t z przedziału
h1, 5i.
Stosunkowo duża liczba błędów segmentacji wynika z mylnego interpretowania
obiektów o złączonych konturach. Każda z sekwencji obrazów dostępna jest w dwóch
wersjach – fazowo-kontrastowej oraz fluorescencyjnej (GFP). Rys. 5.3 przedstawia
dwa odpowiadające sobie fragmenty klatki, zawierające potencjalnie złączone ko-
mórki.
A. B.
44
Z uwagi na wyraźnie zaznaczone kontury niektórych komórek, obrazy wykona-
ne w technologii fazowo-kontrastowej mogą być użyte do wspomagania segmentacji
poprzez odjęcie od obrazów GFP (po odpowiedniej obróbce). Tego typu działanie
prowadzi do rozdzielenia komórek kosztem zmniejszenia ich rozmiaru, co może za-
burzyć proces śledzenia. Kolejne kroki wspomaganego algorytmu to:
A. B.
45
Tabela 5.3. Analiza działania wspomagania segmentacji dla skomplikowanej sekwen-
cji S3 (zawierającej dużo złączonych komórek), parametry ERRzsr /ERRnsr ozna-
czają błędy ERRz /ERRn uśrednione po liczbie sprawdzonych manualnie klatek
obrazu
W spom. t Wj Nd=1 Nd=max ERRzsr ERRnsr
NIE 2,7700 119,1 61 40 1,8 18,3
TAK 2,9550 786,5 14 47 0,7 11,2
46
A. B.
47
punktów zupełnie zmienia ich postać). Jeśli algorytm „watershed” zwróci rozbieżne
rezultaty dla kolejnych klatek, dalsze śledzenie będzie znacznie utrudnione.
A. B. C.
Rysunek 5.6. Przykład działania metody „watershed”. (A) Dla wyniku progowania.
(B) Dla wyniku wspomaganego progowania. (C) Dla wyniku algorytmu rozszerzo-
nych h-maksimów.
Tabela 5.6. Analiza działania algorytmu „watershed” dla sekwencji S3 . Dwie ostat-
nie kolumny zawierają wartości uśrednione z 3 klatek obrazu.
Metoda t Wj Nd=1 Nd=max Poprawione Wprowadzone
błędy błędy
progowanie 4,0798 146,4 266 5 14,0 43,3
wspomagane 4,3184 291,7 57 7 5,0 15,7
progowanie
h-maksima 3,2885 79,0 160 1 0,7 36,0
48
5.4. Rozpoznanie obiektów
A. B. C.
1
111 22
111 22
111 222
1 22
22
5.5. Wektoryzacja
49
A. B.
Kontur każdej komórki musi składać się z co najmniej 5 pikseli, jeżeli ten warunek
nie jest spełniony, należy zastosować metodę alternatywną, polegającą na wpisaniu
kształtu w okrąg o promieniu proporcjonalnym do pola powierzchni obiektu. Poten-
cjalnym problemem jest tu nagła zmiana kształtu, pokazana na rys. 5.8 – algorytm
śledzący komórki może zadziałać błędnie uznając, iż długości osi porównywanych
figur geometrycznych nie wskazują na ich podobieństwo. Ryzyko wystąpienia tego
typu nieprawidłowości minimalizuje się poprzez uznanie priorytetu położenia nad
kształtem komórek (m.in. przy konstrukcji macierzy prawdopodobieństw, opisanej
w rozdziale 3.2).
Całkowity czas trwania: 315 sekund (100 klatek), dla sekwencji S3.
< 1%
4%
preprocessing
wektoryzacja
parowanie komorek
sledzenie
postprocessing
37%
56%
Rysunek 5.9. Wykres kołowy długości trwania poszczególnych faz śledzenia komórek
50
przy użyciu 8-bajtowych liczb zmiennoprzecinkowych pojedynczej precyzji wymaga
703 kB pamięci operacyjnej. Dla porównania zapis informacji o komórkach w formie
dwukolorowego obrazu o wymiarach 1024 × 1024 pikseli wymagałby 12,5 MB.
Złożoność algorytmu najmniejszych kwadratów jest stosunkowo mała, podczas
testów przetwarzał on ok. 80 komórek na sekundę. Z uwagi na dużą liczbę obiektów
na obrazie, wektoryzacja stanowi jeden z najdłuższych etapów segmentacji. Przy-
kładowy pomiar czasu znajduje się na rys. 5.9.
51
komórek do ścieżek. Algorytm działa iteracyjnie – w pierwszym przebiegu następu-
je wstępne dopasowanie obiektów z obu klatek, wszystkie kolejne dotyczą konflik-
tów pomiędzy znajdującymi się blisko siebie komórkami. Wielkość struktur danych
używanych przez algorytm jest stała i w pełni przewidywalna – tablice assigns
(wynik), prices (wektor cen), profits (wektor korzyści), bids (licytowane obiek-
ty) i zerobids (licytowane puste przypisania) zajmują łącznie 20M + 8M N + 8N
bajtów, gdzie M – liczba komórek w klatce t oraz N – liczba komórek w klatce t + 1.
Tabela 5.7. Jakość i szybkość działania metody aukcyjnej (segmentacja została wy-
konana metodą rozszerzonych h-maksimów)
Sekw. ε t Wj Nd=1 Nd=max
S3 0,05 0,0090 527,6 35 37
S3 0,1 0,0075 527,6 33 38
S3 0,4 0,0076 527,6 33 41
S3 0,6 0,0070 550,5 33 40
S9 0,05 0,0120 484,0 58 66
S9 0,1 0,0115 484,0 57 65
S9 0,4 0,0141 497,4 58 65
S9 0,6 0,0136 497,4 58 65
kn = wo · (1 − max{anj }) (5.2)
52
0 dla kn ¬ pnp
en = (5.3)
kn dla kn > pnp
gdzie wo – współczynnik zmniejszający wagę pustych przypisań, pnp – próg praw-
dopodobieństwa, powyżej którego obiekt można uznać za nieprzypisany, anj – n-ty
wiersz macierzy prawdopodobieństw.
Dekompozycja problemu odbywa się zgodnie z informacjami przedstawionymi
w rozdziale 3.3.1, do przeglądania drzewa rozwiązań używana jest rekurencja. Każ-
de wywołanie funkcji rekurencyjnej powoduje rozpoczęcie przetwarzania kolejnego
poddrzewa w takiej kolejności, aby najpierw odnaleźć potencjalnie najlepsze ścieżki.
Jeżeli kolejne poziomy drzewa są niedostępne (brakuje dopasowania w klatce t + 1),
należy sprawdzić prawdopodobieństwo en i w przypadku jego niezerowej wartości
ustanowić puste przypisanie (w standardowej wersji algorytmu gałąź zostałaby bez-
warunkowo zakończona).
Prawidłowe działanie metody podziału i ograniczeń zależy od doboru parame-
trów wo oraz pnp . Próg pnp powinien być maksymalizowany, współczynnik wo zaś
– minimalizowany. Niewłaściwe wartości mogą doprowadzić do błędu i przerwania
działania funkcji lub zbliżenia się do przeglądu zupełnego. Dostosowanie wo oraz
pnp wymaga znajomości cech danej sekwencji obrazów (m.in. gęstości rozmieszcze-
nia i liczby komórek). Jeśli takie informacje nie są dostępne (np. podczas śledzenia
komórek w czasie rzeczywistym), pozostaje zastosowanie adaptacyjnego doboru pa-
rametrów, w którym w przypadku wystąpienia błędu następuje zmiana wartości na
bezpieczniejsze, ale wydłużające czas trwania algorytmu.
Obok trudności w doborze parametrów wadą metody podziału i ograniczeń
jest nieprzewidywalność rozmiaru wykorzystywanych struktur danych. Dotyczy ona
drzewa generowanego przez algorytm, reprezentowanego jako tablica węzłów tracks.
Każdy wpis w tej tablicy zawiera 4 pola – wskaźnik na węzeł nadrzędny, identyfikator
powiązanej komórki, wartość funkcji celu oraz numer poziomu (łącznie 32 bajty).
Zakładając, że N i M oznaczają liczbę komórek w klatkach t i t + 1, w optymi-
stycznym przypadku drzewo osiągnie rozmiar 32N , w pesymistycznym zaś będzie
zawierać M ! rozwiązań złożonych z N węzłów (dla 15 komórek wymagane byłoby
aż 5 GB pamięci). Algorytm ograniczający powinien wyeliminować zdecydowaną
większość gałęzi, jednakże jego skuteczność zależy od pierwszych napotkanych roz-
wiązań. Dodatkowy problem stanowi sztuczne powiększanie drzewa poprzez obsługę
przypisań niesymetrycznych.
Niestety ze względu na wspomniane wyżej komplikacje nie udało się w pełni
53
przetestować algorytmu podziału i ograniczeń – nie był on w stanie prześledzić
żadnej z sekwencji w całości. Po starannym dobraniu parametrów do sekwencji S2
i S6 okazało się, iż przeszukiwanie drzewa rozwiązań trwa od kilku sekund do na-
wet kilkudziesięciu minut. Pomimo wysokiej jakości wyników czas działania stanowi
czynnik dyskwalifikujący dla opisywanej metody.
5.8. Postprocessing
Tabela 5.8. Wyniki działania algorytmu przy użyciu różnych parametrów ppod , pdis ,
tjoin i tdis postprocessingu
Sekw. ppod pdis tjoin tdis t Wj Nd=1 Nd=max
S3 0,1 0,1 10 10 0,075 527,6 33 38
S3 0,1 0,1 20 20 0,072 633,1 26 47
S3 0,3 0,3 10 10 0,076 127,9 56 39
S9 0,1 0,1 10 10 0,111 158,5 76 57
S9 0,1 0,1 20 20 0,109 542,7 51 67
S9 0,3 0,3 10 10 0,112 158,5 76 57
54
powtórnie komórek. Zwiększanie progów ppod i pdis również nie daje pożądanych
rezultatów, wpływając niekorzystnie na współczynnik jakości. Błędy występują naj-
częściej w trakcie rozdzielania złączonych komórek (niewłaściwe dopasowanie obiek-
tów) oraz przy podziałach (z powodu błędów segmentacji).
Tabela 5.9. Przykład tablicy paths dla jednej klatki obrazu zawierającej 8 komórek
1 2 3 4 5 6 7 8
5 {END} 2 4 {JOIN, 3} 3 6 1
Przykładowy wynik dla jednej klatki obrazu znajduje się w tab. 5.9. Warto zwró-
cić uwagę na możliwość wykonania dodatkowego postprocessingu, usuwającego ko-
mórki o zbyt krótkim czasie życia (prawdopodobnie stanowiące błąd segmentacji,
nie wnoszące wartościowych danych do analizy statystycznej).
5.10. Podsumowanie
55
małą odporność na gwałtowne zmiany oświetlenia. Algorytm „watershed”, służący
do rozdzielania konturów, okazał się mało przydatny ze względu na wprowadzane
do obliczeń błędy.
Metoda rozszerzo- Rozpoznanie Wektoryzacja
Wczytanie obrazu
nych h-maksimów komórek (elipsy)
56
5.11. Przykładowa analiza sekwencji obrazów
segmentacja segmentacja
1%2%
< 1% 1% 4%
wektoryzacja wektoryzacja < 1%
parowanie parowanie
15%
sledzenie sledzenie
postprocessing postprocessing 18%
usuw. krótkich usuw. krótkich
42%
35%
S7 39%
S8
41%
Pojawienia komórek w czasie (razem 38 w 100 klatkach). Pojawienia komórek w czasie (razem 45 w 100 klatkach).
S7 S8
3 4
2
Nowe komórki
Nowe komórki
57
Znikniecia komórek w czasie (razem 74 w 100 klatkach). Znikniecia komórek w czasie (razem 133 w 100 klatkach).
S7 S8
4 7
4
2
3
2
1
S7 S8
4 6
4
Liczba podzia ów
Liczba podzia ów
2 3
S7 S8
90 70
80
60
70
50
60
Liczba komórek
Liczba komórek
50 40
40 30
30
20
20
10
10
0 0
−20 0 20 40 60 80 100 120 −20 0 20 40 60 80 100 120
Klatki Klatki
58
ρ = 0, 05 dla rozkładu unimodalnego), co oznacza brak określonego kierunku mi-
gracji. Duże przesunięcie histogramów w sekwencji S8 wiąże się z występowaniem
kilku szybko poruszających się w jedną stronę obiektów – tego typu zjawiska mogą
wpłynąć niekorzystnie na obliczanie wartości ρ. Podobne rozkłady prędkości M RDO
i T DS wskazują na migrowanie komórek bez powracania do punktu początkowego.
Histogram predkosci AVS Histogram predkosci AVS
S7 S8
25 140
120
20
100
15
80
60
10
40
5
20
0 0
0 1 2 3 4 5 6 7 0 5 10 15 20 25 30 35
S7 S8
30 350
300
25
250
20
200
15
150
10
100
5
50
0 0
0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 25 30 35
S7 S8
25 300
250
20
200
15
150
10
100
5 50
0
0 0 5 10 15 20 25 30 35
0 0.5 1 1.5 2 2.5 3
59
S7 S8
0 0
−1 −1
1 1
0.875 0.875
−0.75 −0.75
7/4 π 0.75 π/4 7/4 π 0.75 π/4
0.625 0.625
−0.5 −0.5
0.5 0.5
0.375 0.375
−0.25 −0.25
0.25 0.25
0.125 0.125
0 0
3/2 π π/2 3/2 π π/2
0.25 0.25
0.5 0.5
1 1
π π
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1 −1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
S7 S8
0 0
−1 −1
1 1
0.875 0.875
−0.75 −0.75
7/4 π 0.75 π/4 7/4 π 0.75 π/4
0.625 0.625
−0.5 −0.5
0.5 0.5
0.375 0.375
−0.25 −0.25
0.25 0.25
0.125 0.125
0 0
3/2 π π/2 3/2 π π/2
0.25 0.25
0.5 0.5
1 1
π π
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1 −1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
S7 S8
y y
x x
60
6. Podsumowanie
61
nej i ruchowej komórek. Szczególnie ważne są tu histogramy czasu życia oraz wykre-
sy liczby podziałów, których porównanie dla różnych sekwencji niesie wartościowe
informacje o zjawiskach zachodzących w żywych tkankach. Warto wspomnieć o moż-
liwości dowolnej rozbudowy części analitycznej ze względu na dostępność pełnych
danych o obiektach w każdej klatce obrazu.
Przedmiotem ostatnich badań w dziedzinie analizy ruchu w materiale biologicz-
nym jest śledzenie zmian właściwości migracyjnych komórek pod wpływem różnych
substancji chemicznych. Zaimplementowano je w pracy w postaci wyznaczania sta-
tystyk dla wektorów prędkości. Obok graficznej wizualizacji na wykresach kołowych
i histogramach potwierdzane są tu hipotezy dotyczące rozkładów zmiennych loso-
wych, pozwalające na matematyczne sprawdzenie możliwości wystąpienia ukierun-
kowanej migracji.
Podsumowując – algorytm zrealizowano w całości, jego działanie spełnia wszyst-
kie przyjęte założenia. Za największy sukces można uznać skonstruowanie bardzo
wydajnej metody aukcyjnej, eliminującej wszelkie spotykane w publikacjach niedo-
godności związane z długim czasem dopasowywania komórek.
62
Bibliografia
63
multiple-model dynamics filters and spatiotemporal optimization. Proceedings of
the 2nd International Workshop on Microscopic Image Analysis with Applications in
Biology (MIAAB), September 2007.
[14] K. Li, E. Miller, L. Weiss, P. Campbell, T. Kanade. Online tracking of migrating and
proliferating cells imaged with phase-contrast microscopy. Proceedings of the 2006
Conference on Computer Vision and Pattern Recognition Workshop (CVPRW ’06),
strony 65 – 72, June 2006.
[15] J.S. Lim. Two-dimensional signal and image processing. Prentice-Hall, Inc., Upper
Saddle River, NJ, USA, 1990.
[16] D. Olszewska-Słonina, T. Drewa, J. Styczyński, R. Czajkowski. Hodowla komó-
rek, inżynieria tkankowa i medycyna regeneracyjna. część ii. Wiadomości lekarskie,
59(9-10):732–737, 2006.
[17] N. Otsu. A threshold selection method from gray-level histograms. IEEE Transac-
tions on Systems, Man and Cybernetics, 9(1):62–66, January 1979.
[18] J.C. Russ. The Image Processing Handbook, Fifth Edition (Image Processing Hand-
book). CRC Press, Inc., Boca Raton, FL, USA, 2006.
[19] J.L. Semmlow. Biosignal and Biomedical Image Processing. MATLAB-Based Appli-
cations. Marcel Dekker, Inc., 2004.
[20] G. Szczurek. Zastosowanie metod morfologii matematycznej do detekcji i dekompo-
zycji obrazów. Telekomunikacja i techniki teleinformacyjne, (1-2):67–90, 2003.
[21] C. Wählby, I. M. Sintorn, F. Erlandsson, G. Borgefors, E. Bengtsson. Combining
intensity, edge and shape information for 2d and 3d segmentation of cell nuclei in
tissue sections. J Microsc, 215(Pt 1):67–76, July 2004.
64
Spis rysunków
65
4.9 Dwuwymiarowa wizualizacja ruchu komórek . . . . . . . . . . . . . . . . . . . 39
66
Spis tabel
67