Selfwrited point spread function (PSF changes according to the incident angle)

Dear CASToR Users and Developers,

We design a small-caliber PET system that has serious DOI parallactic error. With the help of CASToR, right now I reconstructed 7 point sources placed in different offsets which showed in the attachment. Obviously, the point on the far right deteriorated seriously. Since I used 0.79mm(crystal size) FWHM isotropic Gaussian kernel function as PSF in castor-recon command, detector responses caused by different incident angles are not considered. So I need to design a dynamic PSF with single-photon incidence response instead of Static symmetric Gaussian distribution as the PSF to generate the system matrix on the fly.
Does anyone know how I can make this? Because I just find out how to change the standard normal distribution into another static distribution function, fail to relate the current LOR to the distribution function. Any reply will be appreciated.

Thank you in advance,
Dimitris Thanasas


Currently, you cannot relate a specific convolution kernel to each LOR.

In terms of computation efficiency, it would be dramatic.

You can however implement a non-stationary image-based PSF module. The convolution module in CASToR has been made generic enough to allow for multiple convolution kernels to be used. You will have to implement a way of computing these kernels (or read these) and overload the Convolve and ConvolveTranspose functions to be aware of what kernel to be used with what voxel depending on its position in the space.