I would agree that this is a bug. The "Replace invalid results" was added because the calculator would spout out a bunch of errors when you have an expression that, for example, took the log of a negative number for some of the elements. This was before we considered NANs and just wanted some sane fallback. It makes sense that this option should apply to any result that is a non-finite number (of which NAN qualifies). There are lots of use cases (yours included) where it is convenient to represent "invalid" entries with some placeholder number. That said, when this option is not checked it also makes sense to output the correct non-finite number (NAN, +/-INF) as appropriate rather than report an error.
-Ken On 8/20/10 1:12 PM, "Scott, W Alan" <wasc...@sandia.gov> wrote: Question - shouldn't the calculator be able to handle this? When you have "Replace invalid results" checked, shouldn't that change NANs to 0's? Is this a bug - and should I write up a bug report? Thanks, Alan From: paraview-boun...@paraview.org [mailto:paraview-boun...@paraview.org] On Behalf Of Scott, W Alan Sent: Friday, August 20, 2010 11:13 AM To: 'Eric E. Monson' Cc: 'paraview@paraview.org list' Subject: Re: [Paraview] nan Thanks all! I believe we have found numerous solutions. Alan From: Eric E. Monson [mailto:emon...@cs.duke.edu] Sent: Friday, August 20, 2010 9:26 AM To: Scott, W Alan Cc: David E DeMarle; Aurélien Marsan; paraview@paraview.org list Subject: Re: [Paraview] nan 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: pdi = self.GetInputDataObject(0,0) pdo = self.GetOutputDataObject(0) pdo.CopyStructure(pdi) for att_name in inputs[0].PointData.keys(): naninc = inputs[0].PointData[att_name] zerod = numpy.nan_to_num(naninc) output.PointData.append(zerod, att_name) Talk to you later, -Eric ------------------------------------------------------ Eric E Monson Duke Visualization Technology Group On Aug 20, 2010, at 10:00 AM, Aurélien Marsan wrote: Hi, If you're using python, and if you can use the numpy library, you can use the function numpy.nan_to_num too. http://docs.scipy.org/doc/numpy/reference/generated/numpy.nan_to_num.html#numpy.nan_to_num Regards, Aurélien 2010/8/20 David E DeMarle <dave.dema...@kitware.com> That said, the same trick may work in the standard calculator filter with the expression: if(val=val, val, 0.0) David E DeMarle Kitware, Inc. R&D Engineer 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-371-3971 x109 On Fri, Aug 20, 2010 at 9:26 AM, David E DeMarle <dave.dema...@kitware.com> wrote: > You might write a python filter that iterates over all floating point arrays > and > replaces nan's with 0. > > According to > http://stackoverflow.com/questions/944700/how-to-check-for-nan-in-python > The most py version robust way to check for nan is: > > def isNaN(num): > return num != num > > David E DeMarle > Kitware, Inc. > R&D Engineer > 28 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-371-3971 x109 > > > > On Thu, Aug 19, 2010 at 11:24 PM, Moreland, Kenneth <kmo...@sandia.gov> wrote: >> This might not be the best solution, but you can use the threshold filter to >> remove NANs. A NAN will always fall outside the threshold range. >> >> -Ken >> >> >> On 8/19/10 6:28 PM, "Scott, W Alan" <wasc...@sandia.gov> wrote: >> >> Is there a way to convert nan's to zeros in ParaView? I have a user that is >> trying to use the integrate data filter, and it is having troubles with >> NANs. >> >> Thanks, >> >> Alan >> >> >> >> >> >> _______________________________________________ >> Powered by www.kitware.com <http://www.kitware.com/> >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the ParaView Wiki at: >> http://paraview.org/Wiki/ParaView >> >> Follow this link to subscribe/unsubscribe: >> http://www.paraview.org/mailman/listinfo/paraview >> >> > _______________________________________________ Powered by www.kitware.com <http://www.kitware.com/> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview _______________________________________________ Powered by www.kitware.com <http://www.kitware.com> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview **** Kenneth Moreland *** Sandia National Laboratories *********** *** *** *** email: kmo...@sandia.gov ** *** ** phone: (505) 844-8919 *** web: http://www.cs.unm.edu/~kmorel
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview