Normalization

Hi All,

I am trying to reconstruct a dataset with the normalization correction factors included in the listmode data. I am getting the following error when I submit for reconstruction:

***** The following error message was issued by MPI instance 0

***** oSensitivityGenerator::InitializeNormalizationFiles() → Normalization correction is included in the data file while it is not in the sensitivity computation !

Here is the reconstruction command:

castor-recon -df LM_df.Cdh -opti MLEM -it 2:4 -proj joseph -dim 256,256,309 -vox 2.73,2.73,1.6 -dout my_images

Please notice that I don’t have a sensitivity image.

Any help would be very appreciated.

Regards,

Sadek

Hi All,

I am trying to reconstruct a dataset with the normalization correction factors included in the listmode data. I am getting the following error when I submit for reconstruction:

***** The following error message was issued by MPI instance 0

***** oSensitivityGenerator::InitializeNormalizationFiles() → Normalization correction is included in the data file while it is not in the sensitivity computation !

Here is the reconstruction command:

castor-recon -df LM_df.Cdh -opti MLEM -it 2:4 -proj joseph -dim 256,256,309 -vox 2.73,2.73,1.6 -dout my_images

Please notice that I don’t have a sensitivity image.

Any help would be very appreciated.

Regards,

Sadek

Hi Sadek,

If you look at an MLEM equation, it does not make sense to include normalization factor in the system matrix in the right part of the equation but not in the left part (where the sensitivity is taken into account).

When you perform a list-mode reconstruction, a sensitivity image has to be computed from all possible lines of response that may contribute to the list-mode file.

So there is a sensitivity image; either you provided it, or it is computed by looping on all crystal pairs or on events from a normalization datafile if provided.

If you include normalization correction factors in the list-mode file, it means that you are able to know the normalization correction factor for any possible crystal pair admissible in the list-mode file.

From these normalization factors, you have to build a normalization datafile that contains the list of any admissible line of response with the associated normalization factor (this type of datafile is described in the documentation).

Then you provide this normalization datafile using ‘-norm’ option to castor, so that it will loop on it to compute the sensitivity image.

And the error message will disappear.

Simon

Thank you Marina and Simon for your feedback.

The way this is described in table 3 of the userguide sounds as if the user has the option to either pass the norm factors for each crystals pair within the LM file, or as a separate norm file, and then Castor takes care of the rest; i.e. it has nothing to do with the MLEM equation. Thank you for the clarification.

Regards,

Sadek

OK thanks for this feedback, we will try to improve it.

Simon

Hi Simon,

I would appreciate your input on one additional task please. I want to reconstruct the LM data with a span>1? I am writing for every event all the possible crystal pairs, and in case the number of LOR’s is less than “k” (as described in table 3) I write “garbage” with both ID1 and ID2 equal to zero. My norm file has the same format in addition to the normalization correction factor for each crystal pair. I also set the “Maximum number of lines per event” to the proper maximum number of crystal pair in the .cdh file. Does this sound right?

Thanks,

Sadek

Yes, except that you should have one mean normalization factor for the group of crystal pairs, not for each.

Simon