<html><head><style data-externalstyle="true"><!--
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
}

p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst, p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle, p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast {
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
line-height:115%;
}
--></style></head><body><div data-externalstyle="false" dir="ltr" style="font-family:Calibri,'Segoe UI',Meiryo,'Microsoft YaHei UI','Microsoft JhengHei UI','Malgun Gothic','Khmer UI','Nirmala UI',Tunga,'Lao UI',Ebrima,sans-serif;font-size:12pt;"><div>Hello Jesse,</div><div>&nbsp;</div><div>If you want to reuse a filter use UpdateLargestPossibleRegion() instead of Update() and&nbsp;make sure&nbsp;you do&nbsp;it for all filters&nbsp;before calling&nbsp;GetOutput(). </div><div>&nbsp;</div><div>HTH,</div><div>Saurabh</div><div data-signatureblock="true"><div>&nbsp;</div><div>&nbsp;</div></div><div style="padding-top: 5px; border-top-color: rgb(229, 229, 229); border-top-width: 1px; border-top-style: solid;"><div><font face="Calibri, 'Segoe UI', Meiryo, 'Microsoft YaHei UI', 'Microsoft JhengHei UI', 'Malgun Gothic', 'Khmer UI', 'Nirmala UI', Tunga, 'Lao UI', Ebrima, sans-serif" style='line-height: 15pt; letter-spacing: 0.02em; font-family: Calibri, "Segoe UI", Meiryo, "Microsoft YaHei UI", "Microsoft JhengHei UI", "Malgun Gothic", "Khmer UI", "Nirmala UI", Tunga, "Lao UI", Ebrima, sans-serif; font-size: 11pt;'><b>From:</b>&nbsp;Jesse Ross-Jones<br><b>Sent:</b>&nbsp;‎Friday‎, ‎July‎ ‎19‎, ‎2013 ‎1‎:‎37‎ ‎AM<br><b>To:</b>&nbsp;insight-users@itk.org</font></div></div><div>&nbsp;</div><div dir="ltr"><div><div><div>Hello,<br><br></div>I am using ITK to write a method which requires the repeated use of a couple filters. Instead of having to repeat code, is it possible for the filters to work within a loop instead? <br>

<br></div><b>A simplified example of the working code is here:</b><br><br>&nbsp; dilateFilter-&gt;SetInput(this-&gt;GetInput());<br>&nbsp; dilateFilter-&gt;SetKernel(structuringElement);<br><br>&nbsp; meanFilter-&gt;SetRadius(2);<br>&nbsp; meanFilter-&gt;SetInput(dilateFilter-&gt;GetOutput());<br>

<br>&nbsp; dilateFilter2-&gt;SetInput(meanFilter-&gt;GetOutput());<br>&nbsp; dilateFilter2-&gt;SetKernel(structuringElement);<br><br>&nbsp; meanFilter2-&gt;SetRadius(2);<br>&nbsp; meanFilter2-&gt;SetInput(dilateFilter-&gt;GetOutput());<br><br>

&nbsp; dilateFilter3-&gt;SetInput(meanFilter2-&gt;GetOutput());<br>&nbsp; dilateFilter3-&gt;SetKernel(structuringElement);<br><br>&nbsp; meanFilter3-&gt;SetRadius(2);<br>&nbsp; meanFilter3-&gt;SetInput(dilateFilter3-&gt;GetOutput());<br><br>

<br></div><b>I tried to replace the previous code with something the following, but the result produced only a black image. <br><br></b><br>&nbsp; dilateFilter-&gt;SetInput(this-&gt;GetInput());<br>&nbsp; dilateFilter-&gt;SetKernel(structuringElement);<br>

<br>&nbsp; meanFilter-&gt;SetRadius(2);<br>&nbsp; meanFilter-&gt;SetInput(dilateFilter-&gt;GetOutput());<div><br>&nbsp; for ( int j = 0 ; j &lt; 3 ; j = j + 1 ){<br>&nbsp;&nbsp;&nbsp; &nbsp;dilateFilter-&gt;SetInput(meanFilter-&gt;GetOutput());<br>&nbsp;&nbsp;&nbsp; &nbsp;meanFilter-&gt;SetInput(dilateFilter-&gt;GetOutput());<br>

&nbsp;&nbsp;&nbsp; &nbsp;meanFilter-&gt;Update();<br>&nbsp; }<br><br><br></div><div>Best Regards,<br></div><div>Jesse<br></div><div><br><br></div></div>
</div></body></html>