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

How to export a profile of a calibrated image with an imagej macro

我写了一个小宏,用于在空间校准 (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");
    }

(抱歉,window 切换仍处于实验阶段,配置文件不会关闭..)

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

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

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");
}