[gate-users] Gate LMF-Sinogram (ECAT7) patch
Schmidtlein, Ross/Medical Physics
schmidtr at mskcc.org
Wed Aug 18 17:40:01 CEST 2004
Hi Long,
Thanks, I hope the code is useful.
If I understand you correctly you would like to use the "singles"
information as "list mode" and have it bin to sinograms/projections
while the code is running (The before approach). Root codes can access
the .root files while GATE is running (if GATE is writing to these files
the root program may crash and have to be rerun). So this is possible
with root, but an external coincidence sorter is then required (not
difficult to implement).
One thing to note is that the root "singles" output isn't in
chronological order and must be sorted before coincidence binning.
ross
-----Original Message-----
From: gate-users-bounces at lphe1pet1.epfl.ch
[mailto:gate-users-bounces at lphe1pet1.epfl.ch] On Behalf Of
null99 at mails.tsinghua.edu.cn
Sent: Monday, August 16, 2004 10:32 PM
To: gate-users at lphe1pet1.epfl.ch
Subject: RE: [gate-users] Gate LMF-Sinogram (ECAT7) patch
Dear Schmidtlein,
I have the code. Thank you! :-) It looks so beautiful and well writen.
The LMF to sinogram conversion isn't diffcult itself (as Kris said),
however, confusing. It is quiet easy to see that if CPS like ring,
detector number used, a cylinder output can be binned into sinogram
during the simulation. But this will not consitent with the original
intention of LMF. The LMF file researves all the information necessaried
for the best possible resolution, both spatial and temporal, by keep all
event, and so gives great flexiable on how to build the sinogram (eg. a
user defined time window and energy window can be defined.)
Thus, a key problem rises when we define logical rings and detector
numbers: when to build the sinogram, before or after the formation of
LMF file. Before means when every coicidence event got, we use its
(rsect, module, sub module, crystal) number and hence produce sinogram
together with LMF output, That's the exact reason why I mentioned to use
GateSinogram in the request for help. While "after", just like what I
mentioned before, purly a conversion process. The "before" method seems
not very good, but it is feasible since we are simulating, in my option.
The "after" method is the standard way in ClearPET project, as described
in the lmf document (Please refer to Fig 1 in LMF.pdf, pg. 2, in
lmfv1.0/document/).
In a word, there are three choice in my option:
1. "Before" method, that is why I said "found no reason not to" in the
help request. It is feasible, useful, but inconsistent with LMF
intention. 2. "After" method in GATE, consistent with LMF and capable of
generating multi-sinogram output. 3. Stand alone conversion module, out
of GATE, one kind of "after" method.
If the root output also contains all events, it is the same as lmf, then
this conversion is of "after" method. If not, it is one kind of the
"before" method.
In the GATE patch, the 2, "after" method is implemented with a ability
to extract sinogram from LMF with several user defined parameters,
though not finished yet.
About the "before" method, now, I have something unsure: although we can
build different sinogram with different parameters, the random data set
is not the same (By run Gate on the same .mac, with corresponding
parameters modification, several time). And if we make the all random
data the same (we shouldn't), there is little necessarinity to
generating them multi-time.
Your option is highly appreciated! :-)
Regards,
Long
In your mail:
>From: "Schmidtlein, Ross/Medical Physics" <schmidtr at mskcc.org>
>Reply-To: GATE feedback and helpline for Users
><gate-users at lphe1pet1.epfl.ch>
>To: null99 at mails.tsinghua.edu.cn,
"GATE feedback and helpline for Users" <gate-users at lphe1pet1.epfl.ch>
>Subject: RE: [gate-users] Gate LMF-Sinogram (ECAT7) patch
>
>Hi Long,
>
>I've attached a root program that reads the coincidence branch
>information and uses the detector ID numbers to give a pair of crystal
>numbers and a ring numbers for each coincidence event. The program
>then bins these positions into a block matrix of sinograms. I think
>that this approach has some advantages over using the xyz's as it
>handles non-uniform angle conversions. From Chris' email it sounds
>like it is probably quite similar to what the STIR conversions do. If
>I understand the discussions so far, it sounds like Chris's conversions
>are clean and well tested but require crystal and ring numbers that
>Gate doesn't readily supply. The root program I've attached I'm sure
>is not as clean and well tested as the STIR code but it does have a
>translation from rsector, module, submodule, and crystal ID's to
>crystal and ring #'s. Maybe a combination of these two pieces of code
>will do the trick.
>
>Cheers,
>
>ross
>
>-----Original Message-----
>From: gate-users-bounces at lphe1pet1.epfl.ch
>[mailto:gate-users-bounces at lphe1pet1.epfl.ch] On Behalf Of
>null99 at mails.tsinghua.edu.cn
>Sent: Friday, August 13, 2004 11:48 PM
>To: gate-users at lphe1pet1.epfl.ch
>Subject: RE: [gate-users] Gate LMF-Sinogram (ECAT7) patch
>
>
>Dear Schmidtlein,
>
>Sorry for a null email, for a misoperation. :-(
>
>Thank you for your interesting in this patch, and esp. your question
>and your code. :-) I am really eager to see your code. Thank you! :-)
>The patch uses uniform spaceing when building sinogram, but with no
>weighting. It simply binning the events into unifromly spaced logical
>detector ID by their position (x,y,z). (In my understanding, the
>(x,y,z) position is of the detector ID uniquely specified by the
>Cylindrical system's rsector, module, submodule, crystal ID, so
>weighting is a must). I have had a glance at STIR's List data mode
>classes, it do the similar work, but the list data is based on ECAT
>system and they have
>(ring,detector) in nature. However, because of the similarity between
>ECAT and Cylindrical systems, each logical (ring, detector ID) can have
>a one-to-one relationship with a crystal in physical world by applying
a
>uniform angle conversion.
>
>That's what implymented in the patch. Thank you! :-)
>
>Regards,
>
>Long
>
>
>
>In your mail:
>>From: "Schmidtlein, Ross/Medical Physics" <schmidtr at mskcc.org>
>>Reply-To: GATE feedback and helpline for Users
>><gate-users at lphe1pet1.epfl.ch>
>>To: null99 at mails.tsinghua.edu.cn,
> "GATE feedback and helpline for Users" <gate-users at lphe1pet1.epfl.ch>
>>Subject: RE: [gate-users] Gate LMF-Sinogram (ECAT7) patch
>>
>>Hi Long,
>>
>> I've been listening to the discussions surrounding your
>> implementation
>
>> of sinogram output for cylindrical PET, and I am very interested in
>> seeing you produce these additions. It is my impression that you're
>> using Claude's coincidence position binning strategy. This strategy
>> works very well for uniformly spaced detectors, but if the detectors
>> are not uniformly spaced, the sinograms may be incorrect.
Non-uniform
>
>> detector spacing is one of the advantages that the "Cylindrical PET"
>> system has over the "ECAT System". The logical volume ID's can be
>> used to avoid this problem. I have some code that is fairly general
>> that does this. I'd be more than happy to send it if you think it
>> will help.
>>
>>
>> I've glanced through your code and it looks like you have done a
>> really nice job. ;)
>>
>> Cheers,
>>
>> ross
>>
>> null99 at mails.tsinghua.edu.cn
>>Sent: Friday, August 13, 2004 12:09 PM
>>To: gate-users at lphe1pet1.epfl.ch
>>Subject: [gate-users] Gate LMF-Sinogram (ECAT7) patch
>>
>>
>>Dear all,
>>
>>This is the LMF to ECAT7 patch for Gate. Please refer to my previouse
>>E-mail for details.
>>
>>Something important:
>>This version is an test version. It's aim is to provide a base for
>>other possible conversion. E.g. by using the root output. Also, I
>>looking forwards any questions, bug reports, or new idea of implement
>>the conversion. Questiones on conversion theory is esp. highly
>>appreciated! Thank you!
>>
>>USAGE:
>>1. patch it and recompile it.
>>2. Run Gate on a existing Cylindrical PET system macro file (without
>>any
>>modification)
>>
>>It will generate all kinds of output by default: ecat7 file, interfile
>>head, lmf file, lmf file header, and coincidence file.
>>
>>Because I am not sure that if my design philosophy valide (By
>>introducing logical rings and detector number for Cylindrical System,
>>which is, actually, very similiar to that of a ecat system). So the UI
>>command is not well supported at present. They might work, I haven't
>>test it yet.
>>
>>Thank you!
>>
>>Regards,
>>
>>Long
>>
>>
>>
>>
>>
>> =====================================================================
>>
>> 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