[Paraview] nan

Moreland, Kenneth kmorel at sandia.gov
Fri Aug 20 15:25:18 EDT 2010


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" <wascott at 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-bounces at paraview.org [mailto:paraview-bounces at paraview.org] On Behalf Of Scott, W Alan
Sent: Friday, August 20, 2010 11:13 AM
To: 'Eric E. Monson'
Cc: 'paraview at paraview.org list'
Subject: Re: [Paraview] nan

Thanks all!  I believe we have found numerous solutions.

Alan


From: Eric E. Monson [mailto:emonson at cs.duke.edu]
Sent: Friday, August 20, 2010 9:26 AM
To: Scott, W Alan
Cc: David E DeMarle; Aurélien Marsan; paraview at 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.demarle at 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.demarle at 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 <kmorel at 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" <wascott at 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: kmorel at sandia.gov
**  ***  **  phone: (505) 844-8919
    ***      web:   http://www.cs.unm.edu/~kmorel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100820/6128ec46/attachment-0001.htm>


More information about the ParaView mailing list