gschramm/parallelproj

correct TOF start/end ranges and normalize TOF kernel

Closed this issue · 0 comments

  • right now we calculate relevant TOF bins (sino mode) and start and stop positions (listmode) based on "n * sigma_tof"
  • this is not correct if the tofbin width >> sigma tof
  • TOF kernel is also not normalized (because it is truncated)

proposed fix

  1. use "effective sigma" when calculating start and stop ranges -> sqrt(sig_tof^2 + (binwidth^2) / 12)
  2. calculate missing part of Gaussian integral due to truncation:
    truncated_int = erf((num_sig * sig_eff + 0.5 * binwidth) / (sqrt(2) * sig_eff))
    or
    truncated_int = erf((num_sig * sig_eff) / (sqrt(2) * sig_eff)) = erf(num_sig/sqrt(2))

proposed new tests

  • fwd project point in non-tof and tof sinomode + check wether sum over tofbins is non-tof