Login  Register

Re: Setting values to NaN with a macro

Posted by Rasband, Wayne (NIH/NIMH) [E] on Nov 06, 2015; 3:33pm
URL: http://imagej.273.s1.nabble.com/Setting-values-to-NaN-with-a-macro-tp5014841p5014878.html

> On Nov 6, 2015, at 4:40 AM, james_minto <[hidden email]> wrote:
>
> james_minto wrote
>> In versions 1.44p and earlier, I could set zero values as NaN (not a
>> number) with the following macro:
>>
>> if(v==0)v=NaN;
>>
>> In version 1.50d this does not work (no change to the image), but it also
>> doesn't give an error message. This problem happens for all image types
>> I've tested (8-bit, 32-bit, RGB) and in both Fiji and plain ImageJ.
>>
>> Has the syntax for defining NaN changed at some point between version
>> 1.44p and 1.50d?
>>
>> Does any one know of an alternative method to set pixels than meet a
>> certain criteria as NaN?

This test macro

 v = 0;
 if (v==0)
    v=NaN;
 print(v);

outputs “NaN” on my Mac with both Java 1.6.0_65 and Java 1.8.0_60. 32-bit (float) images are the only image type that support NaN pixel values. Pixels in 8-bit images can only have integer values in the range 0 to 255.

-wayne
>

> The change in NaN behavior occurs between ImageJ version 1.50a and 1.50d (I
> haven't yet tried the intermediate versions to find out exactly where) and
> also with java versions 1.6, 1.7 and OpenJDK8.
>
> If I create an 8-bit image with a block of 255 and a value of 1 everywhere
> else, then run the macro if(v==1)v=NaN, the 255 remains unchanged whilst the
> 1 is set to 0, not NaN.
>
> Would anyone by able to test if they get the same behaviour with their
> setup?
>
> Cheers
>
> James
>
> --
> View this message in context: http://imagej.1557.x6.nabble.com/Setting-values-to-NaN-with-a-macro-tp5014841p5014873.html
> Sent from the ImageJ mailing list archive at Nabble.com.

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html