<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">If you can use numpy, and you're using a recent-enough version of ParaView, then you can also use the super-spiffy-numpy-hidden-behind-the-scenes programmable filter API to replace all of the attribute arrays with zero'd versions:<div><br></div><div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><!--StartFragment-->pdi = self.GetInputDataObject(0,0)</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; ">pdo = self.GetOutputDataObject(0)</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; ">pdo.CopyStructure(pdi)</div><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; ">for att_name in inputs[0].PointData.keys():</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span class="Apple-tab-span" style="white-space:pre">        </span>naninc = inputs[0].PointData[att_name]</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span class="Apple-tab-span" style="white-space:pre">        </span>zerod = numpy.nan_to_num(naninc)</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><span class="Apple-tab-span" style="white-space:pre">        </span>output.PointData.append(zerod, att_name)<!--EndFragment--></div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><br></div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; ">Talk to you later,</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; ">-Eric</div><div style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; text-indent: 0px; "><br></div><div>
<span class="Apple-style-span" style="border-collapse: separate; 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; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div>------------------------------------------------------</div><div>Eric E Monson</div><div>Duke Visualization Technology Group</div><div><span class="Apple-style-span" style="font-size: medium;"><br></span></div></span>
</div>
<br><div><div>On Aug 20, 2010, at 10:00 AM, Aurélien Marsan wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi, <br><br>If you're using python, and if you can use the numpy library, you can use the function numpy.nan_to_num too. <br><a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.nan_to_num.html#numpy.nan_to_num">http://docs.scipy.org/doc/numpy/reference/generated/numpy.nan_to_num.html#numpy.nan_to_num</a><br>

<br>Regards, <br><br>Aurélien<br><br><div class="gmail_quote">2010/8/20 David E DeMarle <span dir="ltr">&lt;<a href="mailto:dave.demarle@kitware.com">dave.demarle@kitware.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

That said, the same trick may work in the standard calculator filter<br>
with the expression:<br>
<br>
if(val=val, val, 0.0)<br>
<div class="im"><br>
David E DeMarle<br>
Kitware, Inc.<br>
R&amp;D Engineer<br>
28 Corporate Drive<br>
Clifton Park, NY 12065-8662<br>
Phone: 518-371-3971 x109<br>
<br>
<br>
<br>
</div><div><div></div><div class="h5">On Fri, Aug 20, 2010 at 9:26 AM, David E DeMarle<br>
&lt;<a href="mailto:dave.demarle@kitware.com">dave.demarle@kitware.com</a>&gt; wrote:<br>
&gt; You might write a python filter that iterates over all floating point arrays and<br>
&gt; replaces nan's with 0.<br>
&gt;<br>
&gt; According to <a href="http://stackoverflow.com/questions/944700/how-to-check-for-nan-in-python" target="_blank">http://stackoverflow.com/questions/944700/how-to-check-for-nan-in-python</a><br>
&gt; The most py version robust way to check for nan is:<br>
&gt;<br>
&gt; def isNaN(num):<br>
&gt; &nbsp; &nbsp;return num != num<br>
&gt;<br>
&gt; David E DeMarle<br>
&gt; Kitware, Inc.<br>
&gt; R&amp;D Engineer<br>
&gt; 28 Corporate Drive<br>
&gt; Clifton Park, NY 12065-8662<br>
&gt; Phone: 518-371-3971 x109<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Aug 19, 2010 at 11:24 PM, Moreland, Kenneth &lt;<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>&gt; wrote:<br>
&gt;&gt; This might not be the best solution, but you can use the threshold filter to<br>
&gt;&gt; remove NANs. &nbsp;A NAN will always fall outside the threshold range.<br>
&gt;&gt;<br>
&gt;&gt; -Ken<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 8/19/10 6:28 PM, "Scott, W Alan" &lt;<a href="mailto:wascott@sandia.gov">wascott@sandia.gov</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Is there a way to convert nan’s to zeros in ParaView? &nbsp;I have a user that is<br>
&gt;&gt; trying to use the integrate data filter, and it is having troubles with<br>
&gt;&gt; NANs.<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; Alan<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
&gt;&gt;<br>
&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;<br>
&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt;<br>
&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<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 <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
</div></div></blockquote></div><br>
_______________________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br><br>Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView">http://paraview.org/Wiki/ParaView</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.paraview.org/mailman/listinfo/paraview">http://www.paraview.org/mailman/listinfo/paraview</a><br></blockquote></div><br></div></body></html>