<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>Give this a try:</div><div><br></div><div><div><div>On Jan 9, 2010, at 1:34 PM, Maquette wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>hi all,<br><br>Sorry in advance, that this might be a rather frequent question. But I <br>didn't find out much about whether/how an image pipeline can be reused <br>after the first Image has been read, and Update() has been called on a <br>concluding writer. The purpose is to build an interactive tool, where <br>new image Files can be read and processed, and a smaller Region of <br>Interest can be selected/changed to have a quick preview written as <br>.mha. After a new file has been selected the ROI should default to that <br>files whole extend. (<br><br>I try to achieve this by a pipeline connected like that:<br><br> &nbsp;&nbsp;&nbsp;itk::ImageFileReader&lt;I&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader<br> &nbsp;&nbsp;&nbsp;-&gt;<br> &nbsp;&nbsp;&nbsp;itk::RegionOfInterestImageFilter&lt;I,I&gt; roi<br> &nbsp;&nbsp;&nbsp;-&gt;<br> &nbsp;&nbsp;&nbsp;itk::FancyFilter1&lt;I,I&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter1<br> &nbsp;&nbsp;&nbsp;-&gt;<br> &nbsp;&nbsp;&nbsp;...<br> &nbsp;&nbsp;&nbsp;-&gt;<br> &nbsp;&nbsp;&nbsp;itk::FancyFilterN&lt;I,I&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filterN<br> &nbsp;&nbsp;&nbsp;-&gt;<br> &nbsp;&nbsp;&nbsp;itk::ImageFileWriter&lt;I&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer0<br><br><br>How can it be reused (let writer0 write out the new result) after one of <br>the follwing events:<br><br>- The first Image loaded with<br> &nbsp;&nbsp;&nbsp;reader-&gt;SetFileName("first.mha");<br> &nbsp;&nbsp;&nbsp;writer0-&gt;Update();<br> &nbsp;always works fine. The whole pipeline seems to adjust to the extends <br>of first.mha One can nicely adjust Filter parameters in an interactive <br>program and by one call to writer0-&gt;Update() gets the new result.<br><br>- What do I have to do after setting reader-&gt;SetFileName("second.mha") <br>in order to have the pipeline process the new image in its probably new <br>extends. writer0-&gt;Update() throws some &nbsp;&nbsp;&nbsp;"requested region out of <br>possible region". Of course! but how to tell writer0 what to request next?<br></div></blockquote><div><br></div><div>To reuse the pipeline to that then entire image is updated, and the ROI is the largest try this:</div><div><br></div><div>reader-&gt;GenerateOutputInformation()</div><div><br></div><div>set ROI::RegionOfInterest to reader::LargestPossibleRegion</div><div><br></div><div>writer::Update()</div><div><br></div><div>What this will do is update the output information in the image file reader to the new image, so that you have the new largest possible region (actual size of the image). This is my guess as to what you problem is with out the specifics.</div><div><br></div><div>Brad</div><br><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font>- What is to be done to change the region of interest? Would<br> &nbsp;&nbsp;&nbsp;roi-&gt;SetRegionOfInterest();<br> &nbsp;be sufficient? Lets say the new ROI is kept within the bounds given by <br>reader-&gt;GetOutput()-&gt;GetLargestPossibleRegion(). Changing roi leads to <br>the same exception by writer0-&gt;Update(). Perhaps <br>RegionOfInterestImageFilter is not even needed, and one has to tell <br>writer0 what subregion to request/use. (meaning one has to tell it to <br>each leaf in the pipeline jungle)<br><br><br>I hope the issue can be discussed on that rather abstract level. The <br>sources have already grown &gt; 1200 LOCs when I tried to make it <br>"reloadable" and "ROI selectable".<br>_____________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers ITK Training Courses, for more information visit:<br>http://www.kitware.com/products/protraining.html<br><br>Please keep messages on-topic and check the ITK FAQ at:<br>http://www.itk.org/Wiki/ITK_FAQ<br><br>Follow this link to subscribe/unsubscribe:<br>http://www.itk.org/mailman/listinfo/insight-users<br></div></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">========================================================</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Bradley Lowekamp<span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font class="Apple-style-span" face="Arial"><span class="Apple-style-span" style="font-family: Arial; "><span class="Apple-style-span" style="font-family: Arial; ">Lockheed Martin&nbsp;</span></span></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Contractor for</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Office of High Performance Computing and Communications</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">National Library of Medicine<span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica"><a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a></font></p><br class="Apple-interchange-newline"></span></span>
</div>
<br></div></body></html>