Castor-norm Inputs

Hello Everyone,

In castor-norm utility, we need to pass the true image as input using the following command

-img path_to_img.hdr

I have two questions regarding this file:

1- Does anyone know how we can construct/create this image? Is there any tool/software for this?

2- In order to correctly calculate normalization factors, the true image should be the same as the normalization phantom, right? Hence, the header file should have almost the same key and values as reconstructed image of a phantom for the same scanner, right? By key and value, I mean parameters and their set values as listed on Listing 5 of the general documentation at page 44.

Listing 5: Interfile header mandatory keys for reading
1 ! name of data file := img_name .img
2 ! total number of images := 47
3 imagedata byte order := LITTLEENDIAN
4 number of dimensions := 3
5 ! matrix size [1] := 256
6 ! matrix size [2] := 256
7 ! matrix size [3] := 50
8 ! number format := short float
9 ! number of bytes per pixel := 4
10 scaling factor (mm/ pixel ) [1] := 4
11 scaling factor (mm/ pixel ) [2] := 4
12 scaling factor (mm/ pixel ) [3] := 4
13 image duration (sec) := 1

Best,
Seyyed

Hello Syyed,

1- the easiest would be to write a small code in python to generate the image if the phantom can be described by simple geometric shapes (like a ring).
2- I do not see why the phantom image shall have the same scaling factors and matrix sizes as the reconstructed image, in particular if your normalization phantom lies just outside the scanner FOV.

Best,

Claude

Dear Claude,

a) Thanks for your response. I think there was a little bit of ambiguity in my second question. I meant the image format should be like a 3D castor reconstructed image (binary .img file and a header .hdr file), right?

b) In addition, as per my understanding castor-includeNormIntoDatafilePET works only for histogram mode only and not the list mode, right?

Best,
Seyyed

Hi Seyyed,

a. Yes, same format. No software but the image is just a raw binary file with an interfile text header.

b. It should work from both. From what I remember it stores all the normalization factors in an array, loops over the events of the datafile to modify and populates the events whose normalization factors have been provided with new values.

Best,
Thibaut