<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1258">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Thank you Simon for your quick and detailed response!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
I followed the instructions you gave in the last paragraph of your answer, i.e. create a sensitivity image with "-proj multiSiddon,2500" (100 times what I used before) and "-sens-only" and then use it to reconstruct the list-mode data with "-sens sensitivity_multiSiddon,2500.hdr"
but still using "-proj multiSiddon,25" and it worked exactly as you predicted.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
The magnitude of the differences between the image reconstructed from the histogram format and the list-mode format was divided by a factor of 5 approximately, making it practically impossible to tell them apart.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Thank you again, I learned something new!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Étienne</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<img size="221204" contenttype="image/png" unselectable="on" tabindex="-1" style="max-width: 100%; user-select: none;" data-outlook-trace="F:1|T:1" src="cid:39f752c5-afb1-48d6-9ec1-58fd0dd5d751"><br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De :</b> STUTE Simon <simon.stute@chu-nantes.fr><br>
<b>Envoyé :</b> 27 mai 2020 04h27<br>
<b>À :</b> castor-users@lists.castor-project.org <castor-users@lists.castor-project.org>; Etienne Auger <Etienne.Auger@USherbrooke.ca><br>
<b>Objet :</b> Re: Difference in reconstructed image in histogram vs list-mode data when using multiSiddon projector</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Hi Etienne,<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Hope you are doing good !<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
With listmode data, the sensitivity image is computed once at the beginning, before iterating. So this image is always the same during iterations. If you use a stochastic projector (which is the case of multi-siddon), the system matrix is different at each
iteration and also for the computation of that sensitivity image. Thus, in the image update step, there is a mismatch between the system matrices used for the sensitivity and for the loop over events to compute the correction image.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
With histogram data, in CASToR, the sensitivity image is computed simultaneously while processing histogram bins for each update. So even with stochastic projectors, there is a perfect match between the system matrices used for the sensitivity and the correction
image.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
In short, with a stochastic projector, you will never be able to have a perfect match between listmode and histogram reconstructions.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Also, for listmode reconstruction, you should theoritically use an infinite number of lines to generate the sensitivity image. To do so with the current CASToR code (also with your version I think), you should launch a reconstruction with -sens-only option
and an as-big-as-possible number of lines to compute the sensitivity. Then input that sensitivity image to the reconstruction with -sens option. I would say, empirically, that you should have two orders of magnitude between numbers of lines for the sensitivity
and for iterations.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Hope this helps<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Simon</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Castor-users <castor-users-bounces@lists.castor-project.org> on behalf of Etienne Auger <Etienne.Auger@USherbrooke.ca><br>
<b>Sent:</b> Tuesday, May 26, 2020 9:44:49 PM<br>
<b>To:</b> castor-users@lists.castor-project.org <castor-users@lists.castor-project.org><br>
<b>Subject:</b> [Castor-users] Difference in reconstructed image in histogram vs list-mode data when using multiSiddon projector</font>
<div> </div>
</div>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Hello fellow CASToR users,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Have you ever experienced visible differences in reconstructed images depending on the type of data format you used? Indeed, for the same simulation of a Derenzo type phantom made in GATE, I obtain different reconstructed images whether I converted the data
in histogram or list-mode format using the "castor-GATERootToCastor" utility. This seems to happen only when I use the multiSiddon projector though. Since the sampling with this projector is random, I set the seed with "-rng-seed 0" to ensure the differences
do not come from a different LOR sub-sampling. I would expect the images to be, within numerical errors, identical since they come from the same information, just formatted differently... I am currently using CASToR v2.0.2.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Here is an example using the Siddon projector, that gives almost identical images, as expected. The top image is list-mode, the middle one is histogram mode, and the bottom one is the subtraction. The command lines used to reconstruct both images are :</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
List-mode : "castor-recon -df data.lm_CstrProj.Cdh -dout image.lm.siddon.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4"<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Histogram mode : "castor-recon -df data.hm_CstrProj.Cdh -dout image.hm.siddon.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4"<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<img size="313083" tabindex="-1" style="max-width:100%" data-outlook-trace="F:2|T:2" src="cid:f7922b70-f2fc-4938-9e82-bc3f6750a2a2"><br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Here is the same example using the mutliSiddon projector, that gives different images. Again, the top image is list-mode, the middle one is histogram mode, and the bottom one is the subtraction. The command lines used to reconstruct both images are :<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
List-mode : "castor-recon -df data.lm_CstrProj.Cdh -dout image.lm.multiSiddon_25.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4 -proj multiSiddon,25 -rng-seed 0 -oit -1"<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Histogram mode : "castor-recon -df data.hm_CstrProj.Cdh -dout image.hm.multiSiddon_25.15mmAx -it 32:1 -dim 100,100,50 -vox 0.3,0.3,0.3 -vb 1 -th 4 -proj multiSiddon,25 -rng-seed 0 -oit -1"<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<img size="296591" tabindex="-1" style="max-width:100%" data-outlook-trace="F:2|T:2" src="cid:e4e2fdd6-ff58-48a1-a2e1-2f0c491fceda"><br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
In addition to the white spots appearing in list-mode at axial extremities, the histogram version looks "smoother".</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Thank you to provide me an explanation if you understand what is going on!</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Étienne</div>
</div>
</div>
</body>
</html>