Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Pozitron-Emission Tomography Reconstruction (A computer graphics view) Szirmay-Kalos László.

Hasonló előadás


Az előadások a következő témára: "Pozitron-Emission Tomography Reconstruction (A computer graphics view) Szirmay-Kalos László."— Előadás másolata:

1 Pozitron-Emission Tomography Reconstruction (A computer graphics view) Szirmay-Kalos László

2 Scalar fields 3D tér pontjaiban egy skalár érték Skalár: hőmérséklet, sűrűség nyomás, potenciál, … Származás: Euler-i szimuláció, Rekonstrukció (tomográfia) tárolás: 3D textúra vagy „voxel tömb” x y z v(x,y,z)

3 Visualization of scalar fields Megjelenítés fényszóró anyag (participating media) analógiáját felhasználva (belsejébe belelátunk) Adott szintfelület kiemelése (külsőt lehámozzuk) Transzfer függvény Sűrűség + deriváltak v grad v Optikai paraméterek Kép szintézis Kép

4 Fényszóró közeg Albedo a: az elnyelődés valószínűsége feltéve, hogy az ütközés bekövetkezett Fekete test: albedo = 0 dsds A=1A=1 Hatáskeresztmetsz et, alias kioltási tényező  ·ds = P(ütközés)

5 Sugársűrűség változása dsds L(s)L(s) s L(s+ds) L(s+ds)= L(s) – L(s)·  (s)·ds + L e (s)·ds +  (s)·a(s)·ds·  f(  ‘,  )L i (  ‘)d  ‘ // Kiszóródás+abszorbció // Emisszió // Beszóródás dL(s)/ds = –L(s)·  (s) +L e (s)+L inscatter (s) Megoldás fényelnyelő közegre (emisszió és beszóródás nincs): L(s)= L(0)·exp(–  s  (s)ds)

6 Tomography L(s)= L(0)·exp(–  (s)ds)  (s)ds = – log L(s)/L(0) L(s)=  L e (s)ds Absorption Emission P N P N P N N e-e- e+e+ Mediso NanoPET TM /CT

7 Reconstruction

8 FBP = Filtered backprojection Measurement + back projection w(x,y)=w(r)  1/r i(x,y)=  (x,y)  w(x,y) dxdy=  2   R w(r) rdrd  = =2   R w(r)r dr  R Circle of radius R: Impulse response: Correction in frequency domain o(x,y)=i(x,y)  w(x,y) F x F y o[  x,  y ] = F x F y i[  x,  y ]  F x F y w[  x,  y ] 1/|  | F x F y i[  x,  y ] = F x F y o[  x,  y ]  |  | drdr rdrd r Ramp filtering

9 Algebric back projection v1v1 v1v1 v3v3 v4v4 d 1 = A 11 v 1 +A 13 v 3 d2d2 d3d3 d4d4 Lin egyenlet (V<D): d = A  v,d = [d 1,..., d D ] v = [v 1,..., v V ] Moore féle pseudo-inverz: A T  d = A T  A  v v = (A T  A) -1  A T  d = A +  d (D)(D) (D×V) (V)(V) (V×D)(D)(D) (V×V)

10 Iteratív séma Skalármező korrekciója Projekció: vonalintegrálok Összevetés a mért értékekkel

11 Light photons Relativistic mass is small: E = mc 2 = hf Photon’s energy (wavelength) does not change upon elastic collision Absorption probability is energy dependent Wavelengts can be handled independently e-e- e-e-

12 Gamma photons Relativistic mass is significant Photon’s energy (wavelength) changes upon collision Absorption probability is energy dependent Wavelengts cannot be handled independently e-e- e-e-

13 Compton scattering and the Klein-Nishina phase function incident photon scattered photon z x y φ  collision E E’ Klein-Nishina differential cross section (extinction coefficient): Compton formula: P(E,  ) = … Rejection sampling u Table driven sampling Electron density E/m e c 2 Cross section E/m e c 2  1  C(1+cos 2  )

14 Gamma photon transport Compton scattering + Klein-Nishina formula = New –Direction –Energy (freq) Detector grid

15 Why is it important? Measured detector response Source distribution ??? Density distribution from CT

16 Iterative reconstruction Source estimation Measured detector response Source correction Source distribution ??? Compute detector response Estimated detector response Density distribution from CT

17 PET e-e- e+e+ LOR: y Intensity: x

18 Finite-element approximation x (v)   N  x V b V (v) 1 b1b1 b2b2 b3b3 constant 1 b1b1 b2b2 b3b3 Tri-linear boxtent Higher order filter more accurate more sensitive to noise Non-CC grid?

19 BCC and FCC grids CCBCC FCC

20 System matrix 10 8 LOR responses: 10 7 voxel intensities: Probabilities that a photon pair emitted in voxel V is detected by LOR L Problems: –Huge matrix: 10 8 ×10 7 –A matrix element is an infinite-dimensional integral –Matrix element depends on the measured object (CT) Compute matrix elements on-the-fly (like in radiosity) voxel

21 Iterative solver Correction Back-projection Measures LORs Computed LORs ~~~~ Forward-projection Current voxel intensities

22 Back-projection Maximum likelihood estimation What is x based on y ? Find x that maximizes P(y|x) State: x Measurement result: y Bayes estimation: P(x|y)=P(y|x)P(x)/P(y)

23 Back-projection Measured LOR hits have Poisson-distribution with means of the current estimate: Joint probability: Likelihood: logarithm of the joint probability: Estimate x maximizes the likelihood: ~ ~ +const

24 Gathering not shooting! –Forward: voxels to LORs –Backward: LORs to voxels Parallel implementation issues ~ ~ Ratios: Same relative error in all detector pairs For each LOR L: For each voxel V:

25 Solution alternatives for gamma photon transport Physicists’ approach: 1.Direct mathematical model of a phenomenon 2.Solution algorithm is the simulation of the nature 3.Porting to the computer 4.Performance tuning Computer graphics approach: 1.Computer architecture 2.Algorithm that is efficient on this architecture 3.Tuning to the problem

26 Physicists’ approach Detector grid

27 Physicists’ approach Detector grid

28 Physicists’ approach Detector grid

29 Physicists’ approach Detector grid

30 Woodcock tracking: Free path length sampling in heterogeneous medium e -  max x  max ss ss CG approach: x  S

31 Physicists’ approach Pros –Direct simulation of nature –Rejection sampling can mimic the Klein-Nishina phase function and free path length. –Paths are computed independently, so it scales well on MIMD (multi-CPU = slow and expensive) Cons –Bad on SIMD (rejection sampling is a loop) –Similar absolute error in detectors, the relative error is 1/  n where n is the number of hits. –Paths are computed independently, so it cannot exploit coherence (cannot reuse information) –Random writes

32 Computer graphics approach SIMD-like algorithm (GPU) –Independent threads (gathering) –“No” conditional statements or variable length loops Reuses paths –Detector view (gathering) Same relative error in all detector pairs –Same number of samples in all detector pairs –Detector view (gathering) Solve the adjoint problem  –Like path tracing instead of photon tracing –Integral transformation (Jacobi determinant)

33 CUDA: implementation platform GPU CPU + Host program Kernel programs: Threads Thread blocks Warps, … Thread block Fast shared memory SIMD Quasi-SIMD

34 Adding two N-element vectors __global__ void AddVectorGPU( float *C, float *A, float *B, int N ) { int i = blockIdx.x * blockDim.x + threadIdx.x; // thread id if (i < N) C[i] = A[i] + B[i]; } float C[100000], A[100000], B[100000]; int main ( ) { … int N = 100000; … int blockDim = 256;// number of threads per block int gridDim = (N + blockDim – 1) / blockDim;// number of thread blocks AddVectorGPU >>(C, A, B, N); … } Runs on GPU, called from CPU 0,…, blockDim.x-1 0,…, gridDim.x-1

35 Path reuse! Detector 1Detector 2

36 Integral transformation dz1dz1 dz2dz2 dA: perpendicular area dv: differential volume dl: chord length emission point d  2 : solid angle in which dz 2 is visible from D2D2 D1D1 d  : solid angle in which dz 1 and dz 2 are visible from

37 Forward projection Detector 1Detector 2 voxel NtNt NaNa = =

38 Back projection Detector 1Detector 2 voxel NtNt NaNa ~ ~ It can change in time! OSEM sample perturbation ~ Solid angle of the farther detector:

39 Detector sampling

40 Rnd Poisson-disk

41 Detector modeling

42 Measurements and phantoms 18x32 4 LOR 128 3 … 256 3 voxel

43 Time: NV GeForce GTX 285 GPU utilization: 25%

44 GPU optimization Registers assigned to a thread (32->64) Forward and back-projection re-structuring –Forward: –Back:

45 Error: 128 3 voxels

46 Reconstruction quality N_detline=1 N_detline=16, Poisson diszk ref

47 Single scatter compensation Sample the location of the scattering point Reusing rays: Evaluate many integrals in parallel What to sample? What mimics all integrands? Scattering point = + 3 dimensions

48 Single scatter compensation accumulated emission accumulated attenuation accumulated attenuation Importance sampling:

49 General scatter compensation 1. Scattering points 2. Ray marching from detector to scattering points 3. Combination of paths

50 Scatter compensation

51 Stochastic iteration EM objective function (likelihood): Expected value has some error! Deterministic error Convergent but to a bad value Random error Not convergent

52 Stochastic iteration New likelihood Only in forward projection

53 Likelihood

54 Reconstruction error

55 100 iterations, 1 sample/LOR 2 billion photons pair/iteration FP=4 sec, BP=5 sec ref  n =2/n  n =3/n  n =1/n Without stochastic iteration Det Rand

56 Scatter compensation Geometria Single scatteringDouble scattering


Letölteni ppt "Pozitron-Emission Tomography Reconstruction (A computer graphics view) Szirmay-Kalos László."

Hasonló előadás


Google Hirdetések