Biomedicinske slikovne tehnologije

Comments

Transcription

Biomedicinske slikovne tehnologije
Vaje pri predmetu
Biomedicinske slikovne tehnologije
Pripravil doc. dr. Miran Bürmen
10
Vaja 9: Projekcije 2D slik
Pri izvedbi projekcije 2D slik vzdolž poljubnih projekcijskih daljic izberemo korak vzorčenja ∆p
običajno tako, da ustreza najmanjši razsežnosti slikovnega elementa ∆p ≈ min(∆x, ∆y). Na
podoben način izberemo tudi korak v domeni prerezne daljice ∆q ≈ min(∆x, ∆y). Pri vzorčenju
vrednosti vzdolž projekcijskih daljic s periodo ∆p največkrat ne naletimo točno na vzorčne
vrednosti digitalne slike, razen, ko izvajamo vzporedne projekcije vzdolž osnovnih koordinatnih
osi slike. Zato je v splošnem potrebno sivinsko vrednost v vzorčni točki izračunati s pomočjo
interpolacije. V okviru vaje se bomo omejili na linearno interpolacijo, ki jo lahko izvedemo s
funkcijo interp2 modula (interp). V splošnem poznamo številne projekcije, med njimi si bomo
podrobneje ogledali dve projekciji vzdolž premic, in sicer pravokotno in stožčasto projekcijo.
Stožčasta projekcija nam dobro opiše dogajanje tekom zajema sodobnih CT in Rentegenski slik,
v posebnem primeru, ki ga obravnavamo tekom te vaje, pa predstavlja projekcijo prečne rezine,
ki mu pravimo tudi sinogram. Pri tem projekcijski prerez predstavlja odziv linijskega tipalo,
projekcijske premice pa pot žarkov od izvora do posameznega slikovnega elementa linijskega
tipala. Za rotacijo točk okrog koordinatnega izhodišča uporabite rotacijsko matriko Tr , ki smo
jo že uporabili tekom prejšnjih vaj:
"
#
cos ϕ − sin ϕ
Tr =
sin ϕ cos ϕ
.
Δx
(10.1)
Δx
Δy
Δy
Δp
Δp
(a) Pravokotna projekcija
(b) Stožčasta projekcija
Slika 10.1: Ilustracija pravokotne in stožčaste projekcije 2D slika na linijsko tipalo.
10.1
Naloge in vprašanja
1. Ustvarite funkcijo imParallelBeamProject2d, ki vam izračuna 1D projekcije (odziv linijskega senzorja), na katerega žarki padajo pravokotno, in sicer za kote rotacije iFi med
Stran 109
(a) Testna slika
(b) PP sinogram
(c) SP sinogram
(d) Rezina CT slike
(e) PP sinogram
(f) FP sinogram
Slika 10.2: Testna slika vaja9_testna.png (200 × 200 slikovnih elementov velikosti 1 × 1 mm) ter
prečna rezina CT slike trupa vaja9_ct.png (287 × 165 slikovnih elementov velikosti 2 × 2 mm)
s pripadajočimi sinogrami, ki jih dobimo s pravokotno projekcijo (PP) in stožčasto projekcijo
(SP).
senzorskim poljem in y osjo. Predpostavite, da se vhodna slika iImg nahaja na mreži točk,
ki jo napenjata vektorja iGridX in iGridY. Izvor vzporednih žarkov in tipalo naj bosta na
razdalji iDiameter, število slikovnih elementov linijskega tipala naj bo iDetectorN, velikost
posameznega kvadratnega slikovnega elementa tipala pa iDetectorPixelSize. Izračunane
projekcije naj bodo shranjene v vrsticah matrike Op. Korak vzorčenja v smeri projekcijskih daljic naj bo iSampleGrid. Parameter iType=’max’,’sum’ naj določa tip projekcije,
in sicer maksimalne vrednosti ’max’ ali integral (vsota) ’sum’. Podrobnejše informacije o
geometriji najdete na sliki 10.3.
1
2
3
4
def im P ar a ll el B ea m Pr oj e ct 2 d ( iFi , iSampleGrid , iImg , iGridX ,
iGridY ,
iDiameter , iDetectorN , iDetectorPixelSize , iType = ’ sum ’) :
...
return oP
(a) Naložite testno sliko vaja9_test.png, ter izračunajte 2D projekcije srednje vrednosti
za kote med senzorjem in y osjo iz intervala [0, 359]◦ s korakom 1◦ ter izrišite projekcije oP kot sivinsko sliko. Vrednosti parametrov funkcije imParallelBeamProject2d
naj bodo sledeče: iDiameter=800 mm, iDetectorNy=512, iDetectorPixelSize=1 mm,
iGrid=2 mm, sliko pa postavite v koordinatno izhodišče. Velikost slikovnih elementov
testen slike znaša 1 × 1 mm.
(b) Na enak način izračunajte še projekcije slike prečne CT rezine trupa vaja9_ct.png ter
izračunane projekcije prikažite kot sliko. Velikost slikovnih elementov prečne rezine
Stran 110
iDiameter/2
Tipalo
iDetectorN
iFi
iSampleGrid
x
y
iDetectorPixelSize
Slika 10.3: Pravokotna projekcija 2D rezine CT slike na linijsko tipalo.
CT slike znaša 2 × 2 mm.
2. Ustvarite še funkcijo imFanBeamProject2d, ki vam izračuna 1D projekcije (odziv linijskega
senzorja), na katerega žarki padajo iz točkastega vira. Pomen parametrov funkcije je enak
kot pod prejšnjo točko, le da sedaj računate stožčasto projekcijo. Podrobnejše informacije
o geometriji najdete na sliki 10.4.
1
2
3
4
def imFanBeamProject2d ( iFi , iSampleGrid , iImg , iGridX , iGridY ,
iDiameter , iDetectorNy , iDetectorPixelSize , iType = ’ sum ’) :
...
return oP
(a) Naložite testno sliko vaja9_test.png, ter izračunajte 2D projekcije srednje vrednosti
za kote med senzorjem in y osjo iz intervala [0, 359]◦ s korakom 1◦ ter izrišite projekcije oP kot sivinsko sliko. Vrednosti parametrov naj bodo sledeče: iDiameter=800 mm,
iDetectorNy=512, iDetectorPixelSize=1 mm, iGrid=2 mm, sliko pa postavite v koordinatno izhodišče. Velikost slikovnega elementa testen slike je je 1 × 1 mm.
(b) Preizkusite kako vrednost parametra iGrid vpliva na sinogram in kako na čas, ki ga
za računanje porabi funkcija imFanBeamProject2d.
(c) Izračunajte še projekcije prečne CT rezine trupa vaja9_ct.png ter izračunane projekcije prikažite kot sliko. Velikost slikovnih elementov prečne rezine CT slike znaša
2 × 2 mm. Izračunane projekcije predstavljajo surove podatke, ki jih zajeme sodobna
CT naprava, in so osnova za rekonstrukcijo ene prečne rezine 3D CT slike.
Stran 111
iDiameter/2
Tipalo
iDetectorN
iFi
iGr
id
x
y
iDetectorPixelSize
Slika 10.4: Stožčasta projekcija 2D rezine CT slike na linijsko tipalo.
(d) Kodo prilagodite, tako da bodo izračuni projekcij hitri (nekaj deset ms za posamezno projekcijo), saj boste izračunane projekcije (sinograme) tekom prihodnjih vaj
uporabili za rekonstrukcijo rezine 3D CT slike.
Stran 112