<div dir="ltr"><div>Hi,</div><div>with --proj_iso_x, you only move the detector, not the source. If you also want to move the source, --source_x needs to be used. Hopefully the drawing on the <a href="http://www.openrtk.org/Doxygen/DocGeo3D.html">doc page</a> helps to understand this. So since you don't have any source offset in your geometry file, you are in the first line and last line situation of your drawing image.</div><div>Now, on the last line, what you're actually doing is imaging with the same source arc but actually shifting the detector. This is equivalent to a 180° source rotation with a larger rotation. You only need a weighting function to account for the redundancy but this is not going to be the same one as the one implemented because it needs to be on different side of the detector/projections (as on the first line of your projections). In any case, 180° is not enough, you need at least 180+fan angle and to combine this with a short scan Parker weighting.</div><div>Simon<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 30, 2019 at 6:00 PM <<a href="mailto:gabriele.belotti.bergamo@gmail.com">gabriele.belotti.bergamo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="IT"><div class="gmail-m_-8968239805847431749WordSection1"><p class="MsoNormal"><span lang="EN-GB">Hi Simon,<br><br>Sorry for the late reply.<br>I drew a sketch in two part to explain my doubts.<br>First I drew 3 configurations for the geometry, representing my doubt towards what exactly is achieved by Isocenter Projection translation in the RTK geometry; i.e. does it result in a source translation or in a cone beam rotation (in XZ plane) to accommodate for the panel displacement? (I’m expecting the latter but I couldn’t properly check).<br><br>The last two sketches represent the same concept with two of the possible geometries(of course I’d prefer the latter):<br>The idea is to first rotate with the detector displaced on one side by 180° and then displace in the opposite direction and rotate of additional 180° (always clockwise rotation).<br>Any comment or suggestion would be highly appreciated and eventually I will try to impose weights according to improve the reconstruction.<br><br>PS: zoom in on the sketch, the resolution should be sufficient to read<br>PPS: I’m also attaching a screenshot of a reconstruction achieved with the exotic geometry :^] and the xml I generated for it (beware that my detector is 298 mm wide and the displacement is of +/-120 mm)<br><br>Best regards,<br>Gabriele<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><b>Da:</b> Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>> <br><b>Inviato:</b> martedì 29 ottobre 2019 18.21<br><b>A:</b> <a href="mailto:gabriele.belotti.bergamo@gmail.com" target="_blank">gabriele.belotti.bergamo@gmail.com</a><br><b>Cc:</b> rtk-users <<a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a>><br><b>Oggetto:</b> Re: [Rtk-users] Half Fan dataset<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Hi Gabriele,<u></u><u></u></p></div><div><p class="MsoNormal">Great that you moved forward.<u></u><u></u></p></div><div><p class="MsoNormal">It's quite sure that the current implementation does not handle this new exotic geometry. So my suggestion would be to implement your own weights (e.g., using the python package).<u></u><u></u></p></div><div><p class="MsoNormal">It's not clear to me what you're trying to achieve here but it seems to me that only the central part seen by all source positions has enough data (point of space which see at least 180° of source positions) to be reconstructible. Maybe you should draw your two cones at 90° and -90° to be sure of what you're doing? Don't hesitate to share such a drawing on which we could comment.<u></u><u></u></p></div><div><p class="MsoNormal">Best regards,<u></u><u></u></p></div><div><p class="MsoNormal">Simon<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Tue, Oct 29, 2019 at 4:10 PM <<a href="mailto:gabriele.belotti.bergamo@gmail.com" target="_blank">gabriele.belotti.bergamo@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"><span lang="EN-GB">Dear Simon and RTK users,<br><br>I’ve been experimenting on the generation of Half Fan CBCT images successfully from reprojections of CTs starting from Simon’s suggestions.<br>So far I was able to reconstruct images by displacing the detector in the X direction (+ or -) and completing a single rotation. Results were good and the FOV was of course larger than the one obtained from using the same virtual detector without displacement.<br><br>I’ve taken the simulation a step further and I’m currently creating a geometry which is similar to the combination of “rtksimulatedgeometry -n 180 --proj_iso_x <displacement> -o g_1” and “rtksimulatedgeometry -n 180 --proj_iso_x <(-1)*displacement> -o g_2 -f 180” (I’m rotating first between 0° and 180° while displacing by half detector size on +X and then 180° and 360° while displacing by half detector size on -X).<br>With this single .xml I’m reprojecting a CT into a single .mha using rtkforwardprojections and then I’m using the output as input for rtkfdk.<br><br>My results however suffer from a centered artifact, of semi-cylindrical shape, in my opinion caused by the superimposition of rays from the two beams around the isocenter.<br>This is further supported by the fact that the more I displace the detector the smaller the artefact becomes (of course I can’t displace more than 50% of detector size).<br>I guess a possible solution would be to have a perfect half-cone x-ray beam by shaping it using a collimator, but I’m not sure how to proceed on this in the simulated environment.<br>Have you got any suggestions or observation on how to achieve a reconstruction based on this? (two rotations/acquistion given two opposite detector displacements)<br><br>Thanks in advance,<br>Gabriele</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><p class="MsoNormal"><b><span lang="EN-GB">Da:</span></b><span lang="EN-GB"> Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>> <br><b>Inviato:</b> venerdì 11 ottobre 2019 13.10<br><b>A:</b> <a href="mailto:gabriele.belotti.bergamo@gmail.com" target="_blank">gabriele.belotti.bergamo@gmail.com</a><br><b>Cc:</b> rtk-users <<a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a>><br><b>Oggetto:</b> Re: [Rtk-users] Half Fan dataset</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><div><div><p class="MsoNormal"><span lang="EN-GB">Hi,</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">It's easy to generate, you need to offset your detector, either via the RTK geometry or by setting the first coordinate of the origin of your projection to something which makes the projection uncentered. For example, in the geometry :</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">rtksimulatedgeometry -n 180 --proj_iso_x 100 -o g</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">rtkprojectshepploganphantom -g g -o proj.mha</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">rtkfdk -p . -g g -r proj.mha -o fdk.mha</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">You can simulate from a CT image by following </span><a href="http://wiki.openrtk.org/index.php/RTK/Scripts/ForwardProjection" target="_blank"><span lang="EN-GB">this example</span></a><span lang="EN-GB">.</span><u></u><u></u></p></div><div><p class="MsoNormal"><span lang="EN-GB">Simon</span><u></u><u></u></p></div></div><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><div><div><p class="MsoNormal"><span lang="EN-GB">On Fri, Oct 11, 2019 at 9:58 AM <</span><a href="mailto:gabriele.belotti.bergamo@gmail.com" target="_blank"><span lang="EN-GB">gabriele.belotti.bergamo@gmail.com</span></a><span lang="EN-GB">> wrote:</span><u></u><u></u></p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt"><div><div><p class="MsoNormal"><span lang="EN-GB">Dear RTK users and developers,<br><br>I’m currently experimenting with FDK reconstruction and I’m struggling to find a Half-Fan projection dataset to fiddle around.. Do you know where I can find one? I’ve taken into consideration generating a set of DRRs from an existing phantom. Any help or advice you can give me would be greatly appreciated, thanks!<br><br>Gabriele Belotti</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p></div></div><p class="MsoNormal"><span lang="EN-GB">_______________________________________________<br>Rtk-users mailing list<br></span><a href="mailto:Rtk-users@public.kitware.com" target="_blank"><span lang="EN-GB">Rtk-users@public.kitware.com</span></a><span lang="EN-GB"><br></span><a href="https://public.kitware.com/mailman/listinfo/rtk-users" target="_blank"><span lang="EN-GB">https://public.kitware.com/mailman/listinfo/rtk-users</span></a><u></u><u></u></p></blockquote></div></div></div></blockquote></div></div></div></blockquote></div>