1. IMAGE RECONSTRUCTION USING MAXIMUM A
POSTERIORI EXPECTATION MAXIMIZATION
ALGORITHM ON A MULTI-CORE SYSTEM
30.06.2020
2. • Image Reconstruction Technique is suitable for identifying the disease
based on scanned image.
• Reconstructing an Image using Projection displays good quality
images
• To improve the accuracy level for medical applications, iterative
algorithms such as ART, MLEM and MAPEM are implemented for
limited number of angles.
• The number of iterations are optimized
• It is found that all three systems suffers from high computation time.
• To reduce reconstruction time a parallel computation method is
proposed.
• To prove the parallel computing performance Amdahl’s Law is used.
Objective
3. • Image acquisition is done by Medical
Modalities
• The object is placed inside the tunnel
• The scan area has a rotating emitter
and receiver in parallel that acquire at
different angle
• Positron emitting radio
pharmaceutical will be injected into
the object
• Positron combines with an electron
and converted into two photons
Introduction
CT scan PET
MRI Scan
4. • Analytical
• Filtered Back Projection (FBP)
• Iterative
• Algebraic Reconstruction Technique (ART)
• Solving a linear system of equations iteratively
• Statistical Reconstruction Technique
• Weighted Least Square
• Likelihood based iterative Expectation
Maximization
• Maximum Likelihood Expectation Maximization
• Maximum A Posteriori Expectation Maximization
Introduction
5. Introduction
• Estimated Image – Image acquired using projection
• Computed Projection and Measured projections are compared
• If discrepancy occurs back projection is applied to form updated image
• Updated image will be considered as Estimated Image during next
iteration
• Iteration will be repeated till the discrepancies has been reduced.
• Depending on data size and number of iterations the reconstruction
time will be more.
• To reduce the reconstruction time parallel computing is introduced.
6. • Serial Computing
• Problem is broken into number of instructions
• Instructions are executed sequentially one after other
• Parallel Computing
• Problem is divided into sub problems
• Each Sub problem is broken into number of
instructions
• Instructions are executed sequentially under a
processor
• Implemented with many computers generally
referred as parallel computers or multi-core
processors
• Programming Languages, Operating System,
Parallel algorithm and compiler that support
parallel programming
Parallel Computing
7. • The multiprocessor can be distributed system or shared memory.
• Distributed System
• Designed by placing the components on different networked computers
• The coordination and communication is done by passing message to one another
• Shared Memory
• Multiprocessor that has more than one processor inside a single computer itself
• Each processor is treated as Thread
• Thread reads, writes and processes on data concurrently using common memory
• Data, Task and Pipeline are the categories of parallel computing
• API used to implement parallel programs are Open Multi-Processing
(OMP) and Message Passing Interface (MPI)
• MPI – Distributed Systems
• OMP – Shared Memory
Parallel Computing
8. • The program starts as a single master thread.
• As parallel region begins the master thread forks the region into specified
number of slave threads and perform simultaneously.
• When parallel region ends, slave threads joins back to the master thread.
• A Thread is an execution entity and associated static memory is called as
thread private memory.
• Special directives are used to run the code in parallel.
• The number of threads is mentioned using environment variable.
• “omp.h” header file holds OpenMP prototypes and macro definitions.
OpenMP
9. • C++ omp is used in this research work.
• Environmental Variable
• OMP_DYNAMIC
• OMP_NUM_THREADS
• OMP_NUM_THREADS=num_threads
• OMP_SCHEDULE
• Directive
• #pragma omp name_of_directives[clause]
• Parallel
• Used to denote a region to be executed in parallel
• If(exp)
• Shared(list)
• Reduction(operator:list)
• for
OpenMP
10. • Amdahl’s Law
• statement of the maximum theoretical speed-up you can
ever hope to achieve.
S(n) = ts/tp
• Quinn’s Notation
Speedup and Efficiency
time
execution
Parallel
time
execution
Sequential
Speedup
f
n
f
f
p
S
1
/
)
1
(
1
)
(
11. Maximum A Posteriori Expectation Maximization
(MAPEM)
• MAPEM is introduced with a prior knowledge as a constraint that
favors convergence of the expectation maximization algorithm process
called as regularization
• The prior is usually chosen to penalize the noisy images.
• The goal of the required criterion is simultaneously maximized which
leads to a scheme called One Step Late (OSL) algorithm.
• The priori term is the derivative of an energy function chosen to
enforce smoothing.
• At the initial condition the reconstruction method guesses the estimate
value that resembles the internal structure, by feeding projection data
as input.
12. Y is constant
posterior
likelihood
prior
X: reconstruction
Y: projection
Bayes:
MAP: maximize
p(Y|X) p(X) or ln p(Y|X) + ln p(X)
Maximum A Posteriori Expectation Maximization
(MAPEM)
13. • E-Step Procedure: Estimates the
expectation of the missing value i.e.
unlabeled class information. This step
corresponds to performing classification of
each unlabeled document. Probability
distribution is calculated using current
parameter.
• M-Step Procedure: Calculates the
maximum likelihood parameters for the
current estimate of the complete data.
Maximum A Posteriori Expectation Maximization
(MAPEM)
14. Dataset
• Phantom imaging is specially designed object to
evaluate, analyze and tune performance of
devices
• The research has used Shepp Logan Phantom as
dataset
• It serves as the model of a human head in the
development and testing of image reconstruction
algorithms
• Various sizes of 64, 128 and 256 is used to
perform image reconstruction.