Sensivity Image - parameters to change; Slow simulation

Dear CASToR users and developers,

We have a system with a large number of elements, which correspond on a extremely large sensitivity image generation time! (around hours).

Thus asking if after a calculation of one sensitivity image, which reconstruction parameters can I change to reuse the previous sensitivity image.

From the documentation and deduction, I took that besides the FOV size, voxel size, offset, optimizer, project and of course the geometry/structure of the system, is there another others? -conv? -it? dataset number?

Also, is there a way to save time when calculating the sensitivity image, I’m already using OMP (is there a way to confirm if it is indeed using multithreading?) and MPI - but was not working; after calculating and reached to 99%, it didn’t continue nor ended, don’t know why?.

Thank you very much in advance for the help,
Miguel

Hi Miguel,
Indeed, for list-mode data the sensitivity image will depend on all the parameters you stated as well as the -conv option with the sieve and psf mode. It is not dependent on the iteration number (-it) as it is computed once, before the reconstruction step. It also include voxelwise attenuation correction coefficients so it is dependent on -atn, or if the dataset contains multiplicative correction factors (acf or normalization). The sensitivity image will be the same for different dataset which do not contain these factors (providing the reconstruction parameters are similar).

This image is generated by projecting all possible lines of response in your geometry, regardless on any geometrical restrictions (by default). Usually, several lors are not considered by your system and could unnecessarily increase the computing time. A normalization datafile (see section 6.1 of the documentation) could allow to describe the whole set of operational data channels in the system and skipping the “useless” lors. Depending on your geometry, this could result in an increase of computing time. Alternatively Maximum axial difference mm and min angle difference are datafile and system parameters which can be used to define geometric restrictions (see sections 5.1.1 and 6.1.1 of the documentation).

Regarding your MPI error, did you have any error message or did it just stalled without any indication ?

Hope this helps,
Thibaut

Hi Thibaut,

Thank you very much for the help! Since I don’t have those extra factors, the sensitivity image does not depend on it.

Regarding the geometry, I will take a look at those parameters for restriction.

In the MPI error, I tested it again, but it took ~30-45min to reach the 99% but it just stalled (did not appear any other indication) for another ~15-30min or more, it varies!, to continue into the reconstruction. Is this normal?

Thanks,
Miguel

Hi Miguel,
Regarding the stalling, the progression output is generated by the machine with MPI rank #0. Perhaps there is some unbalance in the time each MPI instance process their share of work. It would be worth to check if one or several machines are still working when the progression reaches 99%.

Best,
Thibaut