[gate-users] Re: gate-users Digest, Vol 16, Issue 25

Christian Wietholt cwietholt at nhri.org.tw
Mon Jul 25 13:01:34 CEST 2005


Hi Sebastien, 

Thank you so much for your reply and offering your help. I still could not 
figure out how to get the digitizer blurring to work. I am already wondering 
if the digitizer blurring is enabled in the interfile output function, or 
wether I will have to use the singles.dat file and the supplied C programs to 
generate the correct projection images. 

Please find attached to this email my most current version of the macro file. 

Thanks again, 

Christian



On Monday 25 July 2005 18:02, gate-users-request at lphe1pet1.epfl.ch wrote:
> Send gate-users mailing list submissions to
> 	gate-users at lphe1pet1.epfl.ch
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users
>
> Please use the GATE's site webmaster e-mail to  reach the person
> managing the list.
>
>
> Today's Topics:
>
>    1. Re: SPblurring (Sebastien JAN)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 25 Jul 2005 11:39:55 +0200
> From: Sebastien JAN <jan at shfj.cea.fr>
> Subject: Re: [gate-users] SPblurring
> To: GATE feedback and helpline for Users
> 	<gate-users at lphe1pet1.epfl.ch>
> Message-ID: <42E4B36B.3080306 at shfj.cea.fr>
> Content-Type: text/plain; charset=iso-8859-1; format=flowed
>
> Hi ,
>
> Can you send me your macro please ?
>
> seb
>
> Christian Wietholt a écrit:
> > Dear Gate Users,
> >
> > After I submitted my question about SPblurring, I realized that
> > I should first initialize and then set up the detector. I did so, and
> > the Gate ouput on the command shell was completely different,
> > but still no detector spatial blurr in the projection images. What
> > am I doing wrong? Anybody has a suggestion what I could try
> > next?
> >
> > Christian
> > _______________________________________________
> > gate-users mailing list
> > gate-users at lphe1pet1.epfl.ch
> > http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users
>
> ------------------------------
>
> _______________________________________________
> gate-users mailing list
> gate-users at lphe1pet1.epfl.ch
> http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users
>
> End of gate-users Digest, Vol 16, Issue 25
> ******************************************
-------------- next part --------------
#############################################
# V I S U A L I S A T I O N
/control/execute visu.mac

/tracking/storeTrajectory 1
/gate/geometry/enableAutoUpdate

#############################################
# V E R B O S I T Y
/gate/output/verbose 2

#############################################
# W O R L D
# Define the world dimensions
/gate/world/geometry/setXLength 1000 mm
/gate/world/geometry/setYLength 1000 mm
/gate/world/geometry/setZLength 1000 mm

#############################################
# S C A N N E R   H E A D 
# Create a new box representing the main 
# head-volume SPECThead is the name of the 
# predefined SPECT system Create the SPECT 
# system, which will yield an Interfile output 
# of projection data
/gate/world/daughters/name SPECThead
/gate/world/daughters/insert box

# Define the dimensions of the main volume
/gate/SPECThead/geometry/setXLength 300. mm
/gate/SPECThead/geometry/setYLength 300. mm
/gate/SPECThead/geometry/setZLength 300. mm

# Define the position of the main volume
# Move the head 9 cm away from the Z axis, 
# which is the rotation axis and the 
# replication axis
/gate/SPECThead/placement/setTranslation  200. 0. 0. mm

# Set the material associated with the main volume
/gate/SPECThead/setMaterial Air
/gate/SPECThead/attachPhantomSD

# Define the rotation speed of the head 
# Define the orbiting around the Z axis
/gate/SPECThead/moves/insert orbiting
/gate/SPECThead/orbiting/setSpeed 0.5625 deg/s
/gate/SPECThead/orbiting/setPoint1 0. 0. 0. mm
/gate/SPECThead/orbiting/setPoint2 0. 0. 1. mm

# Define some visualisation options
/gate/SPECThead/vis/forceWireframe

# Shielding
# Create the shielding volume
/gate/SPECThead/daughters/name shielding
/gate/SPECThead/daughters/insert box

# Define the dimensions of the shielding volume
/gate/shielding/geometry/setXLength 300. mm
/gate/shielding/geometry/setYLength 300. mm
/gate/shielding/geometry/setZLength 300. mm

# Define the position of the shielding volume
/gate/shielding/placement/setTranslation  0. 0. 0. mm

# Set the material corresponding to the 
# shielding volume
/gate/shielding/setMaterial Lead

# Define some visualisation options
/gate/shielding/vis/setColor red
/gate/shielding/vis/forceWireframe

# Attach phantom SD to record Compton 
# interactions in the shielding volume
# Needed to discriminate between scattered 
# and unscattered photons
/gate/shielding/attachPhantomSD


#############################################
# C O L L I M A T O R
# Create a full volume defining the shape 
# of the collimator
/gate/SPECThead/daughters/name collimator
/gate/SPECThead/daughters/insert box

/gate/collimator/geometry/setXLength 20. mm 
/gate/collimator/geometry/setYLength 300. mm 
/gate/collimator/geometry/setZLength 300. mm 

/gate/collimator/setMaterial Lead
/gate/collimator/placement/setTranslation -140. 0. 0. mm

/gate/collimator/vis/forceWireframe
/gate/collimator/vis/setColor red

# Attach PhantomSD to record Compton 
# interactions in the collimator volume
/gate/collimator/attachPhantomSD

#############################################
# P I N H O L E
# Insert the pinhole in the collimator
/gate/collimator/daughters/name hole
/gate/collimator/daughters/insert cylinder
/gate/hole/geometry/setHeight 20. mm
/gate/hole/geometry/setRmax 2.5 mm
/gate/hole/placement/alignToX
/gate/hole/setMaterial Air
/gate/hole/vis/forceSolid

/gate/collimator/daughters/name cone1
/gate/collimator/daughters/insert cone
#/gate/cone1/geometry/setHeight 7.5 mm
/gate/cone1/geometry/setHeight 9 mm
/gate/cone1/geometry/setRmax1 10. mm
/gate/cone1/geometry/setRmax2 2.5 mm
#/gate/cone1/placement/setTranslation -6.25 0 0 mm
/gate/cone1/placement/setTranslation -5.5 0 0 mm
/gate/cone1/placement/alignToX
/gate/cone1/setMaterial Air
/gate/cone1/vis/forceSolid

/gate/collimator/daughters/name cone2
/gate/collimator/daughters/insert cone
#/gate/cone2/geometry/setHeight 7.5 mm
/gate/cone2/geometry/setHeight 9 mm
/gate/cone2/geometry/setRmax1 2.5 mm
/gate/cone2/geometry/setRmax2 10. mm
#/gate/cone2/placement/setTranslation 6.25 0 0 mm
/gate/cone2/placement/setTranslation 5.5 0 0 mm
/gate/cone2/placement/alignToX
/gate/cone2/setMaterial Air
/gate/cone2/vis/forceSolid

############################################
# C A M  H E A D  A I R
# insert air behind the collimator
/gate/SPECThead/daughters/name aircomp
/gate/SPECThead/daughters/insert box
/gate/aircomp/geometry/setXLength 170 mm
/gate/aircomp/geometry/setYLength 260 mm
/gate/aircomp/geometry/setZLength 260 mm
/gate/aircomp/placement/setTranslation -45 0 0 mm
/gate/aircomp/vis/forceWireframe

############################################
# C R Y S T A L
# Create the crystal volume
/gate/SPECThead/daughters/name crystal
/gate/SPECThead/daughters/insert box

# Define the dimensions of the crystal volume
/gate/crystal/geometry/setXLength   6. mm
/gate/crystal/geometry/setYLength 260. mm
/gate/crystal/geometry/setZLength 260. mm

# Define the position of the crystal volume
/gate/crystal/placement/setTranslation  43. 0. 0. mm

# Set the material associated with the crystal 
# volume
/gate/crystal/setMaterial NaI

# Define some visualisation options
/gate/crystal/vis/setColor yellow

###########################################
# B A C K - C O M P A R T M E N T
# Create the back-compartment volume
/gate/SPECThead/daughters/name compartment
/gate/SPECThead/daughters/insert box

# Define the dimensions of the back-compartment volume
/gate/compartment/geometry/setXLength  30. mm
/gate/compartment/geometry/setYLength 260. mm
/gate/compartment/geometry/setZLength 260. mm

# Define the position of the back-compartment volume
/gate/compartment/placement/setTranslation 61. 0. 0. mm

# Set the material of the  back-compartment volume
/gate/compartment/setMaterial Glass

# Define some visualisation options
/gate/compartment/vis/setColor grey

# Attach PhantomSD to record Compton 
# interactions in the back-compartment volume
/gate/compartment/attachPhantomSD


#############################################
# P H A N T O M
# Create the phantom volume
/gate/world/daughters/name Phantom
/gate/world/daughters/insert cylinder

# Define the dimensions of the phantom 
# volume
/gate/Phantom/geometry/setRmax 0.5  mm
/gate/Phantom/geometry/setRmin 0. mm
/gate/Phantom/geometry/setHeight 0.5 mm
/gate/Phantom/placement/setTranslation 0 0 0 mm

# Set the material corresponding to the 
# phantom volume
/gate/Phantom/setMaterial Water

# Define some visualisation options
/gate/Phantom/vis/setColor blue
/gate/Phantom/vis/forceWireframe 

# Attach PhantomSD to record Compton
# interactions in the phantom volume
/gate/Phantom/attachPhantomSD


#############################################
# M O V I N G   S O U R C E
# Add an extra object for source confinement
/gate/Phantom/daughters/name movsource
/gate/Phantom/daughters/insert cylinder

# Define the dimensions of the source volume
/gate/movsource/geometry/setRmax 0.5  mm
/gate/movsource/geometry/setRmin 0. mm
/gate/movsource/geometry/setHeight 0.5 mm

# Set the material corresponding to the
# phantom volume
/gate/movsource/setMaterial Water

# Define some visualisation options
/gate/movsource/vis/setColor magenta
/gate/movsource/attachPhantomSD

/control/execute timing.mac

#################################
# SENSITIVE DETECTORS
# GATE provides two sensitive detectors, 
# which have two different functions
# Using them properly is very important 
# for getting accurate results
 
###########################################
# Crystal SD
# The crystal SD makes it possible to 
# record hits in a sensitive volume 
# (e.g.,. in a scintillation crystal)
# It must be attached to any volume for 
# which hit-data must be obtained
# For recording hits in the NaI volume 
# only, the name of which is crystal, 
# this volume is attached to the crystal SD
/gate/crystal/attachCrystalSD

#############################################
# Phantom SD
# The phantom SD makes it possible to record 
# Compton events in the volumes within the 
# field of view. This can provide information 
# for result analysis to discriminate between 
# scattered and unscattered photons. It must 
# be attached to each and every volume for 
# whom Compton interactions have to be recorded
/gate/Phantom/attachPhantomSD

#############################################
# S Y S T E M
# The system acts as an interpretor between 
# the GATE geometry and data outputs for 
# reconstruction in our case, the Interfile 
# writer. A system must know which components 
# of the geometry are parts of the scanner, 
# and what their role are. For the moment, 
# there is only a system SPECThead, which 
# was built when the SPECThead volume was
# inserted. 

# The SPECThead system is made of three 
# levels: base (for the head), crystal (for 
# the crystal and crystal matrix) and pixel 
# (for individual crystals for pixellated 
# gamma camera) For now, only the base of 
# the system is attached to a volume: the 
# volume SPECThead. For the system to get
# information about your crystal, the level
# crystal must be attached to the volume that 
# has been defined for the scintillating 
# crystal (crystal) 
/gate/systems/SPECThead/crystal/attach crystal
# Look at the system
/gate/systems/SPECThead/describe

#############################################
# P H Y S I C S
# Select the processes to consider
/gate/physics/gamma/selectRayleigh lowenergy
/gate/physics/gamma/selectPhotoelectric lowenergy
/gate/physics/gamma/selectCompton lowenergy
/gate/physics/gamma/selectGammaConversion inactive
/gate/physics/gamma/listProcesses

# Set some cuts to speed up the simulation
# X-rays are tracked until their energy fell 
# under 20 keV
/gate/physics/setXRayCut 20. keV
# Cut in order not to follow the secondary 
# electrons
/gate/physics/setElectronCut 1. km
/gate/physics/setDeltaRayCut 1. GeV


# Physics initialization
/run/initialize

#############################################
# D I G I T I Z E R
# The digitizer tracks what happens in the 
# detection system and in the electronics
# Build a digitizer that first computes the 
# centroid of interactions

/gate/digitizer/Singles/insert adder

/gate/digitizer/Singles/insert blurring
/gate/digitizer/Singles/blurring/setResolution 0.15
/gate/digitizer/Singles/blurring/setEnergyOfReference 140. keV

/gate/digitizer/Singles/insert spblurring
/gate/digitizer/Singles/spblurring/setSpresolution 0.0 mm
/gate/digitizer/Singles/spblurring/verbose 1

/gate/digitizer/Singles/insert thresholder
/gate/digitizer/Singles/thresholder/setThreshold 20. keV

/gate/digitizer/Singles/insert upholder
/gate/digitizer/Singles/upholder/setUphold 190. keV

#############################################
# S O U R C E
# Setting up the source
/gate/source/addSource SourceConfinement

# Define the shape of the source
/gate/source/SourceConfinement/gps/type Volume
/gate/source/SourceConfinement/gps/shape Cylinder

# Define the dimensions of the source
/gate/source/SourceConfinement/gps/radius 0.5 mm
/gate/source/SourceConfinement/gps/halfz  0.25 mm

# Define the placement of the source
/gate/source/SourceConfinement/gps/centre 0. 0. 0. mm

# Define the source as a gamma source
/gate/source/SourceConfinement/gps/particle gamma

# Define the gamma energy 
#/gate/source/SourceConfinement/gps/energytype Mono
/gate/source/SourceConfinement/gps/energy 140. keV

# Set the activity of the source
/gate/source/SourceConfinement/setActivity 500000. Bq

# Define a confinement
# the activity cannot move with time so the attenuating 
# medium is moved and the activity is forced to be in the 
# attenuating medium
/gate/source/SourceConfinement/gps/confine movsource_P

# Define the emission direction (4 str)
/gate/source/SourceConfinement/gps/angtype iso
/gate/source/SourceConfinement/gps/mintheta 0. deg
/gate/source/SourceConfinement/gps/maxtheta 180. deg
/gate/source/SourceConfinement/gps/minphi 0. deg
/gate/source/SourceConfinement/gps/maxphi 360. deg

#############################################
# R A N D O M 
# Change the root of the random module to run different simulations
/gate/output/root/setSaveRndmFlag 1

#############################################
# O U T P U T
# Select the options of the data output
# As there are several modules, settings have 
# to be defined for each module, especially in
# SPECT, where there are a lots of hits for 
# only a few counts, so it's better to limit 
# the amount of data produced Here the 
# SingleDigi output can be used if you have 
# your own program to process the data

/gate/output/root/setFileName pinholeSPECT
/gate/output/root/setRootSinglesAdderFlag 1
/gate/output/root/setRootSinglesBlurringFlag 1
/gate/output/root/setRootSinglesSpblurringFlag 1
/gate/output/root/setRootSinglesThresholderFlag 1
/gate/output/root/setRootSinglesUpholderFlag 1

#/gate/output/root/setRootHitFlag 0
#/gate/output/root/setRootSinglesFlag 0
#/gate/output/root/setRootCoincidencesFlag 0
#/gate/output/root/setRootNtupleFlag 0

#/gate/output/ascii/disable
/gate/output/ascii/setOutFileSinglesAdderFlag 0
/gate/output/ascii/setOutFileSinglesSpblurringFlag 0
/gate/output/ascii/setOutFileSinglesBlurringFlag 0
/gate/output/ascii/setOutFileSinglesThresholderFlag 0
/gate/output/ascii/setOutFileSinglesUpholderFlag 0

#############################################
# P R O J E C T I O N
# Makes a set of projections from the crystal 
# hits Define the binning the projection module 
# to be used
/gate/output/projection/pixelSizeX 2.03125 mm
/gate/output/projection/pixelSizeY 2.03125 mm
/gate/output/projection/pixelNumberX 128
/gate/output/projection/pixelNumberY 128

# Specify the projection plane (XY, YZ or ZX)
/gate/output/projection/projectionPlane YZ

#############################################
# E X P E R I M E N T
# Define the parameters of the experiment  
# (start time, stop time and time slice)
# The number of projections depends on the 
# number of time slice, the rotation speed of 
# the system and the number of heads
/gate/application/setTimeSlice       10.  s
/gate/application/setTimeStart        0.  s
/gate/application/setTimeStop        10.  s

#############################################
# V E R B O S I T Y
/control/verbose 0
/grdm/verbose 0
/run/verbose 0
/event/verbose 0
/tracking/verbose 0
/gate/application/verbose 0
/gate/generator/verbose 0
/gate/stacking/verbose 0
/gate/event/verbose 0
/gate/source/verbose 0
/gate/output/projection/verbose 0
/gate/output/verbose 0

# LET'S RUN THE SIMULATION!
/gate/application/startDAQ
-------------- next part --------------
/control/verbose 1
/control/saveHistory
/run/verbose 2
/event/verbose 1
/tracking/verbose 1

/gate/timing/setTime 0. s
/gate/application/setTimeSlice 1. s

#/control/execute mucam.mac
#/control/execute startGammas.mac
#/control/execute startTwoSources.mac


-------------- next part --------------
# Show how the geometry moves with time
/gate/timing/setTime 0. s
/gate/timing/setTime 20. s
/gate/timing/setTime 40. s
/gate/timing/setTime 60. s
/gate/timing/setTime 80. s
/gate/timing/setTime 100. s
/gate/timing/setTime 120. s
/gate/timing/setTime 140. s
/gate/timing/setTime 160. s
/gate/timing/setTime 180. s
/gate/timing/setTime 200. s
/gate/timing/setTime 220. s
/gate/timing/setTime 240. s
/gate/timing/setTime 260. s
/gate/timing/setTime 270. s
/gate/timing/setTime 280. s
/gate/timing/setTime 300. s
/gate/timing/setTime 320. s
/gate/timing/setTime 340. s
/gate/timing/setTime 360. s
/gate/timing/setTime 380. s
/gate/timing/setTime 400. s
/gate/timing/setTime 420. s
/gate/timing/setTime 440. s
/gate/timing/setTime 460. s
/gate/timing/setTime 480. s
/gate/timing/setTime 500. s
/gate/timing/setTime 520. s
/gate/timing/setTime 540. s
/gate/timing/setTime 560. s
/gate/timing/setTime 580. s
/gate/timing/setTime 600. s
/gate/timing/setTime 620. s
/gate/timing/setTime 640. s
-------------- next part --------------
#	V I S U A L I S A T I O N
/vis/open OGLSX
/vis/viewer/reset
/vis/drawView 60 60
/vis/viewer/zoom 2
/vis/viewer/set/style surface
/vis/drawVolume
/vis/scene/endOfEventAction accumulate
/vis/viewer/update
/vis/verbose 2


More information about the Gate-users mailing list