<html><head></head><body><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 name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Montag, 13. Juli 2015 um 19:21 Uhr<br/>
<b>Von:</b> "Robert Calließ" <robert.calliess@gmx.de><br/>
<b>An:</b> rtk-users@public.kitware.com<br/>
<b>Betreff:</b> [Rtk-users] distance driven projector, a simplified approach ?</div>
<div name="quoted-content"><!--p.MsoNormal, li.MsoNormal, div.MsoNormal {
margin: 0.0cm;
font-size: 12.0pt;
font-family: "Times New Roman" , serif;
}
a:link, span.MsoHyperlink {
color: blue;
text-decoration: underline;
}
a:visited, span.MsoHyperlinkFollowed {
color: purple;
text-decoration: underline;
}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {
margin-top: 0.0cm;
margin-right: 0.0cm;
margin-bottom: 0.0cm;
margin-left: 36.0pt;
font-size: 12.0pt;
font-family: "Times New Roman" , serif;
}
span.E-MailFormatvorlage17 {
font-family: Calibri , sans-serif;
color: rgb(31,73,125);
}
*.MsoChpDefault {
font-family: Calibri , sans-serif;
}
div.WordSection1 {
page: WordSection1;
}
ol {
margin-bottom: 0.0cm;
}
ul {
margin-bottom: 0.0cm;
}
-->
<div>
<div class="WordSection1">
<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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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 class="MsoListParagraph" style="margin-left: 72.0pt;text-indent: -18.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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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 class="MsoListParagraph" style="text-indent: -18.0pt;"><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>
_______________________________________________ Rtk-users mailing list Rtk-users@public.kitware.com <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></body></html>