[Gate-users] ECAT7 output with user defined scanner

Kris Thielemans kris.f.thielemans at gmail.com
Sun Oct 6 14:36:56 CEST 2013


Hi Johannes,
Claude is correct. One way to handle this is to use STIR's
ifheaders_for_ecat7 utility to get Interfile headers "pointing" into your
ECAT 7 header. You can then edit these by hand (or by script) to correct the
info. 

You can find some info  on the STIR wiki, including
http://sourceforge.net/apps/mediawiki/stir/index.php?title=STIR_FAQ#How_do_I
_add_my_own_scanner_to_STIR.3F

Kris

> -----Original Message-----
> From: gate-users-bounces at lists.opengatecollaboration.org [mailto:gate-
> users-bounces at lists.opengatecollaboration.org] On Behalf Of COMTAT
> Claude
> Sent: 02 October 2013 10:21
> To: gate-users at lists.opengatecollaboration.org
> Subject: Re: [Gate-users] ECAT7 output with user defined scanner
> 
> Hi Johannes,
> 
> 
> 
> The problem is that some data that are required to reconstruct an image
are
> missing in the ECAT7 header. An example is the ring diameter. It is not
> possible to store the ring diameter in a ECAT7 file (neither the number of
> detectors per ring).
> 
> As STIR requires this information, it has a database for each known
scanner
> model.  What is printed at the end of your email is not the content of the
> ECAT7 header, but the content of STIR database:
> 
> 
> 
> WARNING: ECAT7 IO: Bin size from header.x_resolution (2.00714) does not
> agree with expected value 2.25
> 
> for scanner ECAT 962. Using bin size from header...
> 
> Info for file yourSinogram.S
> 
> ProjDataInfoCylindricalNoArcCorr :=
> 
> Scanner parameters:=
> 
> Scanner type := ECAT 962
> 
> Number of rings                          := 32
> 
> Number of detectors per ring             := 576
> 
> Inner ring diameter (cm)                 := 82.4
> 
> Average depth of interaction (cm)        := 0.7
> 
> Distance between rings (cm)              := 0.485
> 
> Default bin size (cm)                    := 0.200714
> 
> View offset (degrees)                    := 0
> 
> Maximum number of non-arc-corrected bins := 288
> 
> Default number of arc-corrected bins     := 288
> 
> Number of blocks per bucket in transaxial direction         := 3
> 
> Number of blocks per bucket in axial direction              := 4
> 
> Number of crystals per block in axial direction             := 8
> 
> Number of crystals per block in transaxial direction        := 8
> 
> Number of detector layers                                   := 1
> 
> Number of crystals per singles unit in axial direction      := 8
> 
> Number of crystals per singles unit in transaxial direction := 24
> 
> end scanner parameters:=
> 
> 
> 
> As you set the scanner model to zero in your ECAT7 file
> (#/gate/output/ecat7/system 962  ), STIR does not recognize it. As a
> consequence, STIR assumes it is an HR+ (default scanner):
> 
> 
> 
> WARNING: ECAT7 IO: Couldn't determine the scanner
> 
> (Main_header.system_type=0), defaulting to 962.
> 
> This might give dramatic problems.
> 
> 
> 
> You should define a new scanner model ID in GATE, like
> /gate/output/ecat7/system 492,   and create in STIR the corresponding
> database. I do not know how to create your own database in STIR.
> 
> 
> 
> Claude
> 
> 
> 
> De : gate-users-bounces at lists.opengatecollaboration.org [mailto:gate-
> users-bounces at lists.opengatecollaboration.org] De la part de Johannes
> Anderl
> Envoyé : mercredi 2 octobre 2013 10:49
> À : gate-users at lists.opengatecollaboration.org
> Objet : [Gate-users] ECAT7 output with user defined scanner
> 
> 
> 
> Dear all,
> 
> I have a problem concerning the ECAT7 Output.
> I would like to simulate a user defined scanner and not the E962 scanner
> type.
> The created yourSinogram.S file still contains the default values (ring
> diameter, detectors per ring,...)  for the E962 scanner model.
> Is there a possbility to get this ECAT7 *.S output with the user defined
> scanner values?
> 
> The code for the user defined scanner type can be seen below:
> 
> /gate/world/daughters/name ecat
> /gate/world/daughters/insert cylinder
> /gate/ecat/setMaterial Air
> /gate/ecat/geometry/setRmax 44.1 cm
> /gate/ecat/geometry/setRmin 42.1 cm
> /gate/ecat/geometry/setHeight 21.7685 cm
> /gate/ecat/vis/forceWireframe
> 
> #     B L O C K
> /gate/ecat/daughters/name block
> /gate/ecat/daughters/insert box
> /gate/block/placement/setTranslation 431.0 0.0 0.0 mm
> /gate/block/geometry/setXLength 20.0 mm
> /gate/block/geometry/setYLength 52.17127 mm
> /gate/block/geometry/setZLength 52.17127 mm
> /gate/block/setMaterial Air
> /gate/block/vis/forceWireframe
> 
> # C R Y S T A L
> /gate/block/daughters/name crystal
> /gate/block/daughters/insert box
> /gate/crystal/geometry/setXLength 20.0 mm
> /gate/crystal/geometry/setYLength 4 mm
> /gate/crystal/geometry/setZLength 4 mm
> /gate/crystal/setMaterial LSO
> /gate/crystal/vis/setColor yellow
> 
> # R E P E A T    C R Y S T A L
> /gate/crystal/repeaters/insert cubicArray
> /gate/crystal/cubicArray/setRepeatNumberX 1
> /gate/crystal/cubicArray/setRepeatNumberY 13
> /gate/crystal/cubicArray/setRepeatNumberZ 13
> /gate/crystal/cubicArray/setRepeatVector 0. 4.0142725 4.0142725 mm
> 
> # R E P E A T    BLOCK (reproduziert die Box entlang eines Rings)
> /gate/block/repeaters/insert linear
> /gate/block/linear/setRepeatNumber 4
> /gate/block/linear/setRepeatVector 0. 0. 55.17127 mm
> /gate/block/repeaters/insert ring
> /gate/block/ring/setRepeatNumber 48
> 
> The ecat7 code can be seen below:
> 
> /gate/output/ecat7/enable
> /gate/output/ecat7/verbose 2
> /gate/output/ecat7/setFileName yourSinogram
> /gate/output/ecat7/describe
> /gate/output/ecat7/mashing 2
> /gate/output/ecat7/span 103
> /gate/output/ecat7/maxringdiff 51
> #/gate/output/ecat7/system 962
> 
> Looking at the values from the yoursinogram.S using list_projdata_info
from
> STIR shows:
> 
> 
> WARNING: ECAT7 IO: Couldn't determine the scanner
> (Main_header.system_type=0), defaulting to 962.
> This might give dramatic problems.
> 
> 
> WARNING: ECAT7 IO: Bin size from header.x_resolution (2.00714) does not
> agree with expected value 2.25
> for scanner ECAT 962. Using bin size from header...
> Info for file yourSinogram.S
> ProjDataInfoCylindricalNoArcCorr :=
> Scanner parameters:=
> Scanner type := ECAT 962
> Number of rings                          := 32
> Number of detectors per ring             := 576
> Inner ring diameter (cm)                 := 82.4
> Average depth of interaction (cm)        := 0.7
> Distance between rings (cm)              := 0.485
> Default bin size (cm)                    := 0.200714
> View offset (degrees)                    := 0
> Maximum number of non-arc-corrected bins := 288
> Default number of arc-corrected bins     := 288
> Number of blocks per bucket in transaxial direction         := 3
> Number of blocks per bucket in axial direction              := 4
> Number of crystals per block in axial direction             := 8
> Number of crystals per block in transaxial direction        := 8
> Number of detector layers                                   := 1
> Number of crystals per singles unit in axial direction      := 8
> Number of crystals per singles unit in transaxial direction := 24
> end scanner parameters:=
> 
> 
> Thanks in advance,
> 
> Johannes
> 




More information about the Gate-users mailing list