# Question about PET scanner \`info\` parameters

**URL:** <https://pytomography.discourse.group/t/question-about-pet-scanner-info-parameters/108>\
**Category:** Usage Questions\
**Created:** [December 16, 2025, 3:47am UTC](https://pytomography.discourse.group/t/question-about-pet-scanner-info-parameters/108 "2025-12-16T03:47:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ml-w](https://avatars.discourse-cdn.com/v4/letter/m/51bf81/32.png) [@ml-w](https://pytomography.discourse.group/u/ml-w)\
**Post date:** [December 16, 2025, 3:47am UTC](https://pytomography.discourse.group/t/question-about-pet-scanner-info-parameters/108/1 "2025-12-16T03:47:33Z")

</div>

I am trying to follow the reconstruction tutorial but encounter some issues with setting up the `info` parameter: [GATE (Listmode Reconstruction; Without Time of Flight) — PyTomography 3.4.0 documentation](https://pytomography.readthedocs.io/en/latest/notebooks/t_PETGATE_scat_lm.html)

I wonder if there’s more information on what are the individual attributes listed here means:

```python
{'min_rsector_difference': 0,
 'crystal_length': 20.0,
 'radius': 337.0,
 'crystalTransNr': 8,
 'crystalTransSpacing': 4.0,
 'crystalAxialNr': 8,
 'crystalAxialSpacing': 4.0,
 'submoduleAxialNr': 1,
 'submoduleAxialSpacing': 0,
 'submoduleTransNr': 1,
 'submoduleTransSpacing': 0,
 'moduleTransNr': 1,
 'moduleTransSpacing': 0.0,
 'moduleAxialNr': 8,
 'moduleAxialSpacing': 32.25,
 'rsectorTransNr': 56,
 'rsectorAxialNr': 1,
 'NrCrystalsPerRing': 448,
 'NrRings': 64,
 'firstCrystalAxis': 1}

```

I am a bit confused by NrCrystalPerRing and NrRings in particular

---

<div class="post-metadata">

**Author:** ![jdefowler](https://avatars.discourse-cdn.com/v4/letter/j/f08c70/32.png) [@jdefowler](https://pytomography.discourse.group/u/jdefowler)\
**Post date:** [January 13, 2026, 2:56am UTC](https://pytomography.discourse.group/t/question-about-pet-scanner-info-parameters/108/2 "2026-01-13T02:56:04Z")

</div>

The geometry definitions are based on the CylindricalPET convention in GATE. See the OpenGATE documentation [here](https://opengate.readthedocs.io/en/latest/defining_a_system_scanner_ct_pet_spect_optical.html#), specifically sections 1.1 and 1.4.3. NrCrystalPerRing and NrRings are actually extras here and contain redundant information. NrCrystalPerRing is the number of crystals going around the bore of the scanner and NrRings is the number of rings of crystals in the axial direction of the scanner. If you multiply these two, you would get the total number of crystals in the scanner. Below, you can see how they are redundant and can be calculated from the other parameters:

info[‘NrCrystalsPerRing’] = info[‘crystalTransNr’] \* info[‘moduleTransNr’] \* info[‘submoduleTransNr’] \* info[‘rsectorTransNr’]  
info[‘NrRings’] = info[‘crystalAxialNr’] \* info[‘submoduleAxialNr’] \* info[‘moduleAxialNr’] \* info[‘rsectorAxialNr’]

Hope this helps!
