Warning
This page is located in archive.

Cvičení 9 : Rekonstrukce MRI obrazu

Úkolem cvičení je vytvořit obraz v k-prostoru a poté rekonstruovat \rho-, T_1- a T_2-vážený obraz z NMR (MRI) pomocí Fourierovské rekonstrukce.

Pro rekonstrukci budeme používat virtuální fantom – tři matice (pd, t1, t2 opovídající \rho, T_1, T_2). Fantom si vygenerujte pomocí skriptu get_nmr_phantom.

Šablona pro cvičení, včetně vygenerování fantomu je k dispozici ve skriptu mri_reconstruction.

Zadání

  1. Implementujte funkci [k_space,t]=encodingMRI(pho,T_1,T_2,T_r,T_e) kodující obrázek NMR, jejímž vstupem bude virtuální fantom (matice \rho, T_1 a T_2) a výstupem matice K (k-prostor), kde řadky budou odpovídat jednotlivým excitacím (viz. Implementace). [2b]
  2. Aplikujte vytvořenou funkci na virtuální fantom, nastavte T_r=5s, T_e=1ms. Zobrazte absolutní hodnotu obrazu v k-prostoru, hodnoty jednotlivých prvků matice K mapujte na jasy logaritmicky. [1b]
  3. Proveďte výpočet obrazu v k-prostoru a zpětnou rekonstrukci obrazu pomocí inverzní FFT (ifft2) pro 3 následující kombinace parametrů v tabulce. [2b]
    • Která z kombinací odpovídá T_1, T_2 a která \rho váženému obrazu a proč?
    • Uveďte rovnici a vysvětlete jednotlivé případy.
    • Zobrazte všechny tři rekonstruované obrazy, vyřízněte jen tu část, která odpovídá vstupu. Porovnejte s maticemi parametrů T_1, T_2, \rho.
1 2 3
T_r 5s 5ms 5s
T_e 1ms 1ms 1s

Rekonstrukce obrazu

MRI nám dává možnost pomocí nastavení parametrů T_r a T_e vytvářet obrazy vážené podle \rho (hustoty protonů, proton density), nebo podle relaxačních časů T_1 a T_2. Jak se dnes přesvědčíte, nepodaří se nám nikdy získat obraz reprezentující čistě \rho, T_1, nebo T_2. V obraze bude vždy přitomná i jistá složka ostatních parametrů. Vhodnou volbou parametrů T_e a T_r však můžeme vliv těchto nežádoucích složek potlačit.

Nastudujte si přednášky o MRI.

Implementace

Implementujte funkci rekonstruující obrázek NMR, jejímž vstupem bude virtuální fantom (matice \rho, T_1 a T_2) a výstupem bude matice K (k-prostor), kde řádky budou odpovídat jednotlivým excitacím.

  1. Pro každý pixel obrázku vypočtěte amplitudu výstupního signálu podle zjednodušeného vzorce: U=\rho(1-e^{-\frac{T_r}{T_1}})e^{-\frac{T_e}{T_2}}
  2. Zvolte počet excitací (opakování) pro fázové kódování. Počet opakování M je roven počtu řádků vstupního obrazu.
  3. Vytvořte vektor fází \varphi\in\langle0,2\pi), \varphi_n=(n-1)\frac{2\pi}{M},~n=1\ldots M. Každá řádka obrazu je kódována jednou fází \varphi_n, každý element vektoru \boldsymbol{\varphi} bude odpovídat jedné excitaci.
  4. Vytvořte vektor frekvencí \boldsymbol{\omega} pro frekvenční kódování sloupců \omega_m=100m\textrm{ [Hz]},~m=1\ldots S, kde S odpovídá počtu sloupců vstupního obrazu.
  5. Zvolte počet časových vzorků na řádku, N=aS,\textrm{ kde }a\ge2,~a\in \mathbb{N}.
  6. Vypočítejte vzorkovací frekvenci \Omega=a\max{(\boldsymbol{\omega)}}.
  7. Vypočítejte interval vzorkování T=\frac{2\pi}{\Omega}.
  8. Vygenerujte vektor vzorkovacích časů t_s=(s-1)T,~s=1\ldots N.
  9. Spočítejte reálnou část obrazu v k-prostoru. Obraz v k-prostoru je matice o velikosti M\times N s elementy:  \mathbf{K}(r,s)=\sum_{i,j=1}^{i=M,j=S}U_{i,j}cos(\omega_j\mathbf{t}(s)+(r-1)\varphi_i)\label{suma}, kde i je index fázového kódování, j index frekvenčního kódování, r pořadové číslo opakování a \mathbf{t} vektor vzorkovacích časů.
  10. Pomocí Hilbertovy transformace dopočítejte imaginární složku obrazu v k-prostoru. Víme že výsledkem má být reálný obraz, hledáme tedy imaginární část k-prostoru tak, aby zpětná fourierova transformace celého k-prostoru byla reálná. K tomu poslouží Hilbertova transformace, v Matlabu hilbert(x). Pozor, Matlabská funkce funguje po sloupcích, my potřebujeme Hilbertovu transformaci po řádcích ($\textrm{k_space} = hilbert(\mathbf{K}^\intercal)^\intercal$).

Absolutní hodnota k-prostoru pro T_r = 5s, T_e = 1ms. Jasy mapovány logaritmicky, a = 4

Absolutní hodnota k-prostoru pro T_r = 5s, T_e = 1ms. Jasy mapovány logaritmicky, a = 4.

courses/a6m33zsl/lab09_mrirecon.txt · Last modified: 2018/04/22 18:41 by herinjan