Login  Register

Re: Macro command setPixel(x, y, p)

Posted by Michael Entrup on Mar 30, 2015; 8:23am
URL: http://imagej.273.s1.nabble.com/Macro-command-setPixel-x-y-p-tp5012242p5012247.html

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