<div><div><div>Dear Simon,<br><br></div>Thanks<br></div></div><div><div class="gmail_extra">Now the problem is that , the new reconstructed image is shown black, although it has mean and max values. What can that problem come from?</div><div class="gmail_extra"><br></div><div class="gmail_extra">Best regards,</div><div class="gmail_extra">Sareh<br><div class="gmail_quote">On Tue, Apr 18, 2017 at 1:31 PM, Simon Rit <span><<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><div><div><div>Hi,<br></div>You need to work with numpy, as explained in the help:<br><br>>>> import SimpleRTK as srtk<br>>>> help(srtk.GetImageFromArray)<br>Help on function GetImageFromArray in module SimpleRTK.SimpleRTK:<br><br>GetImageFromArray(arr, isVector=False)<br>    Get a SimpleRTK Image from a numpy array. If isVector is True, then a 3D array will be treaded as a 2D vector image, otherwise it will be treaded as a 3D image<br><br></div>So in this example, you can obtain what you want by adding <br> import SimpleRTK as srtk<br></div><br>at the beginning and then doing<br>a = srtk.GetArrayFromImage(reiImage)<br>b = (0.00000000018308 * np.power(a, 4)) - (0.000000117480729 * np.power(a, 3)) + (0.00001747041637 * np.power(a, 2)) + 1.000021291118193 * a<br>reiImage = srtk.GetImageFromArray(a)<br><br></div>This should work.<br></div>Simon<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-662448828743487456h5">On Tue, Apr 18, 2017 at 9:23 AM, sare Borhani <span><<a href="mailto:sareh.borhani@gmail.com" target="_blank">sareh.borhani@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-662448828743487456h5"><div>Dear RTK.User,<div><br></div>I'm using python wrapped version of RTK.<br><div><br></div><div>I used the only example of that for reconstruction.It works perfectly.</div><span style="color:rgb(36,39,41);font-family:arial,"helvetica neue",helvetica,sans-serif;font-size:13px">The problem is that I need to simulate an artifact on projection 2D images, so first I got each 2D images of stack reiImage by <b>srtk.GetArrayFromImage(reiImage) </b>and
 then I applied a polynomial on that to simulate an artifact.NOW need to
 extract these artifacted-images again to the simpleRTK image to be able
 to reconstruct it at the end. I thought maybe <b>srtk.GetImageFromArray</b> works, but it doesn't.<br></span><pre style="white-space:pre-wrap;font-family:"dejavu sans mono";font-size:11.3pt"><span class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-im"><div style="color:rgb(0,0,0)"><div class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-m_2514016107710297388gmail-im">rei.SetAxis(semiprincipalaxis)<br>rei.SetGeometry( geometry )<br>reiImage = rei.Execute(source)<br><br></div></div></span><span class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-m_2514016107710297388gmail-im" style="color:rgb(0,0,0)">sampleList = []<br><span style="color:rgb(0,0,128);font-weight:bold">for </span>rcount <span style="color:rgb(0,0,128);font-weight:bold">in </span><span style="color:rgb(0,0,128)">range</span>(<span style="color:rgb(0,0,255)">0</span>,<span style="color:rgb(0,0,255)">127</span>):<br>    outputName = <span style="color:rgb(0,128,0);font-weight:bold">'/home/PycharmProjects/test/Sample'</span>+ <span style="color:rgb(0,0,128)">str</span>(rcount)<br>    <span style="color:rgb(128,128,128);font-style:italic">#plt.imsave(outputName, srtk.GetArrayFromImage(reiImage [:,rcount,:]),  cmap='gray')<br></span><span style="color:rgb(128,128,128);font-style:italic">    </span>sampleList.append(srtk.GetArrayFromImage(reiImage [:,rcount,:]))<br><br></span><font color="#000000">test = np.zeros(np.shape(sampleList[</font><span style="color:rgb(0,0,255)">0</span><font color="#000000">]),</font><span style="color:rgb(102,0,153)">dtype</span><font color="#000000">=np.float32)<br><br>bhImages = []<br></font><span style="color:rgb(0,0,128);font-weight:bold">for </span><font color="#000000">reiImage1 </font><span style="color:rgb(0,0,128);font-weight:bold">in </span><font color="#000000">sampleList:</font><span class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-m_2514016107710297388gmail-im" style="color:rgb(0,0,0)"><br>    <span style="color:rgb(128,128,128);font-style:italic">#img = plt.imread('/home/PycharmProjects/reiOutput/Sample%d'%k)<br></span></span><span style="color:rgb(128,128,128);font-style:italic">    #modifiedImg = sampleList[k]<br></span><span style="color:rgb(128,128,128);font-style:italic">    </span><font color="#000000">artifactedreiImg= np.zeros(np.shape(reiImage1),</font><span style="color:rgb(102,0,153)">dtype</span><font color="#000000">=np.float32)<br>    </font><span style="color:rgb(0,0,128);font-weight:bold">for </span><font color="#000000">i </font><span style="color:rgb(0,0,128);font-weight:bold">in </span><span style="color:rgb(0,0,128)">range </span><font color="#000000">(reiImage1.shape[</font><span style="color:rgb(0,0,255)">0</span><font color="#000000">]):<br>        </font><span style="color:rgb(0,0,128);font-weight:bold">for </span><font color="#000000">j </font><span style="color:rgb(0,0,128);font-weight:bold">in </span><span style="color:rgb(0,0,128)">range </span><font color="#000000">(reiImage1.shape[</font><span style="color:rgb(0,0,255)">1</span><font color="#000000">]):<br>            a = reiImage1[i, j]<br>            b = (</font><span style="color:rgb(0,0,255)">0.00000000018308 </span><font color="#000000">* </font><span style="color:rgb(0,0,128)">pow</span><font color="#000000">(a, </font><span style="color:rgb(0,0,255)">4</span><font color="#000000">)) - (</font><span style="color:rgb(0,0,255)">0.000000117480729 </span><font color="#000000">* </font><span style="color:rgb(0,0,128)">pow</span><font color="#000000">(a, </font><span style="color:rgb(0,0,255)">3</span><font color="#000000">)) + (</font><span style="color:rgb(0,0,255)">0.00001747041637 </span><font color="#000000">* </font><span style="color:rgb(0,0,128)">pow</span><font color="#000000">(a, </font><span style="color:rgb(0,0,255)">2</span><font color="#000000">)) + </font><span style="color:rgb(0,0,255)">1.000021291118193 </span><font color="#000000">* a<br>       </font><span style="color:rgb(128,128,128);font-style:italic"><br></span><span style="color:rgb(128,128,128);font-style:italic">            </span><font color="#000000">artifactedreiImg[i, j] = b<br><br>    artifactedreiImg = artifactedreiImg.astype(np.float32)</font><span class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-m_2514016107710297388gmail-im" style="color:rgb(0,0,0)"><br>   </span><span style="color:rgb(128,128,128);font-style:italic"><br></span><span style="color:rgb(128,128,128);font-style:italic">    </span><font color="#000000">bhImages.append(artifactedreiImg.astype(np.float32))</font><span class="m_-662448828743487456m_-2205744641745842966m_7855931950654822596gmail-m_2514016107710297388gmail-im" style="color:rgb(0,0,0)"><br>    <span style="color:rgb(128,128,128);font-style:italic">#plt.imsave(outputName, artifactedreiImg, cmap='gray')<br></span></span><font color="#000000"><br></font><b style="background-color:rgb(255,255,255)"><font color="#ff0000"><span style="font-style:italic">for i,artifactedImage in enumerate(bhImages): <br></span><span style="font-style:italic">bhImage[:,i,:]= srtk.GetImageFromArray(artifactedImage[:,:])</span></font></b></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0);font-family:"dejavu sans mono";font-size:11.3pt">in last lines I tried to get the stack of artifacted images like reiImage and then paste bhImage instead of reiImage for the reconstruction part. But I got this eror message:TypeError: 'tuple' object does not support item assignment<br><br>First I tried to change the reiImage but it seems its unwritable.</pre><div class="gmail_extra">Best regards,</div><div class="gmail_extra">Sareh Borhani</div></div>
<br></div></div>_______________________________________________<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="http://public.kitware.com/mailman/listinfo/rtk-users" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/rtk-users</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div>