Iterativní algebraická rekonstrukce

Podívejte se znovu na rovnice popisující Radonovou transformaci (1) a zpětnou projekci (2). Projděte si téz slidy z přednásky a prostudujte si Iterativní rekonstrukci (slide 77+).

Stáhněte si matici radon.mat, obsahující Radonovu transformaci Shepp-Loganova fantomu (viz. obrázek napravo). Takto vypadají raw-data z X-Ray CT a Vasím úkolem bude zrekonstruovat z těchto dat původní obrázek. Na obrázek z radon.mat obsahující obrazovou funkci J(p,θ) se budeme odkazovat pod názvem imgCT.


 
              Shepp-Loganův fantom                                                      Raw-data z X-Ray CT                    


Iterativní rekonstrukce

Principem iterativní rekonstrukce je aplikování korekcí na libovolné počáteční hodnoty pixelů v rekonstruovaném obrázku tak, aby po provedení Radonové transformace na rekonstruovaný obrázek bylo dosazeno shody se vstupními daty.

Zvolíme počáteční odhad rekonstruovaného obrázku f0(x,y) = 0  o velikosti NxN pixelů.

Pro kazdé θ postupně provedeme aktualizaci rekonstruovaných hodnot:

Krok 1 - Radonova transformace

Stáhněte si obrázek fantomu. Proveďte na něm Radonovou transformaci. Pro kontrolu porovnejte výstup s radon.mat.

Radonova transformace:

Uploadujte soubor radon.m, do zpravy nevkladejte zdrojovy text!


Krok 2 - Váhová funkce w

Při zpětném promítnutí chyby během iterativní rekonstrukce se celková chyba pro jeden paprsek distribuuje do vsech pixelů lezících na tomto paprsku. Proto je třeba před odečtením chyby od vsech pixelů chybu vydělit počtem pixelů, které na paprsku lezí. Tento počet jednoduse zjistíme následujícím postupem:

Do zpravy vlozte matici w vykreslenou jako obrazek!



Krok 3 - Iterativní úprava rekonstruovaných hodnot

Oprava hodnot bude probíhat v několika iteracích.

Můzete pouzít funkci sub2indX(siz,Y,X), která převede vektory souřadnic Y,X odpovídající y-ové a x-ové souřadnici v matici velikosti Ny,Nx (siz = [Ny,Nx]) na tzv. lineární index - pomocí kterého můzete přímo indexovat matici. Funkce sub2indX vyuzívá fci sub2ind s tím, ze z vektorů souřadnic automaticky odstraní souřadnice odkazující se na hodnoty mimo rozměr matice.

Uploadujte soubor iterativniRekonstrukce.m, do zpravy nevkladejte zdrojovy text!



Úkol

Zrekonstrujte obrázek fantomu (pouzijte bikubickou interpolaci pro Radonovu transformaci). Porovnejte výsledek s výsledkem z filtrované zpětné projekce (z minulého cvičení) - spočíteje chybu oproti originálnímu obrázku fantomu. Proveďte rekonstrukci pro zasuměné vstupní obrázky a opět porovnejte s výsledky z filtrované zpětné projekce.

Do zpravy vlozte rekonstruovany obrazek po 1, 10 a 100 iteracich.

Zaznamenajte chybu rekonstrukce ciselne od poctu iteraci. Pouzijte SSD kriterium (suma kvadratickych odchylek od originalniho obrazku).

Porovnejte vysledek zpetne rekonstrukce a algebraicke rekonstrukce (subjektivne, casove naroky, a pomoci SSD).