I have a dataset I'm visualizing with DX (obviously!!)


I want to convert the values to logs before displaying them. I have got a

... mark(data) -> compute(log10(a)) -> ....

in my net, but get the error:

ERROR: Compute: Bad parameter: taking logarithm of non-positive number in
data element 12


If I fork the data going into the compute module to a Describe module as
well, I get:

Object Details:
There are 513279 data items, each is of type float (4-byte or real*4).
The positions are enclosed within the box defined by the corner points:
[ 170.243 -53.4077 -640 ] and [ 170.499 -53.4032 -0 ]
Data range is:
minimum = 0, maximum = 0.00151444, average = 3.54352e-06

The data range suggests there are NO negative values & a grep through the
input datafile also finds none.

If I change the Compute to be log10(a+0.000000001) instead of log10(a) it
works.

To me this suggests that some 0 values are being interpreted as very small
negatives by compute. Given I get -zero Z values in the positions (as
shown in the describe output above), this suggests DX is quite happy with
the value of negative zero for a scalar.

Is my assumption reasonable, & is there a more elegant fix for this???



Thanks,

  Brent Wood

Reply via email to