如何使用imagej宏导出校准图像的配置文件

时间:2018-11-30 19:20:57

标签: imagej

我写了一个小宏,将球体定位在经过空间校准的(Dicom-)图像上。一旦发现,它会吸引很多人!线,并将沿这些线的亮度配置文件保存到csv文件中。到目前为止,这很好且快速。这是一段代码,它提取配置文件并保存它们:

for (i=0; i < 360; i++){
    run("Clear Results"); 
    angle = i*2*PI/360;
    makeLine(xm,ym,(xm+(length*sin(angle))), (ym-(length*cos(angle))));
    profile = getProfile();
    for (j=0; j<profile.length; j++) {
        setResult("Value", j, profile[j]);
    }
    updateResults;
    saveAs("Results",path + "\\angle_"+i+".csv");
}

我的问题是,实际比例未导出。我得到这样的东西:

1,3070.070
2,3069.000
3,3069.986
4,3053.646

但是我想要

0.4395 3070
0.8789 3070
1.3184 3070
1.7578 069.8994

以此类推。我尝试对此行进行一些修改:

setResult("Value", j*xscale, profile[j]);

但这不起作用。我还尝试绘制轮廓,然后阅读并保存它们。

for (i=0; i < 360; i++){
        run("Clear Results"); 
        angle = i*2*PI/360;
        makeLine(xm,ym,(xm+(length*sin(angle))), (ym-(length*cos(angle))));
        run ("Plot Profile");
        Plot.getValues(xplot,yplot);
        for (j=0; j< xplot.length; j++){
            print (xplot[j],yplot [j]);         
        }

        selectWindow("Log");
        saveAs("Text",path + "\\angle_"+i+".csv");
        print("\\Clear");
        selectWindow("04");
    }

(对不起,窗口切换仍处于实验阶段,配置文件没有关闭。)

这在原理上是可行的,但是它的速度缓慢。所以我的问题是...。我如何不提取在线行号而是提取配置文件中的正确比例? 非常感谢大家!

1 个答案:

答案 0 :(得分:0)

第一列只是不可编辑的行号。必须像这样更改代码:

for (i=0; i < 360; i++){
    run("Clear Results"); 
    angle = i*2*PI/360;
    makeLine(xm,ym,(xm+(length*sin(angle))), (ym-(length*cos(angle))));
    profile = getProfile();
    for (j=0; j<profile.length; j++) {
        setResult("xvalues", j, j*dx);
        setResult("yvalues", j, profile[j]);
    }
    updateResults;
    saveAs("Results",path + "\\angle_"+i+".csv");
}