http://imagej.273.s1.nabble.com/Macro-command-setPixel-x-y-p-tp5012242p5012256.html
Thanks, Michael. Changing over to 32-bit worked!
> Hi Divakar,
>
> the easiest solution would be to use 32-bit instead of 16-bit. A
> 16-bit image can only handle integer values (try 'Process > Math >
> Set...' with '0.00001'). If you want to enter something like your
> numbers directly, you have to switch to a floating point image type.
>
> Best regards
> Michael
>
>
> Am 29.03.2015 um 20:26 schrieb Divakar Ramachandran:
>> Greetings to all,
>>
>> I have an output from a program in the form of 256x256 floating point
>> numbers approximately in the range 10^-5 to 10^-3 which I need to
>> display as an image. To process some header stuff, reading the 256x256
>> values and write out a TIFF file, I have written a macro script in
>> ImageJ. In this connection I have a question about setPixel:
>>
>> I have created a new image stack using
>> "newImage(imiFile,"16-bit",nX,nY,datFiles.length);". The individual row
>> data are obtained using "rowData = split(lineData[8+j]," ");" based on
>> the format in which the data is output by the programme. Subsequently,
>> the pixel data is set using "pxy = parseFloat(rowData[k]); // print(j,
>> k, pxy); setPixel(j, k, pxy);". The (now) commented out print command
>> verified that the correct floating point values are being detected by
>> parseFloat. However, the saved TIFF shows all pixel values as zero.
>>
>> My question is, in writing a 16-bit TIFF, should I be scaling the
>> floating point data to int between 0 and 2^16? Or between 0 and 2^8 if I
>> change this to 8-bit? Is there a way to preserve the numerical values of
>> the simulation, and yet visualise as an image with contrast stretched to
>> 16-bit or 8-bit precision?
>>
>> Thanks,
>> Div.
>>
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html*Dr. Divakar R.*