ImageJ没头没用;与GUI配合良好

时间:2019-07-19 23:25:03

标签: imagej imagej-macro

我正在编写用于获取堆叠图像的直方图值的代码。当我使用“宏”>“运行”在GUI中运行代码时,它的工作原理就像一个魅力。但是我正在使用无头模式机智的斐济应用程序,但没有得到预期的结果。

我尝试将cmd提示符与--headless命令一起使用。

ImageJ-win64.exe --headless -macro“宏的路径”

如果我在上面的命令中不使用--headless,则GUI打开,并得到所需的结果。如果我使用--headless,我会得到结果,但它们是错误的。我怀疑如果使用无头模式,counts1不会被当作数组。

image_path = '20181120_133154';
run("Image Sequence...", "open=[C:/"+image_path+"_E1_N1.tif] file= {image_path} sort");
requires("1.34m");
nBins = 65536;


hMin = 0;

hMax = 65536;
row=0;

setOption("ExpandableArrays", true);

counts1 = newArray(65536);
values1 = newArray(65536);
setBatchMode(true);
stack = getImageID();
for (slice=1; slice<=nSlices; slice++) 
{
selectImage(stack);
if (nSlices>1) run("Set Slice...", "slice=" + slice);
run("Duplicate...", "title=temp");
run("32-bit");
close();
for (i=0; i<nBins; i++) 
{
if (nSlices==0) {
counts1[i]=counts[i];
values1[i]=values[i];
}
else
{
counts1[i] = counts[i]+counts1[i];
}
}
} 
i=0;
file = File.open("C:\\"+random+".txt");
for(i=0;i<counts1.length;i++){
print(file,counts1[i]);
}
  • 预期输出:

    2364010
    7276
    1252
    13067
    0 2366
    1261
    27027
    0
    0

...
-输出已获得-

6553600  
0 
0 
0  
0  
0  
0  
0  

...

0 个答案:

没有答案