Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaDániel Veres Megváltozta több, mint 10 éve
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 rdrd 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 ss ss 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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.