[Gate-users] benchmark_projection.c
Seyjoon
seyjoon at yahoo.co.kr
Sat Nov 24 10:21:45 CET 2007
Hi gate-users
I doubt I found some errors of C code of benchmark_projection.
I tried to do Scatter Analysis with benchmark_projection.c
But it always shows abnormal count. For example, like below.
--------------------------------------------------------------------------
Number of detected events in the image of primary and scattered photons = 20945
Number of primary events in the image of primary photons =13976
Number of scattered events in the image of scattered photons = 969
--------------------------------------------------------------------------
As you can see, Primary counts and Scatter counts are not equal to Total counts.
I guessed there was some problems in line number 586 and 591.
----------------Line number 586 and 591 in benchmark_projection.c---------------
if(caractere1=='N' && caractere2=='U' && caractere3=='L' && caractere4=='L' && CrystalOrder==0)
if((caractere1!='N' && caractere2!='U' && caractere3!='L' && caractere4!='L') || (caractere1=='N' && caractere2=='U' && caractere3=='L' && caractere4=='L' && CrystalOrder>0))
-----------------------------------------------------------------------------
I found 'CrystalOrder' which is column 19 in gateSingles.dat was unmatched
for scatter analysis. So I changed them to 'Order' which is column 18 in
gateSingles.dat and modified a little like below.
---------Line number 557 and 562 in benchmark_projection_seyjoon.c-----------------------
if(caractere1=='N' && caractere2=='U' && caractere3=='L' && caractere4=='L' && Order==0)
if((caractere1!='N' && caractere2!='U' && caractere3!='L' && caractere4!='L') || Order>0)
---------------------------------------------------------------------------------------
After modifying like this, I could get a good result.
But I am not sure that I am absolutely right.
I want to hear user's opinion about this modification.
In addition,
I add 'parameter declaration' for easy use in line number from 30 to 41
in my C code.
/* parameter declaration */
//____________________________________________
float pro1=30;
float pro2=2*pro1;
float pro3=3*pro1;
float pro4=4*pro1;
float degree=90/pro1;
int nbima=120; /* number of images */
int nx = 200;
int ny = 140;
float pixsize = 1;
//____________________________________________
You can change these values according to your simulation condition.
pro1, pro2, pro3 and pro4 means number of projection in 1st, 2nd, 3rd and 4th quadrant.
degree means sampling angle. (pro1 * degree must be 90)
nbima means total number of projection which will be acquired after simulation.
nx, ny and pixsize means
/gate/output/projection/pixelSizeX 1 mm // --> pixsize
/gate/output/projection/pixelSizeX 1 mm // --> pixsize
/gate/output/projection/pixelNumberX 200 // -->nx
/gate/output/projection/pixelNumberY 140 // -->ny
I hope this helps your works.
----------------------------------------------------------------
Sungkyunkwan University, School of Medicine
Samsung Medical Center, Department of Nuclear Medicine
50, Irwon-Dong, Gangnam-Gu, Seoul, Korea 135-710
Tel : 82-2-3410-2652
Cell : 82-10-7593-7577
Seyjoon Park
________________________________________________________
올 한해 고마웠던 사람들에게 메시지 보내고 선물받으세요! - 모두가 행복한 세상이 됩니다. UCC 참여하기
http://kr.fun.kids.yahoo.com/funnybox/thankyou.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: benchmark_projection_seyjoon.c
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20071124/dabcdeb0/attachment.txt>
More information about the Gate-users
mailing list