Login  Register

Re: Exporting grayscale value to excel

Posted by Janne Hyötylä on Oct 25, 2010; 12:07pm
URL: http://imagej.273.s1.nabble.com/Exporting-grayscale-value-to-excel-tp3686589p3686590.html

Hi Mahesh,

These macros here are maybe not the most efficient but they work.
You have to import the saved image in excel as tab-separated values.
And when saving the excel sheet, again save it as tab-separated text file  
(might be called *.csv).

To export the original image:

x = getWidth();
y = getHeight();
f = File.open("");
for (i= 0; i < x*y; i++) {
     ix = i%x;
     iy = floor(i/x);
     print(f, (ix) + "\t" + (iy) + "\t" + getPixel(ix, iy));
}



To import the modified image (it loops twice through the values to get the  
image dimensions first)

str = File.openAsString("");
rows = split(str, "\n");
x = newArray(lengthOf(rows));
y = newArray(lengthOf(rows));
val = newArray(lengthOf(rows));
for (i= 0; i < lengthOf(rows); i++) {
     cols = split(rows[i], "\t");
     x[i] = cols[0];
     y[i] = cols[1];
     val[i] = cols[2];
}
Array.getStatistics(x, xmin, xmax);
Array.getStatistics(y, ymin, ymax);
newImage("ImportFromExcel", "16-bit", xmax+1, ymax+1, 1);
for (i= 0; i < lengthOf(val); i++) {
     setPixel(x[i], y[i], val[i]);
}


You should modify it accordingly if you want more than 1 slice or other  
bit depths etc..

Hope it helps.

Janne



On Sat, 23 Oct 2010 13:08:09 +0200, Mahesh Thapaliya  
<[hidden email]> wrote:

> Hi!
>
> I am quite new to imageJ.  I would like to export all the grayscale value
> from a picture (or from a stack of images) and wanted to process in Excel
> and wanted to see the picture back in imageJ. Is it possible to do this?
> If so, could someone please write, how can i do this?
>
> Like this.
> S.N.   X-Value    Y-Value     Grayscale Value
> 1.
> 2.
> 3.
> 4.
> .
> .
>
> Regards,
> Mahesh Thapaliya
> Jyväskylä, Finland