How to apply attenuation correction for PET reconstruction using GATE root data

Hi all,

I am trying to reconstruct a GATE root file (PET).
I want to apply attenuation correction and reconstruct it. The manual states I need an attenuation image, how do I create it ? The phantom was designed on a GATE and no CT images were acquired. There are many unclear points such as image format, number of pixels, number of slices, alignment, etc. Can I create the attenuation image using a root file or mac file?

Any advice is appreciated.

Best regards,

Hi Suguru,

Attenuation image must be in interfile format, and must be in cm-1. The dimensions/voxel sizes will be interpolated to the reconstruction image dimensions, so you don’t need to provide an image with the exact same dimensions than for the reconstruction. Additionally, you should make sure that the reconstruction image dimensions are large enough to include all attenuated materials of the attenuation image, otherwise the attenuation correction will be incorrect.

Regarding the image itself, you should generate it from the geometry of the phantom you use in the GATE simulation, or derive it directly from the phantom image if you used a voxelized phantom.

Hope this helps,

Thibaut

Dear Thibaut Merlin,

Thank you for your quick response.

Successfully, I made the attenuation image. Then, I made **.cdh and **.cdf with attenuaton correrction using castor-GATERootToCastor (This is list-mode format for reconstructing with scatter and random correction).

When I run castor-recon, the message below was displayed.

***** oSensitivityGenerator::InitializeAttenuationFiles() → Attenuation correction is included in the data file while it is not in the sensitivity computation !
***** oSensitivityGenerator::Initialize() → A problem occurred while initializing the attenuation files !
***** castor-recon() → A problem occurred while initializing the sensitivity generator !

I know that the attenuation image MUST be providen to the castor-recon exe as well, in order to perform sensitivity image computation for PET list-mode. How should I provide attenuation image to reconstruct the data?

Thank you in advance.
Best regards,

Suguru

2020年6月30日(火) 0:00 tmerlin <Thibaut.Merlin@univ-brest.fr>:

Dear Suguru,

Simply use the “-atn” option in castor-recon to give it the attenuation image you created.

In a very general manner, to get help for all options, just launch castor-recon without arguments.

Then it provides all specific options to get specific help about many themes.

For you, “castor-recon -help-in” provides helps for all options about input files.

Best

Simon

Hi Suguru,

I am also curious about how to generate the attenuation correction image and have a few questions, could you share some experience about that?

  1. Which kind of phantom are you using? Normal phantom or voxelized phantom?
  2. What tool did you use for generating the attenuation image? GATE or CASToR?

Any reply will be highly appreciated! Thank you!

Best,

Hi, Xinjie

  1. Which kind of phantom are you using? Normal phantom or voxelized phantom?
    I made normal phantom.

  2. What tool did you use for generating the attenuation image? GATE or CASToR?
    Attenuation image was generated outside the CASToR. I made attenuation image using ImageJ.
    In ImageJ,
    File > New > Image: A fresh stack image is opened.
    Image > properties: Set the pixel size
    Edit > Selection > Specify: Set regions
    Process > Math > Add: Add the attenuation coefficient
    File > save As > Raw Data

ImageJ didn’t seem to support interfile format without a plugin. So I used AMIDE to convert the file format.
In AMIDE,
File > Import File(Specify) > Raw Data
File > Export Data Set

It may not be a very wise approach. I hope this helps you.

Best regards,
Suguru

2020年7月16日(木) 5:30 Suguru Katsube <sug.katsu@gmail.com>:

Hi Tmerlin,

I am also curious about how to generate the attenuation map for reconstruction of GATE simulation results. Regarding your mention about image generation, ‘you should generate it from the geometry of the phantom you use in the GATE simulation, or derive it directly from the phantom image if you used a voxelized phantom’, could you give a detailed guide or recommendation for that? Like how do we derive it directly from the voxelized phantom or geometry of the normal phantom in GATE? Thanks!

Best,
Xinjie

Hi Xinjie,

Thank you for your advice for converting format.

does this process ‘Process > Math > Add: Add the attenuation coefficient’ need any outer info or it did calculation based on the image you input?

Attenuation coefficients were outer information. I looked it up on XCOM. I am simulating a simple structure phantom like the NEMA phantom and consist of two materials, water and air. Thus, it was not difficult to add the values manually. For complex phantoms, adding the attenuation coefficient may be a bit complicated.

Best,
Suguru

2020年7月16日(木) 23:51 Xinjie Cao <xinjie.cao@stonybrook.edu>: