<div dir="ltr">Hi Andreas, <div><br></div><div>seems nice ! As I understand, you keep store image with a 3D matrix, but change the meaning : instead of (cartesian) x,y,z axis, you consider theta, phi, r is it right ? As you said, it could be included in the DoseActor itself with a flag enabling cylindrical (or polar) instead of cartesian coordinates. </div><div><br></div><div>I think it could be a nice additional feature to the dose actor. If you are happy with your solution, could you please provide code modification and a simple test example (ideally as a pull request) so that it can be included in the next Gate release ? I am pretty sure that other users will be interested by this feature ! </div><div><br></div><div>thanks, </div><div>David</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 30, 2016 at 12:10 PM, Andreas Resch <span dir="ltr"><<a href="mailto:andreas.resch@meduniwien.ac.at" target="_blank">andreas.resch@meduniwien.ac.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Am 2016-09-27 07:58, schrieb David Sarrut:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Hello Andreas,<br>
<br>
(I forward to gate mailing list as it can be useful to other users).<br>
<br>
To date, no tool is provided to score edep with cylindrical<br>
coordinates. It can be done from phase space, but it is tedious (and,<br>
as you say, the file start to be big quickly).<br>
<br>
The best approach should be to start writing a new dedicated Actor,<br>
inspired from GateDoseActor. For that, you need first to define a file<br>
format to store result in cylindrical coordinates, and allow the user<br>
to define the coordinate systems. Then, the main goal os to convert<br>
step position into that coord system. With the (cartesian) DoseActor,<br></span>
this is performed in the this function [1]  that compute the index of<div><div class="h5"><br>
the pixel according to the step coordinates position. This function is<br>
call in GateVImageActor::UserSteppingA<wbr>ction, and GateDoseActor inherit<br>
from this class.<br>
<br>
David<br>
<br>
On Mon, Sep 26, 2016 at 6:22 PM, Andreas Resch <<a href="mailto:resch.andi@gmail.com" target="_blank">resch.andi@gmail.com</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi David,<br>
<br>
I was wondering if I can score the energy deposition in cylindrical<br>
coordinates without angular information Edep(depth, radius).<br>
<br>
Aparently it looks like not. The GateVImageActor uses x,y,z.<br>
<br>
Do you know any workaround apart from the phaseSpace actor (it seems<br>
that the files become large when enabling all steps..)<br>
<br>
Maybe sth. like the energySpectrum actor?<br>
<br>
Cheers,<br>
<br>
Andreas<br>
</blockquote>
<br>
--<br>
<br>
David Sarrut, Phd<br>
Directeur de recherche CNRS<br>
CREATIS, UMR CNRS 5220, Inserm U1206<br>
Centre de lutte contre le cancer Léon Bérard<br>
28 rue Laënnec, 69373 Lyon cedex 08<br>
Tel : <a href="tel:04%2078%2078%2051%2051" value="+33478785151" target="_blank">04 78 78 51 51</a> / <a href="tel:06%2074%2072%2005%2042" value="+33674720542" target="_blank">06 74 72 05 42</a><br>
<a href="http://www.creatis.insa-lyon.fr/~dsarrut" rel="noreferrer" target="_blank">http://www.creatis.insa-lyon.f<wbr>r/~dsarrut</a><br>
______________________________<wbr>___<br>
 "2 + 2 = 5,  for extremely large values of 2"<br>
______________________________<wbr>___<br>
<br></div></div>
Links:<br>
------<br>
[1]<br>
<a href="https://github.com/OpenGATE/Gate/blob/develop/source/digits_hits/src/GateVImageActor.cc#L353" rel="noreferrer" target="_blank">https://github.com/OpenGATE/Ga<wbr>te/blob/develop/source/digits_<wbr>hits/src/GateVImageActor.cc#<wbr>L353</a><br>
______________________________<wbr>_________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.opengatecollaboration.org" target="_blank">Gate-users@lists.opengatecolla<wbr>boration.org</a><br>
<a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" rel="noreferrer" target="_blank">http://lists.opengatecollabora<wbr>tion.org/mailman/listinfo/<wbr>gate-users</a><br>
</blockquote>
<br>
<br>
Hi David,<br>
<br>
thanks for your advice. It works exactly as you described.<br>
I have written a new edep actor (basically a copy from dose actor, removed 90% of the code). I did not define a new file format, but used the cartesian one and just wrote a new<br>
int GateVImage::GetIndexFromPositi<wbr>on CylindricalCS where the x is replaced by the radius r= sqrt(x*x + y*y) (the std::sqrt function is noticeably slow, so I implemented the babylonian method with few iterations only). The new GetIndexFromPositionCylindrica<wbr>lCS is accessed by an additional stepHitType. So in principal I could have also used the GateDoseActor.<br>
<br>
This is the quickest solution I found, not the best, but it does the job for me. If there is some time, I'll define an r,z image.<br>
<br>
<br>
Thanks again,<br>
Andreas<br>
-- <br>
-------------------------<br>
<br>
ANDREAS RESCH, <a href="http://M.SC" rel="noreferrer" target="_blank">M.SC</a>.<br>
PhD student, Medical Physics<br>
<br>
MEDICAL UNIVERSITY OF VIENNA<br>
Department of Radiotherapy<br>
Christian Doppler Laboratory for Medical Radiation Physics for Radiation<br>
Oncology<br>
<br>
Waehringer Guertel 18-20, 1090 Wien<br>
Ph: <a href="tel:%2B43%20%280%291%2040400-72710" value="+4314040072710" target="_blank">+43 (0)1 40400-72710</a><br>
Ph: <a href="tel:%2B43%20%280%292622%2026100-931" value="+43262226100931" target="_blank">+43 (0)2622 26100-931</a><br>
<a href="mailto:andreas.resch@meduniwien.ac.at" target="_blank">andreas.resch@meduniwien.ac.at</a><br>
<a href="http://www.meduniwien.ac.at/radonc" rel="noreferrer" target="_blank">www.meduniwien.ac.at/radonc</a><br>______________________________<wbr>_________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.opengatecollaboration.org">Gate-users@lists.<wbr>opengatecollaboration.org</a><br>
<a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" rel="noreferrer" target="_blank">http://lists.<wbr>opengatecollaboration.org/<wbr>mailman/listinfo/gate-users</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">David Sarrut, Phd<br>Directeur de recherche CNRS<br>CREATIS, UMR CNRS 5220, Inserm U1206<div>Centre de lutte contre le cancer Léon Bérard<br>28 rue Laënnec, 69373 Lyon cedex 08<br>Tel : 04 78 78 51 51 / 06 74 72 05 42<br><a href="http://www.creatis.insa-lyon.fr/~dsarrut" target="_blank">http://www.creatis.insa-lyon.fr/~dsarrut</a><br>_________________________________</div><div> "2 + 2 = 5,  for extremely large values of 2"<br>_________________________________</div></div></div></div></div></div></div>
</div>