[gate-users] Image Reconstruction of Gate output

Mutanga Theodore muathe02 at student.umu.se
Tue Jan 4 18:13:57 CET 2005


> Here it is again.

Hi I got it this time,
How about Gate_to_Stir.c ? Did you see my mail about the changes I made to
it ? Are they ok ? I just tried to find the DLS things and replaced them
with DST things, but that may not be all,

Theo


> 	Sadek
>
> -----Original Message-----
> From: gate-users-bounces at lphe1pet1.epfl.ch
> [mailto:gate-users-bounces at lphe1pet1.epfl.ch] On Behalf Of Mutanga
> Theodore
> Sent: Tuesday, January 04, 2005 10:12 AM
> To: Long ZHANG; GATE feedback and helpline for Users
> Subject: Re:RE: RE: [gate-users] Image Reconstruction of Gate output
>
>
> Hello Sadek,
>
> sorry I am bothering you again but I'd like to show you the changes I
> made to your code:
>
> 1) GEAdvance3D_Sinogram_Bin.c
>
> #define  NUMBER_OF_RINGS               24 //     Advance/DLS)
> #define  CRYSTALS_PER_RING            420 //     Discov$#define
> SINOGRAM_WIDTH               249 //        (or 223 according to STIR ??)
> #define  MAX_THETA                     11 //
> #define  NUMBER_OF_PROJECTION_PLANES  553 //
> #define  FOV                          600 //
> #define  SLICES_PER_FOV                47 //
>
>
>
> 2)
>
>  // Update the different arrays...
>          //-------------------------------
>
>
>
>          if (u>=0 && u<223)    <<<< I changed this to 223 or 249 ? !!!!
>            {
>              sinogram_counts[ring2][ring1] += 1;
>
>
>
>
>
>
> 3) Gate_to_Stir.c
>
> int nRings = 24;                // Number of rings in the GE Advance
> scanner
>   int Num_sinos = nRings*nRings;
>   int   nPHI = 210;               // Number of angular bins in the
> sinogram
>   int   nU = 223;                 // Number of radial bins in the
> sinogram
>
>
>
> 4)These slices per segment I got from the headers created by
> creat_proj_data
>
> int num_slices_per_segment[23]
> {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,47};  //Number
> of projection planes per segment
>
>
> 5)
>
>  printf("Please enter the absoute number of segments you would like to
> reconstruct (0, -> 22):
>
>
> 6)
>
> //Process segments 23->2
>  //-----------------------
>  printf("Processing segments 23 -> 2... \n");
>  for (ring1= (num_segments+1); ring1>1; ring1--)
>     {
>
>
> 7) I didn't know how to change the 17 ? what does it do here ?
>  r1 = ring1;
>       while (r1<17)
>         {
>           r1 = ring1 +  c;
>           r2 = r1 - ring1;
>
>
>
> 8)
> //goto NEXT2;
>
>   //Process segments -2->-23
>   //------------------------
>   printf("Processing segments 2 -> 23... \n");
>   for (ring2=2; ring2< (num_segments + 2); ring2++)
>     {
>       int c = 0;
>       r2 = ring2;
>
>
> Well Those are the things I modified, but I think there is a great deal
> more to change because when I use the manip_proj_data from Stir on the
> projection data, it doesn't look good at all.
>
> Hope to hear from you soon
>
> Theodore
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>> Dear Sadek,
>>
>> That's great if you can implement the DST code. It looks almost
> finished.
>>
>> My idea is to build a generic framework based on your code. With this
>> framework,
>> the coding work will be greatly simplified for new scanner. It's a
>> abstracted
>> layer which can call different set of functions for a different
> scanner.
>> It's
>> pretty important when porting it to GATE, for not only the
> correctness,
>> but also
>> the optimised design.
>>
>> So it's very important to know root script characters, such as
> callback
>> functions,
>> or object oriented characters like dynamic binding, etc. Or I think a
>> input
>> parameter file or a static table is needed (like STIR). I only know
> root
>> is C/C++
>> like, but no deeper study.
>>
>> Helps is highly appreciated!
>>
>> Regards,
>>
>> Long
>>
>>
>>
>>
>>
>> In your mail:
>>>From:"Nehmeh, Sadek/Medical Physics" <nehmehs at mskcc.org>
>>>Reply-To: GATE feedback and helpline for Users
>>> <gate-users at lphe1pet1.epfl.ch>
>>>To: "GATE feedback and helpline for Users"
> <gate-users at lphe1pet1.epfl.ch>
>>>Subject: RE: RE: [gate-users] Image Reconstruction of Gate output
>>>
>>>Dear Theodore and Long,
>>>
>>>Yes I'm back, and sorry for taking me time replying to your emails.
>>>Long, I think what you have suggested in your previous email regarding
>>>evaluating the sinogram binner for the DST, and try to incorporate it
>>>with GATE, is a great idea. Meanwhile, I am also testing that for the
>>>DST configuration. Hopefully I will get back to you tomorrow with my
>>>feedback.
>>>
>>>Theodore, for your NEMA measurements, I know O. Mawlawi at M.D.
> Anderson
>>>did the NEMA2001 measurements for the DST. It was published in the JNM
>>>(J Nucl Med. 2004 Oct;45(10):1734-42); you may wana refer to that, and
>>>reproduce their analysis method, for comparison.
>>>
>>>
>>>	Cheers,
>>>
>>>	Sadek
>>>
>>>
>>>
>>>Theodore
>>>Sent: Monday, January 03, 2005 11:30 AM
>>>To: Long ZHANG; GATE feedback and helpline for Users
>>>Subject: Re:RE: [gate-users] Image Reconstruction of Gate output
>>>
>>>Hi Long,
>>>it seems Sadek is back, have you written to him about the code ?
>>>
>>>Cheers
>>>
>>>Theodore
>>>
>>>By the way I was simulating the ECAT exact hr+ and I would like to
>>>compare my results with someone Here is what I had for the resolution
>>>measurements , NEMA 2001 !
>>>
>>>transverse @ 1cm = 8.3 mm
>>>axial @1 cm 11.5 mm
>>>
>>>
>>>transverse radial @ 10cm = 10.59mm
>>>transverse tangential@ 10cm = 10.66mm
>>>
>>>axial @10cm 10.31 mm
>>>
>>>
>>>I wish to find out from the GATE users if these look reasonable, I was
>>>planning to do measurements myself on the ecat but I dont have acceess
>>>to one since initially I was simulating the DST. Also in the NEMA 2001
>>>there is no mention about matrix size for reconstruction , doesnt this
>>>affect the resolution ? I did not correct for anythin in the data from
>>>GATE , would it be better to correct for randoms, scatter ect , if so
>>>HOW (using GATE ?)?
>>>
>>>
>>>Cheers
>>>
>>>'Theo
>>>
>>>> Dear Kris,
>>>>
>>>> Thank you very much.
>>>>
>>>> It seems that I have mistake the sinogram width (angle position) as
>>>> sinogram length (view number, or tangential bin number, or
>>>> displacement position).
>>>> Am I
>>>> right now?
>>>>
>>>> Regards,
>>>>
>>>> Long
>>>>
>>>> In your mail:
>>>>>From:"Kris Thielemans" <kris.thielemans at csc.mrc.ac.uk>
>>>>>Reply-To: GATE feedback and helpline for Users
>>>>><gate-users at lphe1pet1.epfl.ch>
>>>>>To: "'Long ZHANG'" <zhanglong99 at tsinghua.org.cn>,
>>>>   "'GATE feedback and helplinefor Users'"
>>>> <gate-users at lphe1pet1.epfl.ch>
>>>>>Subject: RE: [gate-users] Image Reconstruction of Gate output
>>>>>
>>>>>>
>>>>>> BTW, I was pussled by the sinogram width of DST (420 crystal per
>>>>>> ring). The number 249 is larger than the 420/2 = 210. How can DST
>>>>>> get the extra LORs of 39? By interpolation? Could this help to
>>>>>> improve the spatial resolution? Thank you!
>>>>>>
>>>>>Notation: N= num_detectors per ring
>>>>>
>>>>>Why do you think that the max sinogram width is N /2? This is a
>>>>>hardware choice (recent CTI scanners tend to have
> sinogram_width=N/2).
>>>
>>>>>The 'physical' maximum of LORs in 2D sinograms is (N^2-N)/2 (i.e.
> all
>>>>>lines between pairs of detectors, excluding the degenerate cases,
> and
>>>>>identifying det pairs ij and ji). The max number of views is N/2
>>>>>(you'd expect N, but it's halved because of interleaving). So, the
> max
>>>
>>>>>sinogram width is something like (N-1)
>>>>>
>>>>>
>>>>>Kris
>>>>>
>>>>>_______________________________________________
>>>>>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
>>>>
>>>
>>>_______________________________________________
>>>gate-users mailing list
>>>gate-users at lphe1pet1.epfl.ch
>>>http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users
>>>
>>>
>>>
>>>
>>>
>>>
> ====================================================================>>
>>>     Please note that this e-mail and any files transmitted with it
> may
>>> be
>>>     privileged, confidential, and protected from disclosure under
>>>     applicable law. If the reader of this message is not the intended
>>>     recipient, or an employee or agent responsible for delivering
> this
>>>     message to the intended recipient, you are hereby notified that
> any
>>>     reading, dissemination, distribution, copying, or other use of
> this
>>>     communication or any of its attachments is strictly prohibited.
> If
>>>     you have received this communication in error, please notify the
>>>     sender immediately by replying to this message and deleting this
>>>     message, any attachments, and all copies and backups from your
>>>     computer.
>>>
>>>
>>>_______________________________________________
>>>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
>>
>
> _______________________________________________
> 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
>



More information about the Gate-users mailing list