22
An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD- based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department of Computer Science Visual Analytics and Imaging (VAI) Lab Stony Brook University and SUNY Korea

An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Embed Size (px)

Citation preview

Page 1: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

An Algorithm to ComputeIndependent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction

Sungsoo Ha and Klaus Mueller

Department of Computer Science

Visual Analytics and Imaging (VAI) Lab

Stony Brook University and SUNY Korea

Page 2: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Motivation

• Statistical Iterative Reconstruction Algorithm

FBP SIR

Page 3: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Motivation

• Statistical Iterative Reconstruction Algorithm• Weighted Least Square (WLS) cost function

�̂�=arg min𝑥 ≥ 0 {1

2(𝐲−𝐀𝐱 )𝑇𝐖 (𝐲−𝐀𝐱 )+𝑅 (𝐱 )}

y Measured projection data

X Attenuation coefficients of the object subject to be reconstructed

A System matrix with size of

W Diagonal matrix for statistical weighting

R(x) Regularization

Page 4: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Motivation

• Statistical Iterative Reconstruction Algorithm• Weighted Least Square (WLS) cost function

High cost for forward & back projectionsThe nature of iterative algorithm

�̂�=arg min𝑥 ≥ 0 {1

2(𝐲−𝐀𝐱 )𝑇𝐖 (𝐲−𝐀𝐱 )+𝑅 (𝐱 )}

Page 5: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Motivation: optimization

ICD-based CG-based

FAST SLOWConvergence rate

HARD EASYParallelization

x

y

GCD (Fessler et al. 1997)

B-ICD(Benson et al. 2010)

x

y

ABCD(Fessler et al. 2011)

z

Page 6: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Goal

• Devise an algorithm– Find voxels that are “fully” independent each other– No additional algorithmic & computational complexity– More accurate (also complicated) pattern– Applicable for all CT geometry

ICD-based GC-based

FAST SLOWConvergence rate

HARD EASYParallelization

Page 7: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Independency among voxels

• Single voxel update scheme–Minimizing one direction at a time

correction weighting update

Page 8: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

A

Single voxel update

A voxel A

object

x-ray source

flat detector

region related to voxel A

Page 9: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

A

B

A voxel A

object

x-ray source

flat detector

region related to voxel A

B voxel B

region related to voxel B

Independent voxel

Page 10: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

System Matrix, - M: # of line-integrals- N: # of voxels

A B C

Overlap between B & C

CT system matrix view

M

N

• Independent– A, B

• Dependent – A, C– B, C

Overlap between A & C

Page 11: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

• Knapsack problem:

Finding set of independent voxels

min ZERO {¿𝑔∈𝐺𝑔 }𝑠 .𝑡 .𝐺= {𝑎𝑘∨1≤𝑘≤ N }

𝑎𝑚∩𝑎𝑛=𝟎∀𝑎𝑚𝑎𝑛∈𝐺 ,𝑚≠𝑛

Page 12: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

• Knapsack problem:

• Combinatorial NP-hard problem

min ZERO {¿𝑔∈𝐺𝑔 }𝑠 . 𝑡 .𝐺={𝑎𝑘∨1≤𝑘≤ N }

𝑎𝑚∩𝑎𝑛=𝟎∀𝑎𝑚𝑎𝑛∈𝐺 ,𝑚≠𝑛

Finding set of independent voxels

A B C D E F AG = B CX

Page 13: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

min ZERO {¿𝑔∈𝐺𝑔 }𝑠 . 𝑡 .𝐺={𝑎𝑘∨1≤𝑘≤ N }

𝑎𝑚∩𝑎𝑛=𝟎∀𝑎𝑚𝑎𝑛∈𝐺 ,𝑚≠𝑛

Finding set of independent voxels• Knapsack problem:

• Combinatorial NP-hard problem• First-Fit Decreasing algorithm

1. Sort voxels in descending order of the number of non-zero elements

2. Pick the voxel that contain the largest number of non-zero elements

3. Invalidate all voxels that depend on the selected voxel

Page 14: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Experiment settings

• Cone-beam CT geometry• Volume: 128 x 128 x 128 (1 x 1 x 1 mm)• Flat detector: 512 x 512 (1 x 1 mm)• SAD: 600 mm• SID: 1000 mm• The number of projections– Varying from 1 to 360– Uniformly distributed over 360 degrees

Page 15: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Extreme case study

# views# independent

groupMax. size of

independent groupAvg. size of

independent group

1 187 16,186 11,214

360 13,569 449 154

• ABCD (Axial Block Coordinate Descent) algorithm• Along z-direction: 128

More parallelism No additional complexity

Page 16: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Theoretical parallelism

# views# independent

groupMax. size of

independent groupAvg. size of

independent group

1 187 16,186 11,214

360 13,569 449 154

• Expected speed-up (theoretical parallelism) with ideal GPU implementation

Page 17: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Estimated gain of GPU-accelerated OS-SIR

𝒈𝒂𝒊𝒏𝑶𝑺−𝑺𝑰𝑹𝑮𝑷𝑼

𝑔𝑎𝑖𝑛𝑂𝑆−𝑆𝐼𝑅𝐺𝑃𝑈 =

𝑝𝑎𝑟𝑎𝑙𝑙𝑒𝑙𝑖𝑠𝑚(360 /¿𝑜𝑓 𝑣𝑖𝑒𝑤𝑠𝑝𝑒𝑟 𝑠𝑢𝑏𝑠𝑒𝑡)

𝒑𝒂𝒓𝒂𝒍𝒍𝒆𝒍𝒊𝒔𝒎= 𝟏𝟐𝟖𝟑

¿𝒖𝒑𝒅𝒂𝒕𝒆𝒔

Number of views / subset

Page 18: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Independence visualization

1

5

10

20

45

90

180

360

32 (bottom) 64 (middle) 96 (top) 32 (bottom) 64 (middle) 96 (top)

Page 19: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

• At 360 views

Independence visualization

32 (bottom) 96 (top)

Page 20: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

• A clue for optimism

Independence visualization

32 (bottom) 96 (top)

1 view

360 views

Page 21: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Conclusion & Future works

• More parallelism than existing methods– No additional complexity– One time computation– Applicable for all CT geometry

• Hints for GPU implementation of SIR

• Apply to actual GPU-accelerated SIR framework– Determine optimal computational performance– Convergence rate

Page 22: An Algorithm to Compute Independent Sets of Voxels for Parallelization of ICD-based Statistical Iterative Reconstruction Sungsoo Ha and Klaus Mueller Department

Thanks!

• Q&A

• This research was partially supported by NSF grant IIS-11732 and the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the ‘IT Consilience Creative Program (ITCCP)’ (NIPA-2013-H0203-13-1001) supervised by NIPA (National IT Industry Promotion Agency).