program do rekonstrukcji obrazu z tomografu komputerowego z
TRANSCRIPT
Kraków 2011
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI,
INFORMATYKI I ELEKTRONIKI
KATEDRA ELEKTRONIKI
Projekt dyplomowy
inżynierski
Program do rekonstrukcji obrazu z tomografu komputerowego
z zastosowaniem transformacji Radona.
A software tool for tomographic image reconstruction using
Radon transform.
Imię i nazwisko Łukasz Mitka
Kierunek studiów Elektronika i Telekomunikacja
Opiekun pracy dr inż. Jakub Gałka
2
Kraków, 7 styczeń 2011
Imię i nazwisko: Łukasz Mitka
Nr albumu: 212781
Kierunek studiów: Elektronika i Telekomunikacja
OŚWIADCZENIE
Oświadczam, świadomy odpowiedzialności karnej za poświadczenie nieprawdy, że
niniejszą pracę dyplomową wykonałem osobiście i samodzielnie i że nie korzystałem ze
źródeł innych niż wymienione w pracy.
Jednocześnie oświadczam, że dokumentacja projektu inżynierskiego nie narusza praw
autorskich w rozumieniu ustawy z dnia 4 lutego 1994 roku o prawie autorskim i prawach
pokrewnych (Dz. U. z 2006 r. Nr 90 poz. 631 z późniejszymi zmianami) oraz dóbr osobistych
chronionych prawem cywilnym. Nie zawiera ona również danych i informacji, które
uzyskałam w sposób niedozwolony. Wersja dokumentacji dołączona przeze mnie na nośniku
elektronicznym jest w pełni zgodna z wydrukiem przedstawionym do recenzji.
Zaświadczam także, że niniejszy projekt inżynierski nie był wcześniej podstawą żadnej
innej urzędowej procedury związanej z nadawaniem dyplomów wyższej uczelni lub tytułów
zawodowych.
Łukasz Mitka
………………………………..
3
I. Spis treści
I. Spis treści ............................................................................................................ 3
II. Wstęp .................................................................................................................. 4
III. Tomografia komputerowa .................................................................................... 5
1. Historia ............................................................................................................. 5
2. Zasada działania tomografu .............................................................................. 6
3. Konstrukcja tomografów ................................................................................... 8
4. Generacje tomografów ...................................................................................... 9
5. Rekonstrukcja obrazu...................................................................................... 11
6. Tomogramy .................................................................................................... 16
IV. Realizacja projektu ............................................................................................ 19
1. Założenia i wybór metody ............................................................................... 19
2. Filtrowana projekcja wsteczna ........................................................................ 19
3. Wykonanie w środowisku MATLAB .............................................................. 23
4. Interfejs użytkownika...................................................................................... 25
V. Rekonstrukcja obrazu z syntetycznych danych ................................................... 28
1. Generacja danych pomiarowych ..................................................................... 28
2. Odtworzenie obrazu z wygenerowanych danych ............................................. 29
3. Wpływ zmiennych na jakość rekonstrukcji ..................................................... 31
VI. Podsumowanie ................................................................................................... 40
VII. Bibliografia........................................................................................................ 41
VIII. Załączniki .......................................................................................................... 42
1. irad.m ............................................................................................................. 42
4
II. Wstęp
Tomografia komputerowa jest jednym z podstawowych narzędzi diagnostycznych
stosowanych we współczesnej medycynie. Pozwala na zobrazowanie wnętrza ludzkiego ciała
w sposób bezbolesny i nieinwazyjny. Medycyna nie jest oczywiście jedyną płaszczyzną
wykorzystującą tę metodę obrazowania. Znalazła ona również zastosowanie w przemyśle,
np. wykorzystywana jest do kontroli jakości.
Otrzymanie obrazu z tomografu jest skomplikowanym procesem, a jego opracowanie
zajęło wiele lat. Jednym z jego kluczowych etapów jest rekonstrukcja obrazu – przetworzenie
danych z pojedynczych prześwietleń w graficzną reprezentację przekroju. Faza ta jest
tematem tej pracy. Wybór tematu związany był z zainteresowaniem na temat działania
tomografu komputerowego, a praca nad projektem dała możliwość pogłębienia znajomości
tego zagadnienia. Nie bez znaczenia była także rola, jaką odgrywa tomografia
we współczesnej medycynie.
Celem projektu było stworzenie oprogramowania umożliwiającego rekonstrukcję
obrazu tomograficznego. Jako dane wejściowe przyjęto informacje o pochłanianym przez
próbkę promieniowaniu. Wykonanie projektu oparte zostało na metodzie filtrowanej projekcji
wstecznej, która jest jedną z dyskretnych realizacji odwrotnej transformacji Radon. Program
napisany został w środowisku MATLAB. Dodatkowo utworzono graficzny interfejs
ułatwiający użytkownikowi korzystanie z programu. W interfejsie możliwe jest, między
innymi, przeprowadzenie symulacji procesu prześwietlania oraz rekonstrukcja obrazu
z powstałych w ten sposób danych.
Początkowe rozdziały poświęcone zostały podstawowym informacjom dotyczącym
tomografów komputerowych. Wprowadzenie to ma na celu zarysowanie historii tomografii,
metod podziału oraz wyjaśnienie zasady działania i konstrukcji tomografów. Wiadomości
te przydatne są w zrozumieniu zagadnienia rekonstrukcji obrazu z tomografu
komputerowego. Podrozdział Rekonstrukcja obrazu przybliża podstawowe metody realizacji
tytułowego procesu. W rozdziale IV opisane są założenia projektowe oraz metoda realizacji
wykonanego programu. Rozdział ostatni jest prezentacją działania wykonanego
oprogramowania oraz jego analizą jakościową.
5
III. Tomografia komputerowa
1. Historia [1]
Powstanie tomografii komputerowej jest ogromnym sukcesem. Rozdział ten
poświęcono najważniejszym faktom i osobom związanym ze stworzeniem i udoskonaleniem
tego urządzenia.
Podstawy tej metody badania można znaleźć już w 1895 roku, kiedy to Röentgen
opublikował swoje odkrycie związane z promieniowaniem rentgenowskim. Przy pomocy
lampy katodowej oraz bardzo wysokich napięć (40-60kV) udało mu się przypadkiem
wytworzyć niespotykane do tej pory promieniowanie, które przenikało przez materię stojącą
na jego drodze. Zaobserwował on także podstawowe własności tego promieniowania:
zależność od grubości i gęstości prześwietlanego obiektu oraz zdolność do zaczernienia kliszy
fotograficznej. Ostatnią właściwość została następnie wykorzystana do utrwalania obrazów
z prześwietlanych przedmiotów. Dzięki swoim właściwościom promieniowanie to stało się
idealnym sposobem do nieinwazyjnego zobrazowania wnętrza ludzkiego organizmu.
Odkrycie to i możliwości nowopoznanego promieniowania w błyskawicznym tempie stały się
powszechnie znane. Jego znaczenie zostało podkreślone poprzez uhonorowanie Röentgena
Nagrodą Nobla z dziedziny fizyki w 1901.
W niedługiej przyszłości zdano sobie sprawę z niedoskonałości tej metody i podjęto
próby uzyskania lepszego wglądu w ludzkie ciało. Jednym z wykorzystywanych sposobów
były zdjęcia stereoskopowe dające złudzenie trójwymiarowości oglądanego obrazu. Nie
dawały one jednak zadawalających rezultatów, co niejako zmusiło do dalszych prac nad
obrazowaniem wnętrza ludzkiego ciała.
Jedną z ważniejszych osób, które przyczyniły się do stworzenia tomografii
komputerowej był Johann Radon. W 1917 roku przedstawił on transformację całkową, która
jest matematyczną podstawą tomografii. Stworzył on także transformację odwrotną, która
teoretycznie umożliwia odwrócenie procesu – rekonstrukcję obrazu [5].
Do stworzenia tomografu komputerowego przyczynił się także rozwój elektroniki.
Umożliwiła ona zbudowanie wydajnych i niezawodnych maszyn liczących. Komputery były
potrzebne ze względu na złożony obliczeniowo proces rekonstrukcji obrazu.
Osobami bezpośrednio odpowiedzialnymi za stworzenie tomografu komputerowego
są Allan McLeod Cormack i Godfrey N. Hounsfield – obaj uhonorowani wspólną Nagrodą
6
Nobla w dziedzinie fizyki (1975) [1]. Istotny jest fakt, iż pracowali niezależne od siebie.
Cormack prowadził badania na Uniwersytecie w Harwardzie. W 1956 zajął się rekonstrukcją
obrazu z prześwietleń rentgenowskich. W 1963 roku skonstruował urządzenie tomograficzne
służące mu do dalszych badań. Dla Cormack’a najważniejsze było stworzenia samego
urządzenia, a nie zastosowanie go w praktyce. Dopiero w 1967 roku Hounsfield rozpoczął
własną pracę nad tą tematyką. Ogromnym postępem było zastosowanie przez niego
komputera, który wykonywał skomplikowane obliczenia matematyczne. W 1968 roku
opatentował działające urządzenie, a w 1971 roku zainstalowano pierwszy tomograf
komputerowy EMI Mark I. Urządzenie to było bardzo niedoskonałe – czas skanowania
to ok. 4,5 minuty, a rozdzielczość obrazu wynosiła 80x80 pikseli.
W najbliższym czasie nastąpił bardzo szybki postęp w dziedzinie tomografii.
Poprawiono ich parametry oraz prędkość działania. EMI Ltd. przestała być jedyną firmą
produkującą takie urządzenia. Konkurencja przyczyniła się do dalszego rozwoju, stosunkowo
szybko pojawiły się urządzenia z wachlarzową wiązką promieniowania, a po kilkunastu
latach stworzono tomograf spiralny. Następnym krokiem w rozwoju tomografii było
zwiększanie liczby warstw, które tomograf spiralny prześwietlał przy jednym skoku.
2. Zasada działania tomografu
Działanie tomografu opiera się na próbie odtworzenia wewnętrznej struktury
prześwietlanego obiektu, poprzez zobrazowanie jego przekroju. Nie jest możliwe pozyskanie
takiego obrazu w sposób bezpośredni. Aby go otrzymać konieczne jest wykonanie serii
prześwietleń równoległych do obrazowanego przekroju. Prześwietlenia te obrazują ilość
Rys. 1 Schemat przedstawiający budowę pierwszego tomografu, tzw. EMI scanner.
1 - lampa rentgenowska, 2 - detektor odniesienia, 3 - obrotowy statyw, 4 – woda, 5 -
podpórka pod głowę, 6 – detektory, 7 - miejsce na głowę, 8 - przesłona gumowa [2]
7
pochłanianego promieniowania na drodze padających promieni. Ilość pochłanianego
promieniowania określa wzór (1).
( ) ( ) ∫ ( )
(1)
gdzie:
( ) – natężenie promieniowania po przejściu drogi S,
( ) – natężenie początkowe promieniowania,
( ) – funkcja opisująca przestrzenny rozkład pochłania promieniowania.
Stąd można określić związek opisujący projekcję jako:
( ) ( ( )
( )) ∫ ( )
(2)
gdzie:
( ) – Wartość projekcji dla wiązki równoległej po przejściu drogi S.
Rys. 2 Pomiar pochłaniania promieniowania dla wiązki równoległej [3 za A.Rosenfeld, A. C. Kak, Digital Picture Processing, 2nd ed. New York, NY: Academic Press, 1982]
8
Kolejnym krokiem jest przetworzenie zebranych danych i odtworzenie przekroju –
obrazu reprezentującego stopień pochłaniania promieniowania w danym miejscu. Tak
zrekonstruowany obraz może być już wykorzystany, np. w celach diagnostycznych. Następną
fazą jest przesunięcie prześwietlanego obiektu w płaszczyźnie horyzontalnej i wykonanie
kolejnego przekroju.
3. Konstrukcja tomografów
W skład tomografu komputerowego możemy wliczyć lampę rentgenowska, urządzenia
zbierające dane, komputery je przetwarzające, system zasilania, urządzenie wyświetlające
oraz system archiwizacji danych.
Rys. 3 Schemat budowy rentgenowskiego tomografu komputerowego [4]
Promieniowanie X zostaje wytworzone w lampie rentgenowskiej, a następnie
formowane jest w odpowiednią wiązkę przez kolimator1. Rodzaj wiązki zależy od generacji
tomografu, w którym jest używana. Następnie promienie przenikają przez badany obiekt.
Promieniowanie jest osłabiane zależnie od parametrów materiału przez który przechodzi.
Na końcu wiązka rejestrowana zostaje przez detektory odpowiedzialne za zbieranie danych.
Matryca detektorów służy do zamiany natężenia promieniowania rentgenowskiego na sygnał
elektryczny. W tej postaci może zostać poddany cyfrowej obróbce. Lampa oraz detektory
mieszczą się wewnątrz „bramy” (gantry). W środku bramy jest otwór gdzie umieszczane
1 Kolimator – przyrząd przetwarzający padające światło lub strumień cząstek w równoległą wiązkę
(skolimowaną) lub w wiązkę o określonej zbieżności [za: Kolimator, http://pl.wikipedia.org/wiki/Kolimator,
(odwiedzona 10.12.2010)]
9
są prześwietlane obiekty. Do umieszczania obiektu, np. pacjenta wewnątrz bramy, służy
ruchomy stół. Pozwala on na centrowanie obiektu oraz przesuwanie go, w celu wykonania
kolejnego przekroju. Konsola pozwala na sterowanie systemem przez operatora, a monitor
służy do wyświetlania aktualnych danych pomiarowych.
4. Generacje tomografów [1]
Sposób zbierania danych przez tomografy znacząco zmieniał się z biegiem czasu.
Proces ten determinuje możliwości oraz obszary zastosowań tomografii komputerowej. Jest
to wystarczająca przesłanka do dokonania klasyfikacji tomografów ze względu na sposób
akwizycji danych dzielący je na generacje.
I generacja
Generację I charakteryzuje prostota układu prześwietlającego i zbierającego.
Promieniowanie jest formowane w wąską, równoległą wiązkę padającą na jeden detektor.
Wykonanie projekcji polega na ruchu translacyjno-obrotowym. Lampa i detektor przesuwają
się wspólnie, aby prześwietlić na szerokość cały badany obiekt (translacja). Translacja
potrzebna jest do wykonania jednej projekcję. Następnie wykonywany jest obrót o zadany kąt
i proces prześwietlania jest powtarzany. Kolejnym etapem jest ruch stołu, prostopadły
do płaszczyzny prześwietlenia. Pozwala on na zobrazowanie kolejnego przekroju.
Rys. 4 Schemat działania tomografów I generacji [2]
Ten sposób działania tomografu jest oczywiście bardzo czasochłonny. Natomiast
budowa urządzenia tego typu jest stosunkowo prosta, tak samo jak rekonstrukcja obrazu
z danych przez niego zebranych.
II generacja
W 1972 roku pojawiła się wiązka częściowo wachlarzowa oraz zwiększona liczba
detektorów (od 3 do 52). Promieniowanie nadal obejmowało tylko fragment obserwowanego
10
obiektu, dlatego stosowano metodę translacyjno-obrotową. Zmniejszono jednak liczbę
pojedynczych prześwietleń, co pozwoliło na skrócenie czasu badania.
Rys. 5 Schemat działania tomografów II generacji [2]
III generacja
W tej generacji (1976) wprowadzono przełomowe rozwiązanie, zastosowano
wachlarzową wiązkę promieniowania. Wiązkę na tyle szeroką, aby objąć cały obiekt przy
jednym prześwietleniu. Takie rozwiązanie wymagało zastosowania dużej liczby detektorów,
jednocześnie pozwala na wyeliminowanie ruchu translacyjnego, co znacznie skróciło czas
skanowania.
Rys. 6 Schemat działania tomografów III generacji [2]
IV generacja
W 1978 roku udoskonalono tomografy poprzez modyfikację matrycy detektorów.
Do tej pory poruszała się ona wraz z lampą rentgenowską. W tej generacji zastosowano
11
nieruchomą matrycę detektorów umieszczoną na całym obwodzie. Poruszała się tylko lampa.
Wymagało to zastosowania bardzo dużej liczby detektorów, ale uprościło urządzenie pod
względem mechanicznym.
Rys. 7 Schemat działania tomografów IV generacji [2]
Tomografia spiralna
Kolejnym krokiem było połączenie ruchu obrotowego z jednoczesnym płynnym
przesuwaniem pacjenta. Superpozycją tych ruchów jest spirala, stąd nazwa tego rodzaju
tomografii. Początkowo zastosowano pojedynczy przekrój, zbierany z wykorzystaniem
wiązki wachlarzowej. W następnych latach wykorzystano wiązkę stożkową, co umożliwiło
wprowadzenie wieloprzekrojowej projekcji. Do zbierania danych wykorzystano
wielorzędową matrycę detektorów. Przy jej pomocy można szybko zeskanować cały badany
obszar oraz stworzyć model 3D.
5. Rekonstrukcja obrazu
Dane zebrane przez tomograf trzeba przetworzyć na postać zrozumiałą dla ludzi –
obraz. Przy pomocy algorytmów rekonstrukcyjnych odtwarzany jest przekrój skanowanego
obiektu. W tym celu można skorzystać z różnych metod. Tutaj zostaną omówione
podstawowe metody wykorzystywane przy rekonstrukcji obrazu dla równolegle padającej
wiązki promieniowania.
Metoda algebraiczna
Metoda ta polega na utworzeniu, a następnie rozwiązaniu dużej liczby niezależnych
równań. Równania tworzone są dla wszystkich pomiarów w każdej projekcji. Skanowany
obszar dzielony jest na N pól, a rekonstrukcja polega na rozwiązaniu układu równań
z N niewiadomymi. Niestety dla wysokich rozdzielczości złożoność obliczeniowa jest bardzo
12
duża. Kolejną wadą tej metody jest wpływ drogi przebytej przez padający promień, w celu
jego zniwelowania konieczne jest stosowanie zestawu wag. Wagi dobierane są na podstawie
geometrii obiektu i rodzaju projekcji. Pociąga to za sobą kolejne utrudnienia, dlatego
w praktyce częściej stosowane są inne metody.
Metoda iteracyjna
Metoda iteracyjna polega na stopniowym odtwarzaniu obrazu, który będzie możliwie
podobny do rzeczywistego. Podobieństwo jest liczone na podstawie, np. błędu
średniokwadratowego, którego minimalizacja prowadzi do coraz wierniejszej rekonstrukcji.
Początkowo obierane jest pierwsze przybliżenie, następnie dla każdego kroku wyliczana jest
wartość korekty. Przykładowy przebieg pokazany został na Rys. 8.
Rys. 8 Zasada działania metody iteracyjnej [2]
Metody analityczne
Metody analityczne są obecnie najbardziej rozpowszechnionymi rozwiązaniami
dającymi bardzo dobre rezultaty. Jednocześnie są one bardziej skomplikowane obliczeniowo
od pozostałych przedstawionych tutaj metod. Należy jednak zaznaczyć, że moc obliczeniowa
współczesnych komputerów jest wystarczając, aby poradzić sobie z tym zadaniem.
13
Zasada działania tych metod opiera się na matematycznym opisie zjawisk zachodzących
podczas projekcji oraz na odwróceniu tego procesu przy pomocy odpowiednich
przekształceń. Do metod analitycznych zaliczamy metodę wykorzystującą teorię przekroju
Fouriera oraz filtrowaną wsteczną projekcję.
Transformacja Radona
Transformacja Radona jest matematycznym opisem procesu projekcji. Funkcję rzutu
można przedstawić jako
( ) ∫ ∫ ( ) ( )
(3)
gdzie:
( ) – funkcja opisująca przestrzenny rozkład pochłania promieniowania,
-dystrybucja delta Diraca,
– kąt prześwietlenia,
– przesunięcie względem środka,
– współrzędne punktu przeniesione do układu współrzędnych projekcji,
( ) – wartość funkcji rzutu dla kąta ϕ, i przesunięcia t.
Odwrotna transformacja Radona opisana jest wzorem (4).
( ) ( ( ))
∫ ∫
( ( ))
( )
(4)
gdzie:
( ) – szukana funkcja reprezentująca rozkład pochłaniania promieniowania,
– Odwrotna transformacja Radona,
– pochodna kierunkowa po zmiennej t.
Przy pomocy wzoru (4) możliwe jest odtworzenie funkcji pochłaniania. W praktyce
jednak nie stosuje się tego wzoru lecz jego dyskretne odpowiedniki. Na podstawie odwrotnej
transformacji Radon zostały stworzone opisane dalej metody analityczne.
Teoria przekroju Fouriera
Teoria ta mówi, iż rzutując dwuwymiarową funkcję ( ) na jednowymiarową linię
(transformacja Radona) i wykonując transformację Fouriera tej projekcji, otrzymuje się ten
14
sam wynik co gdyby przyjąć tą samą funkcję ( ), wykonać na niej dwuwymiarową
transformację Fouriera i wybrać z niej przekrój równoległy do linii projekcji [6].
Zapis symboliczny przedstawionej teorii wygląda następująco:
(5)
gdzie:
F1 – jednowymiarowa transformacja Fouriera,
P1 – projekcja dwuwymiarowej funkcji na jednowymiarową prostą,
F2 – dwuwymiarowa transformacja Fouriera,
S1 – przekrój przez dwuwymiarową transformatę Fouriera.
Rys. 9 prezentuje zachodzący proces:
Rys. 9 Schemat teorii przekroju Fouriera [4]
Dla tak opisanej zależności można wyprowadzić wzór na funkcję opisującą przekrój:
( ) ( ( )) ∫ ∫ ( ) ( )
( ( )) ( )
(6)
gdzie:
( ) – jednowymiarowa transformata Fouriera funkcji rzutu (projekcji),
F1 – jednowymiarowa transformacja Fouriera,
( ) – projekcja dwuwymiarowej funkcji na prostą,
{
– zamiana układu współrzędnych,
F2 – dwuwymiarowa transformacja Fouriera,
( ) – funkcja osłabienia promieniowania,
( ) – dwuwymiarowa transformata Fouriera funkcji ( ), uzyskana
z jednowymiarowych transformacji projekcji.
15
Stąd przy pomocy wzoru na odwrotną dwuwymiarową transformację Fouriera można
wyznaczyć:
( ) ∫ ∫ ( ) ( )
(7)
Wzór ten jest prawdziwy dla nieskończonej ilości prześwietleń. Nie jest to jednak
możliwe do zrealizowania, dlatego funkcja ( ) ma bardzo dużo elementów w zakresie
niskich częstotliwości, mało dla wysokich. Konieczne jest stosowanie interpolacji dla
brakujących fragmentów. To poważna wada tej metody, ponieważ daje niepoprawne wyniki
rekonstrukcji, obserwowane jako efekt rozmycia na obrazie przekroju.
Filtrowana projekcja wsteczna
Wykorzystanie teorii przekroju Fouriera nie przynosi oczekiwanych rezultatów, dlatego
konieczne jest wprowadzenie modyfikacji w tej metodzie. Problemem są niedokładności
w reprezentacji wysokich częstotliwości – wspomniany wcześniej efekt rozmycia. W celu
jego usunięcia, należy połączyć teorię przekroju Fouriera z transformacją Radona. W ten
sposób można wyprowadzić wzory zakładające dodatkową filtrację projekcji.
( ) ∫ ∫ ( )| | ( )
∫ (| | ( ))
∫ (| |) ( )
(8)
gdzie:
( ) – szukana funkcja osłabienia promieniowania,
( ) – transformata projekcji funkcji szukanej,
– współrzędne punktu przeniesione do układu współrzędnych projekcji,
– odwrotna transformacja Fouriera.
Na podstawie tego wzoru widać, iż uzyskane projekcje są poddawane filtracji
z modułem pulsacji. Filtr ten można przedstawić jako
( ) ( ( )) ∫| |
(9)
gdzie:
( ) – odpowiedź impulsowa filtru w dziedzinie przestrzeni.
16
Z jego pomocą można przedstawić szukaną funkcję jako
( ) ∫ ∫ ( ) ( )
(10)
6. Tomogramy
Tomogram to obraz powstały w procesie rekonstrukcji danych z tomografu
komputerowego. Obraz podzielony jest na pixele – najmniejsze jego elementy. Każdy pixel
w obrazie reprezentuje najmniejszą objętość voxel. Do każdego voxela przypisywana jest
liczba opisująca stopień pochłaniania promieniowania rentgenowskiego. Idea voxeli wynika
z faktu, iż wiązka promieniowania ma skończoną grubość, więc detektory rejestrują ilość
promieniowania pochłoniętego przez objętość na drodze padającego promienia.
Przykładowy tomogram zaprezentowano na Rys. 10. Przedstawia on przekrój jamy
brzusznej, a wykonany został przy użyciu tomografu GE HiSpeed NX/i.
Wyliczane w procesie rekonstrukcji obrazu współczynniki przeliczane są na skalę
Hounsfielda.
(11)
gdzie:
HU – wartość pochłaniania w skali Hounsfielda,
Rys. 10 Jama brzuszna [8]
17
– zmierzone osłabienie promieniowania,
– osłabienie promieniowania dla wody.
Skala ta pozwala na łatwą reprezentację zmierzonych danych w odniesieniu do wody,
która jest podstawowym składnikiem tkanek zwierzęcych.
W obrazowaniu biomedycznym stosowana jest także metoda okien. Polega ona
na wyborze przedziału wartości HU, który będzie prezentowany na tomogramie. Wybór
dotyczy środka okna (L) oraz jego szerokości (W). Metoda ta ma na celu poprawę jakości
wyświetlanych obrazów w zależności od stopnia pochłaniania promieniowania. Tkanki gęste
(np. kości) pochłaniają promieniowanie mocniej od rzadkich (np. płuc). Ich prezentacja ich
na jednym tomogramie powoduje brak wystarczającej szczegółowości dla obu przypadków.
Metoda okien pozwala na wybór zakresu prezentacji. Przykład wpływu wyboru okna
na zawartość tomogramu zaprezentowany został na Rys. 11.
Rys. 11 Różne prezentacje tego samego zbioru danych odpowiednio dla okien (L=-700, W=1000) (L=350, W=2000) (L=40, W=400) [4]
18
Zagadnienie okien oraz jednostek Hounsfielda ma ważne znaczenie dla diagnostyki
medycznej. Projekt ten dotyczy jednak rekonstrukcji obrazu, dlatego zagadnienia te nie będą
poruszane w dalszej części pracy.
19
IV. Realizacja projektu
1. Założenia i wybór metody
W rozdziale dotyczącym metod rekonstrukcji obrazu omówiony został związek (2)
opisujący matematyczną reprezentację procesu prześwietlania (transformacja Radona).
W celu rekonstrukcji należy odwrócić zachodzący proces. Odwrotną transformację Radona
przedstawia zależność (3). Zawarte we wzorze pochodne oraz mianownik, którego wartość
dąży do nieskończoności dla interesujących nas zmiennych, utrudniają realizację algorytmu
z wykorzystaniem (3). Lepszym rozwiązaniem opisywanego problemu jest zastosowanie
innej metody rekonstrukcji, mianowicie filtrowanej projekcji wstecznej. Jest ona tożsama
z odwrotną transformacją Radona, jednak mniej skomplikowana obliczeniowo, dlatego
właśnie została wybrana do realizacji projektu.
2. Filtrowana projekcja wsteczna
Wzór (7) jest matematycznym opisem filtrowanej projekcji wstecznej. Polega ona
na filtracji projekcji uzyskanych z tomografu i następnym ich wstecznym rzutowaniu.
Ze wzoru (7) wynika także, że filtracja może odbyć się na dwa sposoby:
filtracja w dziedzinie częstotliwości przestrzennej,
filtracja w dziedzinie przestrzeni z wykorzystaniem splotu.
W projekcie wykorzystana zostanie metoda filtracji w dziedzinie częstotliwości
przestrzennej.
Podstawy teoretyczne
Filtrowaną projekcje wsteczną można zapisać przy pomocy wzoru (12) [1].
( ) ∫ (| | ( ))
∫ (| | ( ( )))
( (| | ( ( ))))
(12)
gdzie:
( ) – dwuwymiarowa funkcja pochłaniania promieniowania,
– odwrotna transformacja Fouriera,
20
| | – moduł pulsacji,
( ) – projekcja w dziedzinie częstotliwości,
– transformacja Fouriera,
( ) – projekcja (transformata Radona),
– przesunięcie względem środka, ,
– projekcja wsteczna.
Filtracja
Dobór filtru nie jest bez znaczenia. Źle dobrany filtr może nie usunąć rozmycia, albo
wzmocnić szum obecny na prześwietleniach. W podrozdziale Podstawy teoretyczne
omówiony został wzór pozwalający na rekonstrukcję obrazu. Przyjęto tam założenie,
że filtracja dokonywana jest przez moduł pulsacji. Jest to podstawowy filtr Ram-Lak
(od nazwisk autorów – Ramachandran i Lakshiminarayanan), zakłada on ograniczenie pasma
do pulsacji granicznej. Jego reprezentacja w dziedzinie częstotliwości to:
( ) {| | | | | |
(13)
gdzie:
– pulsacja graniczna, zależna od ( ).
Można także wyznaczyć odpowiedź filtru w dziedzinie przestrzeni t
( ) ( ( ))
∫ ( )
∫ | |
( ( ) (
))
(14)
gdzie:
- częstotliwość graniczna
.
Poza filtrem Ram-Lak istnieją oczywiście inne filtry np. Shepp-Logan, Hamminga, czy
niskopasmowy cosinusowy. Reprezentacja tych filtrów, w zależności od filtru Ram-Lak,
została umieszczona w Tab. 1. Należy jednak pamiętać, że mają one inne jądro
przekształcenia, przez co w odmienny sposób traktują częstotliwości zawarte w sygnale.
21
Tab. 1 Zestawienie wykorzystanych filtrów
Filtr Funkcja opisująca
Shepp-Logan HSL(ω)=HRL(ω)·sinc(ω/2)
Hamming HH(ω)=HRL(ω)·(η+(1-η)cos(ω)
Niskopasmowy cosinusowy HLC(ω)=HRL(ω) cos(ω/2)
Algorytm
Dla tak sformułowanego wzoru rekonstrukcyjnego oraz filtrów możliwe jest stworzenie
algorytmu odtwarzającego obraz z projekcji. Schematyczne można go zapisać w następujący
sposób.
1. Wczytanie zestawu projekcji dla wszystkich kątów prześwietleń.
2. Utworzyć filtr.
3. Dokonać filtracji.
4. Dokonać wstecznej projekcji.
5. Przeskalować otrzymane dane.
6. Wyświetlić wynik.
Szukaną funkcję można zapisać w postaci dyskretnej jako:
( ) ( (| | ( ( )))) (15)
gdzie:
( ) – dyskretna postać funkcji osłabienia promieniowania,
( ) – dyskretna postać funkcji projekcji,
– dyskretna wartość przesunięcia w układzie, w którym wykonywana jest projekcja,
– dyskretna wartość kąta, pod którym wykonywana jest projekcja,
| | – moduł współrzędnej opisującej dziedzinę pulsacji przestrzennej,
– jednowymiarowa dyskretna transformacja Fouriera względem współrzędnej k,
– odwrotna jednowymiarowa dyskretna transformacja Fouriera.
– dyskretny operator wstecznej projekcji.
Filtracja
Filtracja odbywa się w dziedzinie częstotliwości, więc konieczne jest przekształcenie
projekcji do tej postaci przy pomocy dyskretnej transformacji Fouriera (16) [7].
22
( ) ( ( )) ∑ ( )
(16)
gdzie:
( ) – dyskretne projekcje,
( ) – dyskretna transformata Fouriera projekcji.
Filtr można przedstawić jako:
( ) | | (
) (17)
gdzie:
( ) – współczynniki filtru w dziedzinie pulsacji,
– funkcja okna prostokątnego, funkcja przyjmuje wartość 1 dla | | , a 0 dla
| | .
– pulsacja graniczna.
Filtracja polega na wymnożeniu funkcji projekcji w dziedzinie pulsacji
z współczynnikami filtru.
( ) ( ) ( ) (18)
gdzie:
( ) – przefiltrowana transformata projekcji.
W następnych etapach konieczne jest zastosowanie projekcji w dziedzinie przestrzeni.
Wykorzystuje się odwrotną dyskretną transformację Fouriera [7]:
( ) ( ( ))
∑ ( )
(19)
gdzie:
( ) – dyskretne przefiltrowane projekcje w dziedzinie przestrzeni.
Wsteczna projekcja
Wstecznej projekcji dokonuje się z wykorzystaniem przekształcenia (20) [7]:
( ) ( ( ))
∑ ( )
(20)
gdzie:
23
– dyskretna wartość kąta pod jakim próbkowane były projekcje.
Interpolacja
Ponieważ wartości wyliczone z użyciem (21) nie są wartościami całkowitymi i nie
pokrywają się z wartościami , konieczne jest zastosowanie interpolacji.
(21)
Wykorzystane zostały dwie metody:
Najbliższy sąsiad
Wartość obliczona z użyciem (21), jest zaokrąglana do najbliższej wartości
całkowitej.
Liniowa
Stosowany jest wzór (22) opisujący interpolację liniową [10]
( ) ( ) ( ) ( ) ( )
(22)
gdzie:
– wartość obliczona przy użyciu (21),
( ) – interpolowana wartość funkcji dla argumentu ,
– wartość zaokrąglona w dół do najbliższej istniejącej wartości,
- wartość zaokrąglona w górę,
( ) – wartość funkcji dla istniejących dyskretnych argumentów.
3. Wykonanie w środowisku MATLAB
W realizacji projektu posłużono się środowiskiem MATLAB. Program ten zapewnia
wiele wbudowanych funkcji oraz prostą składnię języka, dzięki czemu możliwa jest szybka
realizacja własnych projektów. Kod napisany w ramach tego projektu wraz z komentarzami
znajduje się w Załączniku 1. Poza programem wykonującym rekonstrukcję w ramach projektu
został stworzony graficzny interfejs użytkownika. Jego działanie zostało opisane
w podrozdziale Interfejs użytkownika.
Dane
Program realizowany w tym projekcie znajduje się w pliku irad.m i jest wywoływany
funkcją irad. Funkcja przyjmuje wartości w formacie double, na takich też operuje oraz
takie pojawiają się na jej wyjściu. Funkcja wywoływana jest z następującymi parametrami:
obraz = irad(projekcje, theta, filtr), gdzie:
24
projekcje – macierz danych projekcji (sinogram), wiersze zawierają wartości
projekcji, natomiast kolumny odpowiadają kolejnym kątom, pod którymi
wykonywane były projekcje,
theta – wektor zawierający wartości kątów (w stopniach), pod którymi
wykonywane były projekcje,
filtr – pozwala na wybór filtru realizującego filtrowanie. Do wyboru są ‘ram-
lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’. Podstawowym filtrem jest ‘ram-lak’.
interpol – wybór metody interpolacji. Do wyboru ‘nearest’, ‘linear’,
obraz – macierz zawierająca zrekonstruowany obraz, wartości zapisane są
w postaci liczb zmiennoprzecinkowych o podwójnej precyzji.
Filtracja
Filtracja realizowana jest poprzez funkcję filtrowanie zawartą w pliku irad.m.
Pierwszym krokiem było stworzenie filtru w dziedzinie częstotliwości o wartościach
odpowiadającym modułowi częstotliwości. Dodatkowo rząd filtru dobierany jest
na podstawie rozdzielczości wykonanych projekcji. Tworzony jest także wektor
częstotliwości pomocny przy tworzeniu innego filtru oraz zerowaniu górnych częstotliwości
| | .
Przejście do dziedziny częstotliwości realizowane jest poprzez poddanie wszystkich
projekcji operacji fft. Wbudowana funkcja fft pozwala na rozszerzenie widma, w celu
dopasowania go do wielkości filtru. Następnie następuje mnożenie ze stworzonym wcześniej
filtrem. Kolejnym krokiem jest operacja ifft i przycięcie przefiltrowanej projekcji
do poprzedniego rozmiaru. Otrzymane w ten sposób projekcje można poddać procesowi
wstecznej projekcji. Funkcja filtracji została wykonana na podstawie funkcji zawartej w pliku
iradon.m (Copyright 1993-2006 The MathWorks, Inc.).
Oprócz podstawowego filtru Ram-Lak zaimplementowane zostały filtry Shepp-Logan,
Hamminga, niskopasmowy cosinusowy. Otrzymane one zostały poprzez wymnożenie filtru
Ram-Lak przez odpowiednie współczynniki opisane w Tab. 1.
Wsteczna projekcja
W pierwszej fazie tworzone są wektory m i n zawierające indeksy wynikowego obrazu
przesunięte względem środka tak, aby możliwe było wyliczenie wartości k (21).
Zostały utworzone także wektory , aby można było się odwoływać
do ich wartości poprzez indeksowanie, a nie wyliczać je za każdym razem.
25
Wsteczna projekcja została wykonana na podstawie wzoru (20) przy użyciu 3 pętli
iteracyjnych. Dla każdej wartości m i n w generowanym obrazie i dla każdej wartości
obliczana jest wartość k (21), ta wartość wybiera z przekroju dla danej wartość osłabienia
w punkcie ( ). Po wykonaniu projekcji wstecznej dla każdej zmiennej, otrzymujemy
zrekonstruowany obraz.
Interpolacja
Zaimplementowana zostały dwie metody interpolacji: najbliższy sąsiad (‘nearest’,
zerowy rząd) i liniowa (‘linear’, 1. rząd). Obie zostały zaimplementowane przy użyciu
algorytmów opisanych w podrozdziale Algorytm.
4. Interfejs użytkownika
Interfejs graficzny ma na celu zapewnienie użytkownikowi prostej obsługi
zrealizowanego projektu. Został on wykonany przy pomocy wbudowanego kreatora GUIDE.
Interfejs stanowi dodatek do funkcji irad, która odpowiedzialna jest za realizację
rekonstrukcji obrazu. Interfejs umożliwia między innymi generację syntetycznych danych
pomiarowych, które mogą być następnie poddane rekonstrukcji.
Uruchamianie
W celu uruchomienia GUI (Graphical User Interface) należy w bieżącym katalogu
programu MATLAB umieścić pliki:
irad.m
irad_gui.m
irad_gui.fig
abdom.jpg
head.jpg
Uruchamianie interfejsu następuje poprzez wpisanie w oknie komend MATLAB’a
polecenia irad_gui.
26
Opis interfejsu
1. Interfejs pozwala na wybór obrazu, który ma zostać poddany symulacji
prześwietlenia. Ma to na celu generację syntetycznych danych pomiarowych.
Do wyboru są 3 predefiniowane obrazy:
Fantom Sheppa-Logana,
Tomogram jamy brzusznej,
Tomogram głowy,
Oprócz nich interfejs pozwala na wskazanie własnego obrazu, który ma zostać
poddany wirtualnej tomografii. Operacja dokonywana jest z wykorzystaniem
funkcji radon z pakietu MATLAB. W tym celu należy kliknąć przycisk
Otwórz obraz. Jako źródło może służyć obraz w jednym z formatów: jpg, tif,
png, gif, bmp. Obrazy w formacie RGB zostaną automatyczne
przekonwertowane na skalę szarości. Zalecane jest, aby obrazy miały rozmiar
o proporcji kwadratu. Dla innych formatów działanie algorytmu
rekonstruującego nie jest całkowicie poprawne.
Obrazy predefiniowane mają rozdzielczość 256x256 pixeli. Te, wprowadzane
przez użytkownika, mogą mieć dowolną rozdzielczość. Jeżeli będzie ona
większa niż 512x512 pixeli, zostaną one przeskalowane do takiej właśnie
wielkości. Ma to na calu ograniczenie czasu wykonywania rekonstrukcji
2. W tym miejscu wyświetlany jest podgląd wybranego obrazu.
3. Parametry rekonstrukcji:
27
Liczba projekcji – ilość wykonywanych prześwietleń – im większa
liczba tym lepsza jakość zrekonstruowanego obrazu, ale rekonstrukcja
zajmuje więcej czasu. Parametr można wpisać przy pomocy pola
tekstowego lub przy pomocy suwaka. Wartość domyślna to 180
projekcji, co oznacza, że projekcja jest wykonywana co 1°.
Filtr – wybór filtru zastosowanego podczas wykonywania algorytmu
filtrowanej projekcji wstecznej. Do wyboru: Ram-Lak, Shepp-Logan,
Niskopasmowy cosinusowy, Hamminga, Brak filtrowania. Domyślnie
wybrany jest filtr Ram-Lak.
Metoda interpolacji – wybór metody interpolacji zastosowanej podczas
wykonywanych obliczeń. Do wyboru: Liniowa, Najbliższy sąsiad.
4. Przycisk służący do uruchomienia rekonstrukcji. Po jego naciśnięciu dokonany
zostanie proces symulacji tomografii – utworzony zostanie sinogram (p. 5).
Następnie sinogram poddany zostanie procesowi rekonstrukcji. Efektem
końcowym jest wyświetlenie obrazu końcowego (p. 6).
5. Sinogram – prezentacja projekcji uzyskanych w procesie symulacji tomografii.
6. Zrekonstruowany obraz. Pod obrazem wyświetlana jest także wartość
współczynnika PSNR.
7. Możliwe jest zapisanie uzyskanego w procesie rekonstrukcji obrazu. W tym celu
należy kliknąć Zapisz jako pod zrekonstruowanym tomogramem. Obsługiwane
typy plików: jpg, tif, png, gif, bmp.
8. Interfejs użytkownika dopuszcza także rekonstrukcję na podstawie innego źródła
danych. Możliwe jest wczytanie gotowego sinogramu (powstałego
w zewnętrznym procesie symulacji prześwietleń lub w rzeczywistym
tomografie) i rekonstrukcja obrazu z jego wykorzystaniem. W tym celu należy
kliknąć przycisk Wczytaj sinogram i wybrać plik do importu. Obsługiwane
są pliki w formacie macierzy zapisanej z użyciem znaków ascii. Na tak
wczytanym sinogramie można przeprowadzić proces rekonstrukcji (przycisk
Rekonstrukcja).
Możliwe jest także wyeksportowanie sinogramu do pliku. W tym celu należy
kliknąć przycisk Zapisz sinogram i wybrać plik docelowy.
9. Narzędzia umożliwiające powiększanie, pomniejszanie i przesuwanie
wyświetlanych obrazów.
28
V. Rekonstrukcja obrazu z syntetycznych danych
Działanie napisanego programu zostanie zaprezentowane z wykorzystaniem
syntetycznie stworzonych danych. W celu weryfikacji poprawności działania programu,
odtworzone obrazy zostaną porównane z ich oryginałami oraz zostanie policzony
współczynnik PSNR2.
1. Generacja danych pomiarowych
W celu generacji danych pomiarowych, które pełniłyby funkcję danych z tomografu
komputerowego, wykorzystana została funkcja radon z pakietu MATLAB. Pozwala ona
z zadaną dokładności na wykonanie wirtualnego prześwietlenia i jako wynik podaje
współczynniki osłabienia dla danego kąta padania wiązki. Jako wejście funkcja przyjmuje
obrazy w skali szarości. Na wyjściu zwraca transformatę Radona (sinogram), którą można
wykorzystać w procesie rekonstrukcji.
Jako źródło wykorzystane zostały 3 obrazy, które następnie poddano transformacji
Radona z wykorzystaniem funkcji radon. Pierwsze źródło to wbudowana funkcja phantom.
Przy jej pomocy można wygenerować obraz fantomu Shepp’a-Logan’a o zadanym rozmiarze.
Drugie to, już zrekonstruowany, obraz z tomografu komputerowego przedstawiający jamę
brzuszną [8]. Trzeci , również zrekonstruowany, tomogram głowy [9]. Wszystkie obrazy
zostały wygenerowane w rozmiarze 256x256 i podwójną precyzją wartości. W Tab. 2
zaprezentowane zostały wykorzystane obrazy. Poniżej każdego obrazu pokazany został jego
sinogram (transformata Radona) wykonany co 1°.
Tab. 2 Wykorzystane obrazy i ich sinogramy
1 2 3
[8]
[9]
2 Peak Signal-to-Noise Ratio – szczytowy stosunek sygnału do szumu.
29
1 2 3
2. Odtworzenie obrazu z wygenerowanych danych
Przy pomocy funkcji irad można otrzymać zrekonstruowany obraz. Przykładowe
odtworzone obrazy wraz z parametrami rekonstrukcji zostały zaprezentowane w Tab. 3.
Tab. 3 Zrekonstruowane obrazy i ich parametry
Zrekonstruowany obraz Ilość
projekcji
Wykorzystany
filtr Interpolacja
23 ‘ram-lak’ linear
(degrees)
t
0 50 100 150
-150
-100
-50
0
50
100
150
(degrees)
t
0 50 100 150
-150
-100
-50
0
50
100
150
(degrees)
t
0 50 100 150
-150
-100
-50
0
50
100
150
30
Zrekonstruowany obraz Ilość
projekcji
Wykorzystany
filtr Interpolacja
90 ‘ram-lak’ ‘linear’
90 ‘cosine’ ‘linear’
90 ‘none’ ‘linear’
31
Zrekonstruowany obraz Ilość
projekcji
Wykorzystany
filtr Interpolacja
180 ‘hamming’ ‘nearest’
Na podstawie zaprezentowanych obrazów można stwierdzić, że wykonany program
działa poprawnie i daje oczekiwane rezultaty. Podczas procesu rekonstrukcji zauważa się,
że czas jego wykonywania jest długi. Dzieje się tak, ponieważ algorytm wykorzystany przy
wstecznej projekcji jest opisany 3 pętlami iteracyjnymi, co wpływa na dużą liczbę
wykonywanych obliczeń.
Parametry wykonywanych rekonstrukcji mają duży wpływ na jakość obrazu.
W podrozdziale Wpływ zmiennych na jakość rekonstrukcji przeprowadzona zostanie
jakościowa analiza wpływu tych parametrów.
3. Wpływ zmiennych na jakość rekonstrukcji
Rozdział ten ma na celu zbadanie wpływu parametrów rekonstrukcji na jakość
uzyskanego obrazu. Przeprowadzona w nim została również analiza otrzymanych wyników.
Liczba projekcji
Wszystkie projekcje w tym podrozdziale zostały wykonane z liniową interpolacją oraz
filtrem ram-lak. Zmiennym parametrem była liczba wykonanych projekcji. W Tab. 4
umieszczono zestawienie zrekonstruowanych obrazów (dla tomogramu głowy, obraz 3)
w zależności od ilości wykonanych projekcji. Obok każdego z nich umieszczono różnicę
pomiędzy obrazem oryginalnym, a zrekonstruowanym oraz wartość współczynnika PSNR.
Tab. 4 Graficzne zestawienie wpływu liczby projekcji na jakość rekonstruowanego obrazu
Liczba
projekcji Zrekonstruowany obraz
Błąd pomiędzy oryginalnym
obrazem a zrekonstruowanym
PSNR
[dB]
32
Liczba
projekcji Zrekonstruowany obraz
Błąd pomiędzy oryginalnym
obrazem a zrekonstruowanym
PSNR
[dB]
10
6,09
20
10,20
45
15,83
33
Liczba
projekcji Zrekonstruowany obraz
Błąd pomiędzy oryginalnym
obrazem a zrekonstruowanym
PSNR
[dB]
90
21,78
180
25,72
360
26,28
Na zaprezentowanych w Tab. 4 obrazach wyraźnie widać, że przy zbyt małej liczbie
projekcji jakość obrazu jest bardzo niska. Wraz z wzrostem tej liczby jakość ulega szybkiej
poprawie. Pomiędzy liczbą projekcji 180, a 360 nie widać różnicy. Dla dużej liczby projekcji
obrazy prezentujące błąd pomiędzy oryginałem a rekonstrukcją wyraźnie zaznaczają miejsca
o dużym kontraście. Dzieje się tak ponieważ są to miejsca gdzie występują duże
częstotliwości, a te zostały odcięte przy pomocy filtrów.
34
Ze względu na czytelność w Tab. 4 zostały zaprezentowane jedynie przykładowe
obrazy, które mają pokazać wpływ analizowanego parametru. Wyniki pozostałych
rekonstrukcji zestawione zostały w tabeli Tab. 5 i wykresie Rys. 12.
Tab. 5 Wpływ liczby projekcji na jakość rekonstruowanego obrazu
Liczba
projekcji
Wartość PSNR
dla obrazu 1 [dB]
Wartość PSNR
dla obrazu 2 [dB]
Wartość PSNR
dla obrazu 3 [dB]
10 10,00 10,68 6,09
20 14,36 14,66 10,20
30 17,30 17,71 12,77
45 20,61 20,95 15,83
60 22,91 23,49 18,09
75 24,77 25,70 20,12
90 25,87 27,43 21,78
110 26,16 28,83 22,98
135 26,85 30,32 24,49
180 27,34 31,58 25,72
225 27,48 31,84 26,08
270 27,57 31,91 26,22
315 27,57 31,89 26,21
360 27,62 31,98 26,28
Czytelniejszą formą prezentacji tych danych będzie wykres przedstawiony na Rys. 12
35
Rys. 12 Wykres wpływu liczby projekcji na jakość rekonstruowanego obrazu
Z wykresu (Rys.12) można odczytać dwie ważne informacje. Dla każdego obrazu
występuje nasycanie się funkcji, powyżej ok. 180 projekcji poprawa jakości jest nieznaczna.
Ze względu na tą właściwość dla pozostałych parametrów wykonane przyjęta zostanie liczba
projekcji wynosząca 180. Drugą obserwacją jest to, że dla takich samych parametrów, każdy
z obrazów charakteryzuje się innym PSNR.
Zastosowana interpolacja
Tab. 6 Graficzne zestawienie wpływu interpolacji na jakość rekonstrukcji
Interpol
acja Zrekonstruowany obraz
Różnica pomiędzy oryginałem
a rekonstrukcją
PSNR
[dB]
Liniowa
31,58
36
Najbliższy
sąsiad
30,31
Tab. 7 Zestawienie wpływu interpolacji na jakość rekonstruowanego obrazu
Metoda interpolacji Obraz 1
PSNR [dB] Obraz 2
PSNR [dB] Obraz 3
PSNR [dB] Średnia
PSNR [dB]
Liniowa 27,34 31,58 26,34 28,42
Najbliższy sąsiad 26,84 30,31 25,12 27,42
Z Tab. 7 wyraźnie wynika, że zastosowanie interpolacji liniowej daje lepsze rezultaty
dla każdego z wykorzystanych obrazów. Zastosowanie tej metody interpolacji wiąże się także
z większą liczbą wykonywanych obliczeń, co wydłuża czas rekonstrukcji.
Filtr i szum
Podczas tej analizy zmiennymi parametrami będą wykorzystany filtr oraz ilość szumu
w projekcjach. Jako stałe przyjęte zostały metoda interpolacji (liniowa) i liczba projekcji
(180). Dodanie szumu ma na celu odtworzenie rzeczywistych warunków prześwietlenia.
Został on dodany z wykorzystaniem funkcji awgn dla każdego przekroju z osobna.
Tab. 8 Graficzne zestawienie wpływu wyboru filtru na jakość rekonstruowanego obrazu
Zastoso-
wany filtr
i szum
Zrekonstruowany obraz Różnica pomiędzy oryginałem,
a rekonstrukcją
PSNR
[dB]
Ram-Lak,
SNR=10d
B
26,87
37
Zastoso-
wany filtr
i szum
Zrekonstruowany obraz Różnica pomiędzy oryginałem,
a rekonstrukcją
PSNR
[dB]
Shepp-
Logan,
SNR=0dB
26,47
Niskopas
mowy
cosinusow
y, SRN=-
10dB
20,22
Hamming,
SNR=-
20dB
14,13
38
Zastoso-
wany filtr
i szum
Zrekonstruowany obraz Różnica pomiędzy oryginałem,
a rekonstrukcją
PSNR
[dB]
Brak
filtrowani
a, brak
szumu
12,81
Tab. 9 Wpływ wyboru filtru na jakość rekonstruowanego obrazu
SNR [dB] ram-lak
PSNR [db] shepp-logan
PSNR [db] cosine
PSNR [db] hamming PSNR [db]
brak PSNR [db]
brak szumu 28,21 27,51 26,12 25,15 9,84
20 28,34 27,66 26,29 25,31 9,85
15 28,19 27,58 26,26 25,30 9,86
10 27,75 27,31 26,19 25,26 9,85
5 26,60 26,59 25,94 25,13 9,85
0 24,28 24,95 25,26 24,77 9,86
-5 20,73 22,00 23,68 23,82 9,86
-10 16,37 17,98 20,85 21,74 9,90
-15 11,58 13,32 16,84 18,43 9,89
-20 6,65 8,47 12,21 14,13 9,99
W tabeli Tab. 9 zestawione zostały wartości współczynników PSNR w zależności
od szumu i zastosowanego filtru. Prezentowane wartości to średnia wartość PSNR wszystkich
3 analizowanych obrazów dla danego filtru i wartości szumu. Na wykresie Rys. 13 dane
zostały zaprezentowane w ten sam sposób.
39
Rys. 13 Wykres zestawiający wpływ zastosowanego filtru oraz szumu na jakość rekonstrukcji
Zauważyć można, że zastosowanie jakiejkolwiek filtracji daje duży zysk jakości
tomogramu. Obraz nie poddany filtracji jest rozmyty i nie nadaje się do wykorzystania.
Ze względu na już złą jakość obrazu dodatkowy szum w projekcjach nic nie zmienił.
Przy małych wartościach szumu (SNR większe od 10dB) nie obserwuje się szumu
na jakość zrekonstruowanych obrazów. Dla takich wartości szumu można zauważyć,
że najlepsze wyniki daje filtr Ram-Lak, po nim Sheppa-Logana, następnie niskopasmowy
cosinusowy, a najgorsze filtr Hamminga. Natomiast dla dużej zawartości szumu w sygnale
kolejność jest odwrotna i najlepszy okazuje się filtr Hamminga, a Ram-Lak najgorszy. Dzieje
się tak, ponieważ filtr Hamminga jest bardziej zaporowy dla wyższych częstotliwości niż
Ram-Lak.
Wnioski
Dobór parametrów rekonstrukcji jest bardzo istotnym zagadnieniem w procesie
tomografii. Dobór ten jest kompromisem pomiędzy jakością a szybkością realizacji tego
zadania. W tej kwestii szczególne znaczenie ma liczba wykonanych prześwietleń. Jeśli będzie
ona za mała, jakość obrazu będzie niezadowalająca, za duża zaś znacznie wydłuży proces
akwizycji danych oraz rekonstrukcji. Metoda interpolacji ma także znaczny wpływ na jakość
obrazu. Dobór filtru zależy od parametrów wykonywanych pomiarów pochłaniania
promieniowania i decyduje o zawartości szumów w sygnale.
0,00
5,00
10,00
15,00
20,00
25,00
30,00
brakszumu
20 15 10 5 0 -5 -10 -15 -20
PSN
R [
dB
]
Szum (SNR) [dB]
Jakośd zrekonstruowanego obrazu w zależności od szumu i zastosowanego filtru
ram-lak
shepp-logan
cosine
hamming
brak
40
VI. Podsumowanie
Celem tego projektu było stworzenie programu do rekonstrukcji obrazów z tomografu
komputerowego. W literaturze [1], [2], [3], [4] można spotkać się z wieloma możliwościami
rozwiązani postawionego problemu. Każda z nich ma oczywiście swoje wady i zalety.
Na podstawie tez przedstawionych w [4] do realizacji projektu wybrana została metoda
filtrowanej projekcji wstecznej. Metoda ta pozwala na dyskretną realizację odwrotnej
transformacji Radona oraz daje zadowalające wyniki rekonstrukcji.
W początkowych etapach prac nad projektem pojawiło się wiele trudności związanych
ze skomplikowanym procesem leżącym u podstaw rekonstrukcji obrazu. Po rozwiązaniu
problemów pojawiających się podczas realizacji projektu, stworzony został program
działający w pełni poprawnie. Kolejnym etapem wykonania projektu było stworzenie
graficznego interfejsu umożliwiającego proste korzystanie ze stworzonego algorytmu
rekonstruującego. Dodatkową cechą nakładki graficznej jest opcja symulacji procesu
tomografii. Daje ona możliwość wprowadzenia dowolnego obrazu i wykonania na nim
procesu prześwietlania i rekonstrukcji obrazu. Poza tym możliwe jest oczywiście
bezpośrednie wprowadzenie danych z prześwietleń.
Jakość uzyskiwanych tomogramów również była zadowalająca. Dowodem mogą być
obrazy prezentowane w rozdziale Rekonstrukcja obrazu z syntetycznych danych. W tym
samym rozdziale przeprowadzona została także analiza jakości otrzymywanych obrazów
w zależności od parametrów rekonstrukcji. Do najważniejszych obserwacji należy zaliczyć
fakt, iż powyżej pewnej liczby prześwietleń (ok. 180) jakość ulega tylko nieznacznej
poprawie oraz fakt, że wybór filtru ma bardzo duże znaczenie na zawartość szumów
w sygnale.
Projekt ten mimo, iż jest kompletny i funkcjonalny, ma jeszcze wiele możliwych dróg
dalszego rozwoju. Niewątpliwie konieczne jest dopracowanie algorytmu wykonującego
wsteczną projekcję. W obecnej formie wykonuje się on powoli i przy większych obrazach
wejściowych czas potrzebny na dokonanie rekonstrukcji jest zbyt długi. Kolejnym krokiem
w rozwoju byłoby wprowadzenie rzeczywistych danych z tomografu komputerowego i próba
rekonstrukcji obrazu. W tym celu konieczne byłoby także dodanie możliwości rekonstrukcji
obrazu z wiązki wachlarzowej, ponieważ we współczesnych tomografach dane są zbierane
właśnie w ten sposób.
41
VII. Bibliografia
[1] Cierniak R., Tomografia komputerowa : budowa urządzeń CT : algorytmy
rekonstrukcyjne. Warszawa: EXIT; 2005, s. 13-199.
[2] Tomografia Komputerowa,
http://pl.wikipedia.org/w/index.php?title=Tomografia_komputerowa (odwiedzona
17.12.2010).
[3] Kak A. C. and Slaney M., Algorithms for Reconstruction with Nondiffracting Sources,
http://rvl4.ecn.purdue.edu/~malcolm/pct/CTI_Ch03.pdf (odwiedzona 17.12.2010)
[4] Rumiński J., Rentgenowska tomografia komputerowa. W:, Chmielewski L.,
Kulikowski J.L., Nowakowski A., (ed.) Obrazowanie biomedyczne. Warszawa: EXIT;
2003.
[5] Radon transform, http://en.wikipedia.org/w/index.php?title=Radon_transform
(odwiedzona 17.12.2010).
[6] Projection-slice theorem, http://en.wikipedia.org/w/index.php?title=Projection-
slice_theorem (odwiedzona 17.12.2010).
[7] Algorytmy rekonstrukcji,
http://www.ire.pw.edu.pl/biomedyczni/index.php?option=com_remository&Itemid=3
4&func=startdown&id=80, (odwiedzona 17.12.2010).
[8] Tomogram jamy brzusznej, własność H. Kusarek-Mitka.
[9] Tomogram głowy, własność A. Mitka.
[10] Linear interpolation, http://en.wikipedia.org/wiki/Linear_interpolation, (odwiedzona
7.1.2011).
42
VIII. Załączniki
1. irad.m
function obraz= irad(p,theta,filtr,interpol) %funkcja realizujaca wsteczna projekcje - odwrotną transformację Radona %p - projekcje %theta - wartości kątów dla których zostały wykonane projekcje %filter - filtr 'ram-lak', 'shepp-logan', 'cosine', 'hamming %interpol - metoda interpolacji 'nearest', 'linear'
%filtracja projekcja = filtrowanie(p,filtr);
N = 4*floor(size(p,1)/(4*sqrt(2)) ); %Rozmiar wyjściowy obraz=zeros(N); %alokacja pamięci srodek_o = floor((N + 1)/2); %wyznaczenie środka obrazu m = (1:N) - srodek_o; %wektory współrzędnych obrazu n = (-1:-1:-N) + srodek_o; if theta==0 theta=0:180/size(p,2):179.99; end theta=pi*theta/180; %przeliczenie theta na radiany costheta = cos(theta); %wektory, aby uprościć obliczenia sintheta = sin(theta); srodek_t=ceil(size(p,1)/2); %środek projekcji
%Projekcja wsteczna if strcmp(interpol, 'nearest') %interpolacja najbliższy sąsiad for mi=1:length(m) %petla dla m for ni=1:length(n) %petla dla n for i=1:length(theta) %petla dla theta t = round(m(mi)*costheta(i) + n(ni)*sintheta(i));
%wyliczamy t obraz(ni,mi)=obraz(ni,mi)+projekcja(t+srodek_t,i);
%wybieramy wartosc projekcji dla obliczonego t end end end elseif strcmp(interpol, 'linear') %interpolacja liniowa for mi=1:length(m) for ni=1:length(n) for i=1:length(theta) t = m(mi)*costheta(i) + n(ni)*sintheta(i); t_dol=floor(t); obraz(ni,mi)=obraz(ni,mi)+(t_dol+1-
t)*projekcja(t_dol+srodek_t,i) + (t-t_dol)*projekcja(t_dol+1+srodek_t,i); end end end else error('Nie ma takiej interpolacji'); end obraz = obraz*pi/(2*length(theta)); %skalowanie wartości
function [p]=filtrowanie(p_we,filtr) p=p_we; %dobór rzędu filtru w zaleśności od wielkości obrazu rzad =2^nextpow2(2*size(p,1)); if strcmpi(filtr, 'none')
43
return; %bez filtrowania end
%tworzymy filtr ram-lak H = 2*( 0:(rzad/2) )./rzad; %tylko połowa filtru w = 2*pi*(0:size(H,2)-1)/rzad; % oś częstotliwości do Nyquist
switch filtr case 'ram-lak' %juz jest case 'shepp-logan' H(2:end) = H(2:end) .* (sin(w(2:end)/2)./(w(2:end)/2)); case 'cosine' H(2:end) = H(2:end) .* cos(w(2:end)/2); case 'hamming' H(2:end) = H(2:end) .* (.54 + .46 * cos(w(2:end))); %n=0.54 otherwise eid = sprintf('Images:%s:invalidFilter',mfilename); msg = 'Niepoprawna nazwa filtru'; error(eid,'%s',msg); end
H(w>pi) = 0; %powyżej częstotliwości granicznej zerujemy wartości H = [H' ; H(end-1:-1:2)']; % Dodajemy drugą połowę filtru, symetryczną
p = fft(p,length(H)); %fft projekcji, rozszerzone aby dopasować do H
for i = 1:size(p,2) p(:,i) = p(:,i).*H; % filtrowanie w dziedzinie częstotliwości end
p = real(ifft(p)); %ifft przefiltrowanych projekcji p(size(p_we,1)+1:end,:) = []; %przycinanie zbędnych 0 w projekcji