8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
1/10
P A R A L L E L I M P L E M E N T A T I O N O F TH E C O N V O L U T I O N M E T H O D
I N I M A G E R E C O N S T R U C T I O N
W i e s l a w L u c j a n N o w i n s k i
I n s t i t u t e o f C o m p u t e r S c i e nc e , P o l i s h A c a d e m y o f S c i e n c e s
P . O. B o x 22 , P K i N, P L 0 0 - 9 0 1 W a r s a w , P o l a n d
i . I N T R O D U C T I O N
I m a g e r e c o n s t r u c t i o n f r o m p r o j e c t i o n s a l l o w s i m a g i n g t h e i n t e r n a l
s t r u c t u r e o f a n i n v e s t i g a t e d o b j e c t f r o m a p p r o p r i a t e m e a s u r e m e n t s . A
d e s c r i p t i o n o f i m a g e r e c o n s t r u c t i o n m e t h od s , t h e i r m a t h e m a t i c a l b a si s ,
a n d i m p l e m e n t a t i o n a l p r o b l e m s a r e t o b e fo u n d, e . g . , i n [ 1, 2 , 3 , 4 ] . T h e
g r e a t e s t a p p l i c a t i o n o f i m a g e r e c o n s t r u c t i o n i s c o m p u t e r i z e d
t o m o g r a p h y ( CT ). C T i s c o m p u t e r - a s s i s t e d r e c o n s t r u c t i o n o f s o m e
f u n c t i o n c a l l e d d e n s i t y f r o m m e a s u r e m e n t s o f e m a n a t i o n s t h a t h a v e
p a s s e d t h r o u g h a n i n v e s t i g a t e d o b j e ct . T h e d e n s i t y r e p r e s e n t s t h e
s p a t i a l d i s t r i b u t i o n o f s o m e p h y s i c a l p r o p e r t y o f t h e o b j e ct , w h e r e a s
t h e e m a n a t i o n i s a n y p h y s i c a l p r o c e s s b e i n g u s e d t o s t u d y t h e o b j e ct .
T h e m o s t w i d e l y u s e d i m a g e r e c o n s t r u c t i o n m e t h o d i s t h e c o n v o l u t i o n
m e t h o d ( c a l l ed a l s o t h e c o n v o l u t i o n b a c k p r o j e c t i o n m e t h o d ) . I t
r e c o n s t r u c t s a n i m a g e i n t w o s t ep s : c o n v o l u t i o n o f t h e p r o j e c t i o n d a t a
w i t h a g i v e n c o n v o l v i n g f u n c t i o n ( f i lt r a t io n ) , a n d b a c k p r o j e c t i o n o f
t h e c o n v o l v e d p r o j e c t i o n d a t a .
I n m a n y m e d i c a l a n d i n d u s t r i a l s i t u a t i o n s a c o n v e n t i o n a l C T s c a n n i n g
i s u n s u i t a b l e t o c o l l e c t t h e p r o j e c t i o n d a t a d ue t o r a p i d t r a n s l a t i o n
o r d e f o r m a t i o n o f a n i n v e s t i g a t e d o b j e c t. T h e r e f o r e, f o r h i g h s p e e d
t o m o g r a p h y n e w s c a n n e r s h a v e b e e n d e v e l o p e d w h i c h a r e c a p a b l e o f
g e n e r a t i n g f a s t s c an s . T h e s e s c a n n e r s p r o d u c e a l ot of m e a s u r e m e n t
d a ta , s o h i g h s p e e d t o m o g r a p h y d e m a n d s p a r a l l e l p r o c e s s i n g .
T h e p a p e r i s c o n c e r n e d w i t h p a r a l l e l i s m i n t h e c o n v o l u t i o n m e t h o d . T o
d e s c r i b e p a r a l l e l i s m t h e o c c a m l a n g u a g e i s u s e d [6]. T h e f o r m s o f
p a r a l l e l i s m s p e c i f i c t o i m a g e r e c o n s t r u c t i o n h a v e b e e n r e v i e w ed .
M o r e o v e r , s o m e f o r m u l a t i o n s o f t h e p a r a l l e l c o n v o l u t i o n m e t h o d h a v e
b e e n pr e s e n t e d . A s i m u l t a n e o u s a c c e s s e i t h e r t o t h e p r o j e c t i o n m e m o r y
o r t o t h e i m a g e m e m o r y h a s b e e n d i s c u ss e d . F i n al l y , t w o a r c h i t e c t u r e s
f o r t h e p a r a l l e l c o n v o l u t i o n m e t h o d h a v e b e e n p r o p o s e d.
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
2/10
56
2. D E F I N I T I O N S O F T H E P A R A L L E L I S M F O R M S
I m a g e r e c o n s t r u c t i o n i s o p e n t o v a r i o u s f o r m s o f p a r a l l e l i s m . I t
r e s u l t s f r o m t he d a t a s t r u c t u r e r e g u l a r i t i e s b o t h i n t h e p r o j e c t i o n
a n d i m a g e sp a c es . A f o r m of p a r a l l e l i s m d e t e r m i n e s a w a y o f
d e c o m p o s i n g a g i v e n p ar en t) p r o c e s s i n t o c o n c u r r e n t c o m p o n e n t
p r o c e s s e s .
I n [ 5] t h e f o l l o w i n g b a s i c f o r m s o f p a r a l l e l i s m i n i m ag e
r e c o n s t r u c t i o n h a v e b e e n d e f i n ed : p i x e l v ox el ) p a ra l l e l i s m ,
p r o j e c t i o n p a r a l l e l i s m , r a y p a r a l l e l i s m , a n d o p e r a t i o n p a r a l l e l i s m .
B e l ow , w e w i l l r e v i e w t h e m b r i e f l y .
P i x el v ox el ) p a r a l l e l i s m e x p l o i t s t h e r e g u l a r i t y o f d a t a i n t h e
d i s c r e t i z e d i m a g e s p ac e . L e t u s a s s i g n a c o m p o n e n t p r o c e s s t o a p i x e l
v ox el ), a n d l e t t h e f u n c t i o n o f t h e c o m p o n e n t p r o c e s s b e t h e
c a l c u l a t i o n o f t h e d e n s i t y of t h i s p i x e l v o x el ) . B y u s i n g a
r e p l i c a t e d P A R p i x e l v ox el ) p a r a l l e l i s m ha s b e e n d e f i n e d a s f o l l o w s
P A R j = 0 F O R J
p r o c e s s . f o r . p i x e l j )
w h e r e J d e n o t e s t h e n u m b e r o f p i x e l s v o xe l s) , a n d
p r o c e s s . f o r . p i x e l j ) c a l c u l a t e s t h e d e n s i t y o f t h e j - t h p i x e l v ox el ).
P r o j e c t i o n p a r a l l e l i s m m a k e s u s e o f t h e d a t a s t r u c t u r e r e g u l a r i t y i n
t h e d i s c r e t i z e d p r o j e c t i o n s p a c e t a k i n g i n t o a c c o u n t t h a t t he
m e a s u r e m e n t d a t a f o r m a n a r r a y o f p r o j e c t i o n s . L e t u s a s s i g n a
c o m p o n e n t p r o c e s s t o a p r o j e c t i o n , a n d l e t t h e f u n c t i o n o f t h e
c o m p o n e n t p r o c e s s b e p r o j e c t i o n p r o c e s s i n g . S u p p o s e M d e n o t e s t h e
n u m b e r o f p r o j e c t i o n s , a n d p r o c e s s . f o r . p r o j e c t i o n m ) p r o c e s s e s t h e
m - t h p r o j e c t i o n . I f t h e g e o m e t r y o f d a t a c o l l e c t i o n i s c o n s t a n t
t h r o u g h o u t t h e m e a s u r e m e n t p r o ce s s , p r o j e c t i o n p a r a l l e l i s m i s d e f i n e d
i n t h e f o l l o w i n g w a y
P A R m = 0 F O R M
p r o c e s s . f o r . p r o j e c t i o n m )
O t h e r w i s e t h e a b o v e d e f i n i t i o n c a n b e r e w r i t t e n a s
P A R
{ p r o c e s s . f o r . p r o j e c t i o n }
R a y p a r a l l e l i s m e x p l o i t s t h e r e g u l a r i t y o f d a t a i n t h e d i s c r e t i z e d
p r o j e c t i o n s p a c e t a k i n g i n t o a c c o u n t t h a t t h e m e a s u r e m e n t d a t a f o r m a n
a r r a y o f r a y s u ms . I n t h i s c a s e a c o m p o n e n t p r o c e s s i s a s s i g n e d t o a
r a y to c a l c u l a t e t h e i n f l u e n c e o f t h e r a y s u m o n t h e d e n s i t y
a c t u a l i z a t i o n o f t h e p i x e l s t h r o u g h w h i c h t h e r a y pa s s e s . H e n c e, t h e
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
3/10
57
f o r m h a s b e e n d e f i n e d a s f o l l o w s
P A R i = 0 F O R I
p r o c e s s , f o r . r a y i)
w h e r e I d e n o t e s t h e n u m b e r o f ra y s, a n d p r o c e s s . f o r . r a y i ) a c t u a l i z e s
t h e d e n s i t i e s o f t h o s e p i x e l s t h r o u g h w h i c h t h e i - t h r a y p a s s e s .
O p e r a t i o n p a r a l l e l i s m r e f e r s t o a ll f o r ms o f c o n c u r r e n c y f or
o p e r a t i o n s . I n g e n e r a l , i t c a n b e d e s c r i b e d b y K v a r i o u s p r o c e s s e s ,
e a c h p e r f o r m i n g d i f f e r e n t f u n c t i o n s
P A R
p r o c e s s . 1
p r o c e s s . 2
p r o c e s s . K
B a s e d o n t h e i n t r o d u c e d f o rm s , m a n y p a r a l l e l i m a g e r e c o n s t r u c t i o n
a l g o r i t h m s h a v e b e e n f o r m u l a t e d . M o r e o v e r , t h e g a i n i n s p e e d
a t t a i n a b l e o v e r s e q u e n t i a l p r o c e s s i n g b y u s i n g t h e s e f o r m s ha s b e e n
d e t e r m i n e d i n [5 ].
3. P A R A L L E L C O N V O L U T I O N M E T H O D
T h e c o n v o l u t i o n m e t h o d c o n t a i n s t w o o p e r a t i o n s : f i l t r a t i o n of
p r o j e c t i o n s a n d b a c k p r o j e c t i o n . I n o r d e r to p e r f o r m f i l t r a t i o n o f
p r o j e c t i o n s p r o j e c t i o n p a r a l l e l i s m m a y b e e xp l o i te d , w h e r e a s
b a c k p r o j e c t i o n c a n m a k e u s e o f p i x el , p r o j e c t i o n , o r o p e r a t i o n
p a r a l l e l i s m s .
T h e c o n v o l u t i o n m e t h o d i n w h i c h b a c k p r o j e c t i o n i s p a r a l l e l i z e d b y
p i x e l p a r a l l e l i s m c a n b e e x p r e s s e d a s f o l l o w s
P R O C c o n v o l u t i o n . m e t h o d . p i x e l . p a r a l l e l i s m V AL I N T M, J)
INT m, j :
S E Q
P A R m = 0 F O R M
p r o j e c t i o n . f i l t r a t i o n m )
P A R j = 0 F O R J
b a c k p r o j e c t i o n , o p e r a t i o n j)
E x p l o i t i n g p r o j e c t i o n p a r a l l e l i s m i n o r d e r to p e r f o r m b a c k p r oj e c t i o n ,
t h e c o n v o l u t i o n m e t h o d c a n b e f o r m u l a t e d a s
P R O C c o n v o l u t i o n . m e t h o d . p r o j e c t i o n . p a r a l l e l i s m V AL I N T M, J)
INT m, j :
S E Q
P A R m = 0 F O R M
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
4/10
5 8
p r o j e c t i o n . f i l t r a t i o n ( m )
P A R m = 0 F O R M
S E Q j = 0 F O R J
a c t u a l i z e . d e n s i t y ( m , j )
T h e a c t u a l i z e . d en s i t y ( m , j ) p r o c e d u r e c a l c u l a t e s f o r t h e m - t h
p r o j e c t i o n t h e d e n s i t y a c t u a l i z a t i o n o f t h e j - t h p i x e l . T h i s a p p r o a c h
i s p o s s i b l e d u e t o s u p e r p o s i t i o n .
I n a d d i t i on , t h e d i s c r e t i z e d b a c k p r o j e c t i o n o p e r a t o r c a n b e d e c o m p o s e d
b y u s i n g o p e r a t i o n p a r a l l e l i s m , a s e a c h c o m p o n e n t o f t h i s o p e r a t o r c a n
b e c a l c u l a t e d i n p a r a l l e l .
T h e a b o v e f o r m u l a t i o n s o f t h e c o n v o l u t i o n m e t h o d a r e p o s s i b l e p r o v i d e d
t h a t th e c o m p l e t e m e a s u r e m e n t v e c t o r i s k n o w n b e f o r e a r e c o n s t r u c t i o n
p r o c e s s s t a r t s . H o w e v e r , i n m a n y c a s e s ( e .g . , i n c o m m e r c i a l s c a n n e r s )
p r o j e c t i o n s a r e c o l l e c t e d t h r o u g h o u t t h e d u r a t i o n o f a r e c o n s t r u c t i o n
p r o c e s s, s o p r o j e c t i o n p a r a l l e l i s m d o e s n o t e x i st . I n t h i s c a s e
f i l t r a t i o n o f p r o j e c t i o n s h a s t o b e p e r f o r m e d s e q u e n t i a l l y
P R O C c o n v o l u t i o n . m e t h o d . s e q u e n t i a l . p r o j e c t i o n s ( V AL I N T M , J)
I N T m , j :
S E Q m = 0 F O R M
S E Q
p r o j e c t i o n . f i l t r a t i o n ( m )
P A R j = 0 F O R J
b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ( m , j )
T h e b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ( m , j ) p r o c e d u r e
a c t u a l i z e s t h e j - t h p i x e l s d e n s i t y c o n t r i b u t e d b y t h e m - t h
p r o j e ct i o n . N o t e th a t t h e b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ( )
a n d a c t u a l i z e . d e n s i t y ( ) p r o c e d u r e s p e r f o r m th e s a m e c a l c u l a t i o n s . T h e y
d i f f e r o n l y i n th e w a y of a c c e s s i n g t h e i m a g e a r r ay . I n t h e f o r m e r
p r o c e d u r e t h e d e n s i t y a c t u a l i z a t i o n m a y b e a s s i g n e d t o a g i v e n
l o c a t i o n i n t h e i m a g e m e m o r y , w h e r e a s i n t h e l a t t e r i t i s f o r b i d d e n
d u e t o a s i m u l t a n e o u s a c c e s s t o t h i s l o c a t i o n b y m a n y p r o c e s s e s .
4. C O N F L I C T F R E E M E M O R Y A C C E S S
I n t h e p r e v i o u s s e c t i o n s o m e p r o c e d u r e s o f t h e p a r a l l e l c o n v o l u t i o n
m e t h o d h a v e b e e n f o r m u l at e d . I n t h e s e p r o c e d u r e s c o m p o n e n t p r o c e s s e s
f o r m t h e a r r a y s o f s i m i l a r p r o c e s s e s . T h e s e p r o c e s s e s , h o w e v e r , c a n n o t
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
5/10
59
b e c o n s i d e r e d t o b e sy n c h r o n o u s , a s a s y n c h r o n i s m i s i n t r o d u c e d b y a
s i m u l t a n e o u s a c c e s s e i t h e r t o t h e p r o j e c t i o n o r i m a g e m e m o r y. I n t h i s
s e c t i o n w e w i l l d i s c u s s t h i s p r o b l e m a n d r e f o r m u l a t e a b o v e p r o c e d u r e s
s o as t o o b t a i n a c o n f l i c f r e e m e m o r y a c c e ss .
T o a v o i d a s i m u l t a n e o u s m e m o r y a c c e s s p a r a l l e l m e m o r i e s s h o u l d b e
u s ed . A p a r a l l e l m e m o r y c o n s i s t s o f s e v e r a l m e m o r y m o d u l e s , e a c h o f
w h i c h c a n b e a c c e s s e d i n d e p e n d e n t l y . A s s u m e t h a t t h e m e m o r y c o n s i s t s
o f B m e m o r y m o d u l e s ( b l o c ks ) , e a c h h a v i n g t h e l e n g t h A . L e t b = 0 . . B - I
d e n o t e t h e m o d u l e i n d e x , a n d a = 0 . . A - I t h e a d d r e s s w i t h i n a m o d u l e .
T h e n , a r r a y i n d i c e s ( u s e d i n t h e p r o c e d u r e s f o r m u l a t e d a b o v e ) s h o u l d
b e r e p l a c e d b y m o d u l e i n d i c e s a n d a dd r e s s e s . I t r e q u i r e s t o d e t e r m i n e
a f o l l o w i n g m e m o r y - a r r a y m a p p i n g
( m o d u l e i n de x , a d d r e s s ) - > a r r a y i n d e x .
C o n s i d e r p i x e l p a r a l l e l i s m . I t d e m a n d s a s i m u l t a n e o u s a c c e s s t o t h e
w h o l e i m a g e m e m o r y , h o w e v e r , e a c h c o m p o n e n t p r o c e s s w r i t e s t o j u s t o n e
l o c a t i on . T h e r e f o r e , w e w i l l r e d e f i n e p i x e l p a r a l l e l i s m s o a s t o g e t a
c o n f l i c t f r e e a c c e s s t o t h e i m a g e m e m o r y . I t c a n b e d o n e b y
r e s t r i c t i n g t h e d e g r e e o f p i x e l p a r a l l e l i s m t o t h e n u m b e r o f m e m o r y
m o d u l e s
S E Q a = 0 F O R A
P A R b = 0 F O R B
p r o c e s s . f o r . p i x e l ( a + ( b * A ) )
O f c o u r s e , a h i g h e r v a l u e o f B r e s u l t s i n a h i g h e r d e g r e e o f
p a r a l l e l i s m . H e n ce , t h e c o n v o l u t i o n . m e t h o d . p i x e l . p a r a l l e l i s m ( )
p r o c e d u r e w i t h n o s i m u l t a n e o u s i m a g e m e m o r y a c c e s s c a n b e r e w r i t t e n a s
P R O C c o n v o l u t i o n . p i x e l . c o n f l i c t . f r e e . i m a g e . m e m o r y . a c c e s s ( V A L I NT M ,A ,B )
IN T m, a, b :
S E Q
P A R m = 0 F O R M
p r o j e c t i o n . f i l t r a t i o n ( m )
S E Q a = 0 F O R A
P A R b = 0 F O R B
b a c k p r o j e c t i o n . o p e r a t i o n ( a + ( b * A ) )
C o n s i d e r p r o j e c t i o n p a r a l l e l i s m . I n t h i s ca s e M p r o c e s s e s
s i m u l t a n e o u s l y r e q u i r e a n a c c e s s t o a g i v e n l o c a t i o n i n t h e i m a ge
m e m o r y . A s s u m e t h a t t h e i m a g e m e m o r y c o n s i s t s o f M m e m o r y m o d u l es ,
i . e. , J = M A. F u r t h e r m o r e , s u p p o s e m s = 0 . . M - I d e n o t e s t h e m o d u l e
i n d ex . H e n c e , t h e i m a g e m e m o r y - i m a g e a r r a y m a p p i n g i s: j = a + m A o
s
L e t Jm d e n o t e t h e i m a g e a r r a y i n d e x f o r t h e m - t h c o m p o n e n t p r o c e ss . T o
a t t a i n a c o n f l i c t f r e e i m a g e m e m o r y a c c e s s t h e i n d i c e s J m m = O . . M - I ,
s h o u l d b e s h i f t e d s o a s t o r e s t r i c t a n a c c e s s o f a n y p r o c e s s t o j u s t
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
6/10
36
o n e m e m o r y m o d u l e a t t h e s a m e t im e . I t c a n b e a c h i e v e d b y d e f i n i n g t h e
i m a g e m e m o r y - i m a g e a r r a y m a p p i n g f o r t h e m - t h c o m p o n e n t p r o c e s s a s
J m = [ m A + a + m s A ] m o d J = [ a + m + m s ) A ] m o d J .
T h u s , t h e c o n v o l u t i o n p r o c e d u r e m a k i n g u s e o f p r o j e c t i o n p a r a l l e l i s m
c a n b e r e w r i t t e n a s f o l l o w s
P R O C c o n v o l u t i o n . p r o j e c t i o n . c o n f l i c t . f r e e . i m a g e . m e m o r y . *
* a c c e s s V A L I N T M, A)
I N T m , m s , a :
S E Q
P A R m = 0 F O R M
p r o j e c t i o n . f i l t r a t i o n m )
P A R m = 0 F O R M
S E Q m = 0 F O R M
S E Q S a = 0 F O R A
b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n m ,
a + m + m s ) * A ) R E M A , M) )
N o t e t h a t i n t h i s c a s e i n s t e a d o f t h e a c t u a l i z e . d e n s i t y ) p r o c e d u r e
t h e b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ) p r o c e d u r e m a y b e
u s e d .
L e t u s c o n s i d e r a s i m u l t a n e o u s p r o j e c t i o n m e m o r y a c c e s s . T h i s m e m o r y
i s u s e d to p e r f o r m e i t h e r f i l t r a t i o n o f p r o j e c t i o n s o r b a c k p r o j e c t i o n .
N o t e t h a t it i s e a s y to a v o i d a s i m u l t a n e o u s p r o j e c t i o n m e m o r y a c c e s s
w i t h r e s p e c t t o f i l t r a t i o n b y s t o r i n g e a c h p r o j e c t i o n i n a s e p a r a t e
m e m o r y m o d u l e .
C o n s i d e r b a c k p r o j e c t i o n p a r a l l e l i z e d b y p i x e l p a r a l l e l i s m . I n m o s t
c a s e s J > M a n d t h e n a s i m u l t a n e o u s p r o j e c t i o n m e m o r y a c c e s s c a n n o t b e
a v o i d e d . H o w e v e r , m a k i n g u s e o f r e s t r i c t e d p i x e l p a r a l l e l i s m w i t h
B = M w e c a n o b t a i n a c o n f l i c t f r e e p r o j e c t i o n m e m o r y a c c e s s . T h e n w e
h a v e
P R O C c o n v o l u t i o n . p i x e l . c o n f l i c t . f r e e . m e m o r y . a c c e s s V A L I N T M , A)
I N T m , a :
S E Q
P A R m = 0 F O R M
p r o j e c t i o n . f i l t r a t i o n m )
S E Q a = 0 F O R A
P A R m = 0 F O R M
b a c k p r o j e c t i o n . c o n f l i c t . f r e e . p r o j e c t i o n . m e m o r y . a c c e s s a , m )
I n t h e b a c k p r o j e c t i o n o p e r a t i o n w e m u s t a s s u r e t h a t a t t h e s a m e t i m e
t h e v a l u e s o f t h e s u m m a t i o n i n d e x i . e. , t h e v a l u e s o f m o d u l e i n d i c e s)
a r e d i f f e r e n t f o r a l l c o n c u r r e n t l y p r o c e s s e d p i x e l s .
I n t h e c o n v o l u t i o n m e t h o d p a r a l l e l i z e d b y o p e r a t i o n p a r a l l e l i s m t h e r e
i s n o s i m u l t a n e o u s i m a g e m e m o r y a c c e s s , a s a l l p i x e l s a r e p r o c e s s e d
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
7/10
36
s e q u e n t i a l l y . A s i m u l t a n e o u s p r o j e c t i o n m e m o r y a c ce s s , o n t h e o t h e r
h a n d, c a n e a s i l y b e a v o i d e d b y s t o r i n g p r o j e c t i o n s i n s e p a r a t e m e m o r y
m o d u l e s .
L e t u s c o n s i d e r t h e c o n v o l u t i o n m e t h o d i n w h i c h b a c k p r o j e c t i o n i s
p a r a l l e l i z e d b y p r o j e c t i o n p a r a l l e l i s m . T h en , i t i s w o r t h n o t i n g t h e
f a ct t h a t b o t h f i l t r a t i o n a n d b a c k p r o j e c t i o n a r e p a r a l l e l i z e d
b y t h e s a m e f o r m o f p a r a l l e l i s m . M o r e o v e r , t h e
b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ) p r o c e d u r e d e m a n d s j u st a
s i n g l e p r o j e c t i o n . T h e r e f o r e , t h e c o n v o l u t i o n m e t h o d c a n b e f o r m u l a t e d
a s f o l l o w s
P R O C c o n v o l u t i o n . p r o j e c t i o n . c o n f l i c t . f r e e . m e m o r y . a c c e s s V AL I N T M, A)
IN T ms, m, a :
P A R m = 0 F O R M
S E Q
p r o j e c t i o n . f i l t r a t i o n m )
S E Q m = 0 F O R M
S E Q ~ a = 0 F O R A
b a c k p r o j e c t io n . o p e r a t i on . s i n g l e . p r oj e c t i o n m ,
a + m + m s ) * A ) R E M A , M) )
T h i s f o r m u l a t i o n o f t h e c o n v o l u t i o n m e t h o d h a s a v e r y c l e a r s t r u c tu r e .
N a m e l y , i t c o n s i s t s o f a n a r r a y of s i m i l a r p r o c e s s e s . I n ad d i t i o n,
t h e r e i s a s i m u l t a n e o u s a c c e s s n e i t h e r t o t he p r o j e c t i o n m e m o r y n o r t o
t h e i m a g e m e m o r y . T h e r e f o r e , t h e c o m p o n e n t p r o c e s s e s a r e s y n c h r o n o u s
a n d th e m e t h o d m a y b e i m p l e m e n t e d o n a S I M D a r c h i t e c t u r e .
5. A R C H I T E C T U R E S F O R T H E P A R A L L E L C O N V O L U T I O N M E T H O D
B a s e d o n t h e a b o v e c o n s i d e r a t i o n s w e w i l l p r o p o s e t w o a r c h i t e c t u r e s
s u i t a b l e f o r t h e p a r a l l e l c o n v o l u t i o n m et h o d .
L e t u s c o n s i d e r t h e c o n v o l u t i o n m e t h o d i n w h i c h b a c k p r o j e c t i o n i s
p a r a l l e l i z e d b y p r o j e c t i o n p a r a l l e l i s m. T h e f in a l f o r m u l a t i o n o f th e
m e t h o d c o n s i s t s o f a n a r r a y o f s i m i l a r p r o c e s s e s . A s s i g n a c o m p o n e n t
p r o c e s s t o a p r o c e s s o r . T h us , t h e p r o c e s s o r s e x e c u t e s y n c h r o n o u s l y i n
a S I M D m o d e t h e s a m e p r o g r a m o n d i f f e r e n t d a ta . F o r th e m - t h p r o c e s s o r
t h e p r o g r a m c o n s i s t s o f t h e f o l l o w i n g s e q u e n c e o f i n s t r u ct i o n s :
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
8/10
36
p r o j e c t i o n . f i l t r a t i o n ( m )
S E Q m = 0 F O R M
S E Q S a = 0 F O R A
b a c k p r o j e c t i o n . o p e r a t i o n . s i n g l e . p r o j e c t i o n ( m ,
( a + ( m + m s ) * A ) R E M ( A , M ) )
N o t e t h a t e a c h p r o c e s s o r d e m a n d s a n a c c e s s j u s t t o o n e m o d u l e o f t h e
p r o j e c t i o n m e m o r y. T h e r e f o r e , w e c a n p r o v i d e t h e p r o c e s s o r s w i t h l o c a l
m e m o r i e s s o t h a t t h e m - t h p r o j e c t i o n m e m o r y m o d u l e P M i s c o n n e c t e d t o
t h e m - t h p r o c e s s o r P m T h i s w a y a m e a s u r e m e n t v e c t o r i s d i s t r i b u t e d
a m o n g l o c a l m e m o r i e s . A r e c o n s t r u c t e d i m a ge , o n t h e o t h e r h a n d , h a s t o
b e k ep t i n g l o b a l m e m o r y , a s e a c h p r o c e s s o r r e q u i r e s a n a c c e s s t o t h e
w h o l e i m a g e m e mo r y . T h e r e f o r e , t h e i m a g e m e m o r y m o d u l e s I Mm ,
m = O . . M -I , h a v e t o b e a c c e s s e d b y p r o c e s s o r s v i a a s w i t c h i n g n e t w o r k .
T h e c o m p l e t e r e c o n s t r u c t e d i m a g e i s w r i t t e n t o t h e i m a g e m e m o r y i n M
i t e r a t io n s . I n t h e l - t h i t e r a t i o n t h e s w i t c h i n g n e t w o r k l i n k s t h e m - t h
p r o c e s s o r w i t h t h e (m + i) m o d M i m a g e m e m o r y m o d u l e . A n a r c h i t e c t u r e
f o r t h e p a r a l l e l c o n v o l u t i o n m e t h o d e x p l o i t i n g p r o j e c t i o n p a r a l l e l i s m
i s p r e s e n t e d i n F ig . i.
I P M o l.... [ . . . . p M 1
I I
s w i t c h i n g n e t w o r k
l , I M M I
F i g u r e i. A n a r c h i t e c t u r e f o r t h e p a r a l l e l c o n v o l u t i o n
m e t h o d e x p l o i t i n g p r o j e c t i o n p a r a l l e l i s m
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
9/10
3 6 3
L e t u s c o n s i d e r t h e c a s e o p p o s i t e t o t h e p r e v i o u s o n e . N a m e l y , a s s u m e
t h a t a m e a s u r e m e n t v e c t o r i s k e p t i n g l o b a l m e m o ry , w h e r e a s a
r e c o n s t r u c t e d i m a g e i s d i s t r i b u t e d a m o n g l o c a l m e m o r i e s . N o t e t h a t
t h i s s i t u a t i o n o c c u r s i n t h e c o n v o l u t i o n m e t h o d i n w h i c h
b a c k p r o j e c t i o n i s p a r a l l e l i z e d b y p i x e l p a r a l l e l i s m . T h u s, t h e m - t h
p r o c e s s o r e x e c u t e s t h e f o l l o w i n g p r o g r a m
p r o j e c t i o n . f i l t r a t i o n m )
S E Q a = 0 F O R A
b a c k p r o j e c t i o n . c o n f l ic t . f r e e . p r o j e c t i o n . m e m or y . a c c e s s a , m )
T h e p r o j e c t i o n d a t a a r e r e a d i n M i t e r a t i o n s. I n t h e l - t h i t e r a t i o n
t h e s w i t c h i n g n e t w o r k l i n k s t h e m - t h p r o c e s s o r w i t h t h e m + i) m o d M
p r o j e c t i o n m e m o r y m o d u l e . A n a r c h i t e c t u r e f o r t h e p a r a l l e l c o n v o l u t i o n
m e t h o d m a k i n g u s e o f p i x e l p a r a l l e l i s m i s p r e s e n t e d i n F ig . 2.
P M
P M 1
s w itc h i n g n e t w o r k
IM ° 1 IM I
I M M - t
P M M I I
F i g u r e 2 . A n a r c h i t e c t u r e f o r t h e p a r a l l e l c o n v o l u t i o n
m e t h o d m a k i n g u s e o f p i x e l p a r a l l e l i s m
B o t h a r c h i t e c t u r e s p r e s e n t e d a b o v e h a v e t h e s a m e c o m p o n e n t s , i .e .,
t h e y c o n t a i n M p r o c e s s o r s , M p r o j e c t i o n m e m o r y m o du l e s , M i m a g e m e m o r y
8/20/2019 1990 Parallel Implementation of the Convolution Method in Image Reconstruction
10/10
64
m o d u l e s , a n d t h e s w i t c h i n g n e t w o r k. F u r t h e r m o r e , t h e p r o c e s s o r s
p e r f o r m t h e sa m e f u n c ti o n s , i .e . , f i l t r a t i o n o f p r o j e c t i o n s a n d
c a l c u l a t i o n o f t h e d e n s i t y f o r a l l p i x el s . N o t e t h a t t h e a r c h i t e c t u r e s
a l l o w t o a t t a i n t h e s a m e s p e e d u p M p r o v i d e d t h a t t h e m e m o r y a c c e s s
t i m e s f o r s e q u e n t i a l a n d p a r a l l e l p r o c e s s i n g a r e e q ua l . I n s p i t e o f
t h e s e c o m m o n f e a t u r es , t h e r e e x is t s a n e s s e n t i a l d i f f e r e n c e b e t w e e n
t h e s e a r c h i t e c t u r e s . T h e a r c h i t e c t u r e e x p l o i t i n g p r o j e c t i o n
p a r a l l e l i s m s u m s t h e c o n t r i b u t i o n s o f t h e p r o j e c t i o n s t o t h e i m a g e
d e n si t y, w h e r e a s t h e a r c h i t e c t u r e m a k i n g u s e o f p i x e l p a r a l l e l i s m
c a l c u l a t e s t h e c o m p l e t e d e n s i t y . T h e r e f o r e , t h e f o r m e r a r c h i t e c t u r e
r e q u i r e s M t i me s m o r e a c c e s s e s t o t h e i m a g e m e m o r y t h a n t h e l a t t e r
a nd , c o n s e q u e n t l y , r e s u l t s i n s l o w e r r e c o n s t r u c t i o n .
R E F E R E N C E S
[i] H E R M A N , G . T. e d .) : I m a g e R e c o n s t r u c t i o n f r o m P r o j e c t i o n s .
I m p l e m e n t a t i o n a n d A p p l i c a t i o n s . S p r i n g e r - V e r l a g , B e r l i n 1 97 9 .
[2] H E R M A N , G . T .: I m a g e R e c o n s t r u c t i o n f r o m P r o j e c t i o n s . T h e
F u n d a m e n t a l s o f C o m p u t e r i z e d T o m o g r a p h y . A c a d e m i c P r e s s, N e w Y o r k
1980.
[3] N A T T E R E R , F .: T h e M a t h e m a t i c s o f C o m p u t e r i z e d T o m o g r a p h y . W i l l e y ,
N e w Y o r k 1 9 86 .
[4] N O W I N S K I, W . L o : I m a g e r e c o n s t r u c t i o n m e t h o d s a n d a t o o l f o r t h e i r
i n v e s t i g a t i o n . J o u r n a l o f N e w G e n e r a t i o n C o m p u t e r S y st e m s , V o l . i ,
No. 4, 1988, 327-352.
[5] N O W I ~ SK I , W . L . : S o m e n o t e s o n p a r a l l e l i s m i n i m a g e r e c o n s t r u c t i o n .
I n s t i t u t e o f C o m p u t e r S c i e n c e o f P o l i s h A c a d e m y o f S c i e n c e s
R e p o r t s , 6 5 2 , 1 9 8 9 , 1 - 5 2 .
[6J P O U T A I N , D. : A t u t o r i a l i n t r o d u c t i o n t o o c c a m p r o g r a m m i n g . I n m o s
Ltd., 1987.