# Filtered backprojection implementatoin

I am wondering the detail of the filtered backprojection.

Suppose I have a projection file:

$p(s,\theta)$=[1 2 3 1 2]

Then to get its filtered backprojection version using ramp filter, I should

1. apply FFT to it, to get its Fourier version $P(\omega,\theta)$
2. To use |$\omega$| to multiply $P(\omega,\theta)$
3. Backprojection

I am a little confused at second step here.

Using the numeric example above, to apply FFT to [1 2 3 1 2], we will get a complex sequence

   9.0000 + 0.0000i
-1.0000 - 1.1756i
-1.0000 + 1.9021i
-1.0000 - 1.9021i
-1.0000 + 1.1756i


Should I apply |$\omega$| to both real and complex part of the sequence above, then do inverse FFT? Or should I only take the magnitude of above sequence, apply |$\omega$| to the magnitude, then do inverse FFT?

Either way, it seems I will get a complex sequence as the final results, but shouldn't the filtered projection be a real sequence? Anyone give me some pointers here? Thanks