[gate-users] Re: gate-users Digest, Vol 16, Issue 25
Sebastien JAN
jan at shfj.cea.fr
Mon Jul 25 13:56:50 CEST 2005
Hi Christian,
Could you check the distributions (with root or ASCII output) of
globalPosX ; globalPosY ; globalPosZ for the 2 following configurations:
1/ /gate/digitizer/Singles/spblurring/setSpresolution 0.0
2/ /gate/digitizer/Singles/spblurring/setSpresolution 10.0
let me know if you find some differences in your output according to the
spatial blurring
seb
Christian Wietholt a écrit:
> 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
>>*****************************************
>
> *
>
>
> ------------------------------------------------------------------------
>
> #############################################
> # 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
>
>
> ------------------------------------------------------------------------
>
> /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
>
>
>
>
> ------------------------------------------------------------------------
>
> # 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
>
>
> ------------------------------------------------------------------------
>
> # 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
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gate-users mailing list
> gate-users at lphe1pet1.epfl.ch
> http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users
More information about the Gate-users
mailing list