<br>David,<br><br>Yes, but that will imply to modify the UnaryFunctorImageFilter<br>and penalize all of its derived classes with an &quot;if&quot; that may<br>or may not get used.<br><br>A potential way to implement this could be to have in the <br>
ThreadedGenerateData() method, two separate loops,<br>one that expects a mask and another that do not expects<br>a mask.  In that way, you can avoid penalizing all uses of<br>the filter.<br><br>Please give it a try at modifying the loop and feel free<br>
to submit a patch to Gerrit.<br><br><br>    Thanks<br><br><br>         Luis<br><br><br>-----------------------------------------------------------<br><div class="gmail_quote">On Sun, Oct 24, 2010 at 6:35 PM, David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com">daviddoria@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>Instead of applying a Functor to EVERY pixel using UnaryFunctorImageFilter, is there a way to pass it (or something else) a mask to tell it only to apply the function on the masked pixels?</div>
<div><br></div><div>I often find myself doing:</div>
<div><br></div><div><div>  while(!imageIterator.IsAtEnd())</div><div>    {</div><div>    // If the pixel is not enabled in the mask, skip it</div><div>    if(imageIterator.Get() == 0)</div><div>      {</div><div>      output-&gt;SetPixel(imageIterator.GetIndex(), 0);</div>

<div>      continue;</div><div>      }</div><div><br></div><div>    PixelType value = MyFunctor(imageIterator.GetIndex());</div><div>   ....</div><div><br>
</div><div>    output-&gt;SetPixel(imageIterator.GetIndex(), value);</div><div>    ++imageIterator;</div><div>    }</div></div><div><br></div>Thanks,<br><font color="#888888"><br>
David<br>
</font><br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>