[Gate-users] Real-time phantom by GPU in GATE V 8.0

谢肇恒 xiezhaoheng at pku.edu.cn
Fri Nov 24 09:50:56 CET 2017


Dear ALL!
Recently, I'm trying to implement a dynamic voxelized source(MOBY) and generate projection of different motion frames, but have run into some problems. 
All of macros(I have listed in the end of email) followed the Gate V8.0 users guide how to set up my RT(real-time) source/phantom. When we use CPU to simulate, these macros ran smoothly, no errors raise and the results are correct. However, when we use GPU (/gate/source/addSource  GPUEmisTomo), we got the errors:
"The volume 'no_attached_volume_given'  cannot be found in the list of volume. Abort"~
By the way, for the common static voxelized phantom, GPU works well.
* My first question is: is it possible to simulate real-time phantom(more than one frame) by GPU in GATE V 8.0? 
* Second, is it possible to got the projections of different frame in the same simulation? So far, we don't know how to split the projection by PET_2_STIR, so we just simulate every frame one-by-one. 
* Thirdly, is there anyone using the MOBY(Mode 4) to creat the output motion vectors (output_name_vec_frame1_frameN.txt) from phantom surface?  How to link it to STIR's motion-compensated image reconstruction(MCIR) algorithm? 

Thanks in advance!
Sincerely
Zhaoheng
--
Zhaoheng Xie, Ph.D. Student 
Molecular Medical Imaging Lab
Dept. of Biomedical Engineering 
College of Engineering, Peking University
Beijing 100871, P.R.China


#===================================================
# Voxellized phantom
#===================================================
/gate/world/daughters/name                              ncat
/gate/world/daughters/insert                            regularMatrix
/gate/ncat/geometry/insertReader                        interfile
/gate/RTPhantom/insert RTVPhantom
/gate/RTVPhantom/AttachTo ncat
/gate/RTVPhantom/setHeaderFileName moby_phantom.hdr
/gate/RTVPhantom/SetNumberOfFrames 6    #Notice, 6 frames are named: lesion_atn_1.bin….lesion_atn_6.bin      
/gate/RTVPhantom/SetTimePerFrame 0.83 s
/gate/ncat/interfileReader/insertTranslator             range
/gate/ncat/interfileReader/rangeTranslator/readTable    attenuation_range.dat
/gate/ncat/interfileReader/rangeTranslator/describe     1
/gate/ncat/placement/setTranslation                     0. 0. 0. mm
/gate/RTVPhantom/setBaseFileName lesion
/gate/ncat/placement/setRotationAxis                    1 0 0
/gate/ncat/placement/setRotationAngle                   0 deg
/gate/ncat/attachVoxelPhantomSD
#==================================================
# VOXELIZED SOURCES
#==================================================
/gate/source/addSource voxel_brain GPUEmisTomo
/gate/source/voxel_brain/setGPUBufferSize                              5000000  
/gate/source/voxel_brain/setGPUDeviceID                                1
/gate/source/voxel_brain/reader/insert interfile
/gate/RTVPhantom/AttachToSource voxel_brain
/gate/source/voxel_brain/interfileReader/translator/insert range
/gate/source/voxel_brain/interfileReader/rangeTranslator/readTable activity_range.dat
#/gate/source/voxel_brain/interfileReader/SetTimeActivityTablesFrom acti.range   # We don't want to simulate kinetic information,so we don’t set this parameter. 
/gate/source/voxel_brain/interfileReader/SetTimeSampling 0.83 s
/gate/source/voxel_brain/interfileReader/verbose                       0
/gate/source/voxel_brain/interfileReader/rangeTranslator/describe 1

/gate/source/voxel_brain/setPosition   -18.56 -18.56 -7.25 mm
/gate/source/voxel_brain/setType backtoback
/gate/source/voxel_brain/gps/particle gamma
/gate/source/voxel_brain/gps/energytype Mono
/gate/source/voxel_brain/gps/monoenergy 0.511 MeV
/gate/source/voxel_brain/gps/confine NULL
/gate/source/voxel_brain/gps/angtype iso

moby_phantom.hdr
!INTERFILE :=
imagedata byte order := LITTLEENDIAN
!matrix size [1] := 128
!matrix size [2] := 128
!name of data file := lesion_atn_1.bin    
!number format := unsigned integer
scaling factor (mm/pixel) [1] := +0.290e+00
scaling factor (mm/pixel) [2] := +0.290e+00
!number of slices := 80
slice orientation := Transverse
slice thickness (pixels) := +0.2900e+00
centre-centre slice separation (pixels) := +1.000000e+00
filter name := Unknown
filter parameters := Cutoff
method of attenuation correction := measured
scatter corrected := N
oblique reconstruction := N
!END OF INTERFILE :=

Activity.dat :
5
1   1    1
2   2    2
5   6    3
10   10   5
15  30   10


Attenuation_range.dat  :
6
 0 0 Air false 0.0 0.0 0.0 0.0
 1 1 LungMoby false 0.0 0.0 0.0 0.0
 2 2 Body false 0.0 0.0 0.0 0.0
 5 5 RibBone false 0.0 0.0 0.0 0.0
 6 6 SpineBone false 0.0 0.0 0.0 0.0
 15 30 Heart false 0.0 0.0 0.0 0.0



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20171124/e5650e04/attachment-0001.html>


More information about the Gate-users mailing list