Research Article

Mapping Iterative Medical Imaging Algorithm on Cell Accelerator

Algorithm 2

Parallel OS-SART on SPE.
Require: receive related environment variables from PPE, is the total number of SPEs used, is the total number of projections,
is the total number of subsets,
(1)   {n is the one dimension size of the image, rowsPerDMA is the number of rows of the image
for each DMA transfer.}
(2) while ( ) do
(3)  for to   do
(4)    wait for and receive messages from PPE to start new subset ;
(5)    {go through forward projection, correction, backprojection step for assigned projections in the subset
(6)   for to   do
(7)    {forward projection}
(8)     locate the projection index for the current SPE and ;
(9)     rotate the current image clockwise by the corresponding angle for projection ;
(10)    for to   do
(11)      DMAin related data from the main memory, including the base weighting factors matrix, the current image;
(12)      calculate and accumulate the raysums for the forward projection step in SIMD way;
(13)    end for
(14)     {corrections}
(15)     calculate and accumulate the raysum corrections;
(16)     {bacprojection}
(17)    for to   do
(18)      DMAin related data, including the weighting factors;
(19)      calculate and accumulate backprojection for each pixel in SIMD way;
(20)      DMAout the backprojection data;
(21)    end for
(22)     rotate the image counter clockwise by the corresponding angles for the projectin ;
(23)   end for
(24)   end for
(25) end while