<div dir="ltr"><div>Sorry, <a href="http://www.creatis.insa-lyon.fr/~srit/biblio/rit2009c.pdf">this link indeed</a> with the MapSeg function. And yes, I was projecting it to the detector plane directly.<br></div>Simon<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 15, 2015 at 2:07 PM, "Robert Calließ" <span dir="ltr"><<a href="mailto:Robert.Calliess@gmx.de" target="_blank">Robert.Calliess@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Verdana;font-size:12.0px"><div>
<div>Hello Simon,</div>

<div>thank you for your answer. I guess you linked the wrong article. But I know what article you are talking about.</div>

<div>It's the articel from 2009 with a piece of code (MapSeq).</div><span class="">

<div> </div>

<div>>> I don't have time to go into the details of what you have proposed but, from a glance, the first step seems useless.</div>

</span><div>You're right. It is that all pixels that are related to the overlap projected voxel overlap have to taken into account. So</div>

<div>detector pixels that are totally covered by the overlap are weight with "1" and if the overlap is between detector pixels</div>

<div>the pixels are weighted. Do you have a copy of the original article from the De Man and Basu ?</div>

<div> </div>

<div>I have the opinion that it's not neccessary to project the detector pixel boundaries and voxel boundaries onto a common plane</div>

<div>if we use a flat panel detector. Instead we could project the voxel boundaries onto the detector plane directly.</div>

<div>Do you agree with that or did I miss something ?</div>

<div> </div>

<div>best regards,</div>

<div>Robert</div>

<div> 
<div name="quote" style="margin:10px 5px 5px 10px;padding:10px 0 10px 10px;border-left:2px solid #c3d9e5;word-wrap:break-word">
<div style="margin:0 0 10px 0"><b>Gesendet:</b> Mittwoch, 15. Juli 2015 um 07:32 Uhr<br>
<b>Von:</b> "Simon Rit" <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>><br>
<b>An:</b> "Robert Calließ" <<a href="mailto:Robert.Calliess@gmx.de" target="_blank">Robert.Calliess@gmx.de</a>><br>
<b>Cc:</b> "<a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a>" <<a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a>><br>
<b>Betreff:</b> Re: [Rtk-users] distance driven projector, a simplified approach ?</div><div><div class="h5">

<div name="quoted-content">
<div>
<div>
<div>
<div>
<div>Hi,</div>
Indeed, I have published an <a href="http://www.creatis.insa-lyon.fr/~srit/biblio/rit2012b.pdf" target="_blank">article</a> on this projector describing my implementation, you could use it if you want, there's even a piece of code in it although I'm pretty sure it's not the best implementation. This implementation dealt with the case where the rotation axis is parallel to the detector. As far as I can remember, the original article of De Man and Basu is also quite clear.</div>
I don't have time to go into the details of what you have proposed but, from a glance, the first step seems useless.</div>
Good luck in your implementation and don't hesitate to send it to us when you have a working RTK implementation,</div>
Simon</div>

<div class="gmail_extra"> 
<div class="gmail_quote">On Tue, Jul 14, 2015 at 9:01 AM, "Robert Calließ" <span><<a href="http://Robert.Calliess@gmx.de" target="_blank">Robert.Calliess@gmx.de</a>></span> wrote:

<blockquote class="gmail_quote" style="margin:0 0 0 0.8ex;border-left:1.0px rgb(204,204,204) solid;padding-left:1.0ex">
<div>
<div style="font-family:Verdana;font-size:12.0px">
<div>
<div>Hell RTK User,</div>

<div>I think there is a mistake in the described approach.</div>

<div>Point a) and f) meight be wrong. As far as I Understand, all Pixels</div>

<div>that are covered by the projected voxel vertices are update</div>

<div>with weight * voxel_value. Where weight is the overlaping area</div>

<div>of the projected voxel vertices polygon on the detector plane and the</div>

<div>underlying detector pixels.</div>

<div> </div>

<div>Any opinions before implementing it ?</div>

<div> </div>

<div>regards,</div>

<div>Robert</div>

<div> 
<div style="margin:10.0px 5.0px 5.0px 10.0px;padding:10.0px 0 10.0px 10.0px;border-left:2.0px solid rgb(195,217,229)">
<div style="margin:0 0 10.0px 0"><b>Gesendet:</b> Montag, 13. Juli 2015 um 19:21 Uhr<br>
<b>Von:</b> "Robert Calließ" <<a href="http://robert.calliess@gmx.de" target="_blank">robert.calliess@gmx.de</a>><br>
<b>An:</b> <a href="http://rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Betreff:</b> [Rtk-users] distance driven projector, a simplified approach ?</div>

<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hello RTK users,</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I guess you know about the distance-driven projector. The main idea,</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">as far as I understand, of this algorithm is to project voxel boundaries onto</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">a common plane and the detector cell boundaries also on this common plane.</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Then the voxel’s contribution (weight) is the area of this overlapping. I read that the</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">projection of the voxel and detector cell boundaries on a common plane can be</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">simplified if the detector is a flat panel detector (guess this is what they called fixed</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">detector geometry). Even if they  mean by fixed-detector geometry that the detector</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">is not moving, we could use this simplification in a circular cone beam geometry. We can</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">either rotate the detector and source around the object or the object can be rotated</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">and the detector and source are fixed. I think Simon also wrote a paper about the</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">distance driven projector (?). </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">So my simplified approach would be (fixed detector and source position, object is rotating):</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>a)<span style="font:7.0pt "Times New Roman"">      </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">project voxel center on detector plane to determine the corresponding detector cell</span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>b)<span style="font:7.0pt "Times New Roman"">      </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">project voxel vertices on detector plane (dertemine area of this projected polygon)</span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>c)<span style="font:7.0pt "Times New Roman"">       </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">for each projected voxel vertex dertermine the neares detector cell</span></p>

<p style="margin-left:72.0pt"><span style="font-size:11.0pt;font-family:"Courier New";color:rgb(31,73,125)"><span>o<span style="font:7.0pt "Times New Roman"">   </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">i.e. vertex(20.3, 10.1) => DetectorCell(20, 10)</span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>d)<span style="font:7.0pt "Times New Roman"">      </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">dertermine the area of the polygon described by the corresponding detector cells (c)</span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>e)<span style="font:7.0pt "Times New Roman"">      </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">weight = area_from_b / area_from_d</span></p>

<p><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><span>f)<span style="font:7.0pt "Times New Roman"">       </span></span></span><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">add voxel_value * weight in detector cell determined in a</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">For the back projector the steps would be always the same (a – e). Value to back project</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Is taken from the correction image at position determined in step a.</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">For step b and d we could determine the minimum bounding rect and use this as the polygons areas.</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">So the weights should always be between 0 and 1 ( Wether the MEB lies exactly on the detector cells</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">or in between)</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I’m new to this topic. I want to hear your opinion. Is this a possible interpretation of the distance-driven</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">projector, since the main idea is to calculate the overlapping of voxel boundaries with detector cell bounderies.</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Best Regards,</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Robert</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span></p>
</div>
</div>
</div>
_______________________________________________ Rtk-users mailing list <a href="http://Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a> <a href="http://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">http://public.kitware.com/mailman/listinfo/rtk-users</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Rtk-users mailing list<br>
<a href="http://Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a><br>
<a href="http://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">http://public.kitware.com/mailman/listinfo/rtk-users</a><br>
 </blockquote>
</div>
</div>
</div>
</div></div></div>
</div>
</div></div></div>
</blockquote></div><br></div>