<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal, li.gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal, div.gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal
        {mso-style-name:gmail-m_8314667659250336621gmail-m-519719924775407965xmsonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi Simon,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yes, I think maybe the problem is because my data itself is not desirable. I utilized another dataset and the results get much better.
</p>
<p class="MsoNormal">Additionally, the SubSelectImageFilter<span style="font-family:DengXian"> works well.
</span>Thank you again, really appreciate it.<span style="font-family:DengXian"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:DengXian"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:DengXian">Best,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:DengXian">Zhehao</span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:simon.rit@creatis.insa-lyon.fr">Simon Rit</a><br>
<b>Sent: </b>Sunday, May 17, 2020 9:38 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">That's more or less what I would expect from 17 projections but your gray window is not well adjusted. The white streaks on the border are probably because your projections are badly calibrated and air is not at 0 as it should be.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">rtk::SubSelectImageFilter is not meant to be instantiated, the New you are using is inherited from the parent. Try using rtk::SubSelectFromListImage.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Simon<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, May 15, 2020 at 8:16 PM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thank you for reply. I tried to remove the Parker weights, however, it didn’t really help. As you can see from the attached result, there is still almost no contrast.
</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Since I don’t what else I can do along this way, I am thinking using more projections for each phase (of course some motion blur may appear). My preliminary idea is to use ‘ReorderProjectionsImageFilter’
 to reorder the projections and geometry, then sub-select corresponding projections for every phase. Is there some Python RTK implements can do this selection? I have tried ‘SubSelectImageFilter’ like</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">selector = rtk.SubSelectImageFilter[ImageType].New()</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">selector.SetInputProjectionStack(reorder.GetOutput())</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">selector.SetInputGeometry(reorder.GetOutputGeometry())</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">and got Error 'itkObject' object has no attribute 'SetInputProjectionStack'. I think the
<a href="http://www.openrtk.org/Doxygen/classrtk_1_1SubSelectImageFilter.html" target="_blank">
SubSelectImageFilter</a> should have these set methods but I don’t know why I cannot use them on Python.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Sorry for these troubles. Hope to get your help.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Best,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Zhehao</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor currentcolor">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
</b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Sent: </b>Friday, May 15, 2020 4:21 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi,</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Congratulations on this code translation. Only 17 cycles according to your phase.txt file is very few. But there seems to be something else going one. I would suggest to remove
 the parker weights because RTK might detect a short scan since you have large gaps between projections in the same cycle. Or set the
<a href="http://www.openrtk.org/Doxygen/classrtk_1_1ParkerShortScanImageFilter.html#a7f0bc650a54b022cb47523841749d741" target="_blank">
angular threshold</a> to a larger value to be sure that it does not apply any such weight, the default is pi/9 and not large enough in your case.</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Simon</p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On Thu, May 14, 2020 at 11:58 PM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu" target="_blank">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Hi,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Sorry for my fault, I think I have made that link public this time. The results are also uploaded.</p>
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">The attachment  is my phase-correlated reconstruction result (the first phase of total five phases). Thank you.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">BTW, if I need to utilize more projections for each phase, is there some integrated method in RTK to do so? Or you mean that I need to handle it by myself?
</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Best regards,</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Zhehao</p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor">
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"><b>From:
</b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Sent: </b>Thursday, May 14, 2020 2:17 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Hi,</p>
</div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Yes, you understood correctly. Adding projections will not fix the problem of angular gaps but will add some motion blur. This is, in my experience, the best way to proceed but you're
 free to do otherwise.</p>
</div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">I can't access your link, it seems to be protected. Can you provide just one snapshot of your result?</p>
</div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Simon</p>
</div>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">On Thu, May 14, 2020 at 8:13 AM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu" target="_blank">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor windowtext">
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Hi,</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">First, thank you for your reply. I am following the rtkfourdfdk to do the phase-correlated recon now. However, the result is not desirable and I am wondering whether the bad results result
 from too few projections for each phase.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">If I understand the rtk::SelectOneProjectionPerCycleImageFilter correctly, it only select one projection from per respiratory cycle for each phase. So if 20 projections were acquired
 per respiratory cycle and I want to reconstruct 10 phases, only half projections will be used, right? I don’t know why we abandon some projections and is there some way I can use all the data? That’s to say, select 2 projections for each one of total 10 phases
 per respiratory cycle.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">I also put my Python code and used data here(
<a href="https://drive.google.com/drive/folders/1SFXr4ehI1N8Wh0BAMlRqIah9cXwukRYJ" target="_blank">
https://drive.google.com/drive/folders/1SFXr4ehI1N8Wh0BAMlRqIah9cXwukRYJ</a><span style="font-family:DengXian">
</span>). </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Thank you again.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Zhehao</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor">
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"><b>From:
</b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Sent: </b>Wednesday, May 13, 2020 3:59 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Hi,</p>
</div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">I think you should look at
<a href="https://github.com/SimonRit/RTK/blob/master/applications/rtkfourdfdk/rtkfourdfdk.cxx" target="_blank">
rtkfourdfdk</a> which does what you want. rtk::SelectOneProjectionPerCycleImageFilter will select the projections for you. Can you try to reimplement this in Python? We'll help if you're stuck but this is the right file to use as a basis for your dev.</p>
</div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Simon</p>
</div>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">On Wed, May 13, 2020 at 8:07 AM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu" target="_blank">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor windowtext">
<div>
<div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Dear all,
</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">I am trying to do the 4D phase-correlated CBCT reconstruction under Python environment. What I have are the projection data(.mha), geometry info(.xml) and the repiratory info(.txt). You
 can check the attachment for the phase file. I want just to simply ‘divide’ the projections and geometry into different bins according to the phase information and perform FDK recon separately, to get several different 3D images with streaks artifacts of course.
 The Rooster is not necessary for me.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">I have spent lot of time on the given ‘4DROOSTERReconstruction’ example. I think it used the ReorderProjectionsImageFilter order to do the separation. However, I am stuck on how to perform
 it for Python since I didn’t figure out how to read the phase.txt. Could you please give me some hints and is it correct to call this order to achieve my goals?</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Additionally, I also saw another test example(<a href="https://github.com/SimonRit/RTK/blob/master/test/rtkwarpprojectionstacktofourdtest.cxx" target="_blank">https://github.com/SimonRit/RTK/blob/master/test/rtkwarpprojectionstacktofourdtest.cxx</a>)
 which seems using ‘PhasesToInterpolationWeights’ ,  ‘BackProjectionImageFilter’ and ‘DivideImageFilter ‘ to do this. I am confused I should follow which way. And I also want to make sure why here using BackProjectionImageFilter rather than FDKConeBeamReconstructionFilter.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Sorry for these cumbersome questions. Really hope to get some help, which means a lot for me. Thank you very much.</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Sincerely,</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal">Zhehao</p>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
</div>
</div>
</blockquote>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal" style="margin-left:4.8pt">
_______________________________________________<br>
Rtk-users mailing list<br>
<a href="mailto:Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a><br>
<a href="https://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">https://public.kitware.com/mailman/listinfo/rtk-users</a></p>
</div>
</div>
</blockquote>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal" style="margin-left:4.8pt">
 </p>
</div>
</div>
<p class="gmail-m8314667659250336621gmail-m-519719924775407965xmsonormal"> </p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
<b>From: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Sent: </b>Thursday, May 14, 2020 2:38 AM<br>
<b>To: </b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>RE: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Sorry for my fault, I think I have made that link public this time. The results are also there.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
I attached two results, the better one is conventional FDK where also projections are used (no separate phase) and another one is phase-correlated recon (the shown is the first of five phases).</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
BTW, if I need to utilize more projections for each phase, is there some integrated method in RTK to do so? Or you mean that I need to handle it by myself?</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Best regards,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Zhehao</p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
<b>From: </b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Sent: </b>Thursday, May 14, 2020 2:17 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Hi,</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Yes, you understood correctly. Adding projections will not fix the problem of angular gaps but will add some motion blur. This is, in my experience, the best way to proceed but you're free to do otherwise.</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
I can't access your link, it seems to be protected. Can you provide just one snapshot of your result?</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
Simon</p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
On Thu, May 14, 2020 at 8:13 AM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu" target="_blank">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor windowtext">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
Hi,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
First, thank you for your reply. I am following the rtkfourdfdk to do the phase-correlated recon now. However, the result is not desirable and I am wondering whether the bad results result from too few projections for each phase.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
If I understand the rtk::SelectOneProjectionPerCycleImageFilter correctly, it only select one projection from per respiratory cycle for each phase. So if 20 projections were acquired per respiratory cycle and I want to reconstruct 10 phases, only half projections
 will be used, right? I don’t know why we abandon some projections and is there some way I can use all the data? That’s to say, select 2 projections for each one of total 10 phases per respiratory cycle.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
I also put my Python code and used data here( <a href="https://drive.google.com/drive/folders/1SFXr4ehI1N8Wh0BAMlRqIah9cXwukRYJ" target="_blank">
https://drive.google.com/drive/folders/1SFXr4ehI1N8Wh0BAMlRqIah9cXwukRYJ</a><span style="font-family:DengXian">
</span>). </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
Thank you again.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
Zhehao</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
<b>From: </b><a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">Simon Rit</a><br>
<b>Sent: </b>Wednesday, May 13, 2020 3:59 AM<br>
<b>To: </b><a href="mailto:zhehao.zhang@wustl.edu" target="_blank">Zhang, Zhehao</a><br>
<b>Cc: </b><a href="mailto:rtk-users@public.kitware.com" target="_blank">rtk-users@public.kitware.com</a><br>
<b>Subject: </b>Re: [Rtk-users] 4D Phase-correlated Reconstruction</p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
Hi,</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
I think you should look at <a href="https://github.com/SimonRit/RTK/blob/master/applications/rtkfourdfdk/rtkfourdfdk.cxx" target="_blank">
rtkfourdfdk</a> which does what you want. rtk::SelectOneProjectionPerCycleImageFilter will select the projections for you. Can you try to reimplement this in Python? We'll help if you're stuck but this is the right file to use as a basis for your dev.</p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
Simon</p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
 </p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:24.0pt">
On Wed, May 13, 2020 at 8:07 AM Zhang, Zhehao <<a href="mailto:zhehao.zhang@wustl.edu" target="_blank">zhehao.zhang@wustl.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor windowtext">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
Dear all, </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
I am trying to do the 4D phase-correlated CBCT reconstruction under Python environment. What I have are the projection data(.mha), geometry info(.xml) and the repiratory info(.txt). You can check the attachment for the phase file. I want just to simply ‘divide’
 the projections and geometry into different bins according to the phase information and perform FDK recon separately, to get several different 3D images with streaks artifacts of course. The Rooster is not necessary for me.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
I have spent lot of time on the given ‘4DROOSTERReconstruction’ example. I think it used the ReorderProjectionsImageFilter order to do the separation. However, I am stuck on how to perform it for Python since I didn’t figure out how to read the phase.txt. Could
 you please give me some hints and is it correct to call this order to achieve my goals?</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
Additionally, I also saw another test example(<a href="https://github.com/SimonRit/RTK/blob/master/test/rtkwarpprojectionstacktofourdtest.cxx" target="_blank">https://github.com/SimonRit/RTK/blob/master/test/rtkwarpprojectionstacktofourdtest.cxx</a>) which
 seems using ‘PhasesToInterpolationWeights’ ,  ‘BackProjectionImageFilter’ and ‘DivideImageFilter ‘ to do this. I am confused I should follow which way. And I also want to make sure why here using BackProjectionImageFilter rather than FDKConeBeamReconstructionFilter.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
Sorry for these cumbersome questions. Really hope to get some help, which means a lot for me. Thank you very much.</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
Sincerely,</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
Zhehao</p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.6in">
 </p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.4in">
_______________________________________________<br>
Rtk-users mailing list<br>
<a href="mailto:Rtk-users@public.kitware.com" target="_blank">Rtk-users@public.kitware.com</a><br>
<a href="https://public.kitware.com/mailman/listinfo/rtk-users" target="_blank">https://public.kitware.com/mailman/listinfo/rtk-users</a></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:9.6pt">
 </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt">
 </p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>