问题描述
使用 ImgaeJ 宏处理一些图像后,我有一个“结果”选项卡,其中包含 2 列 A 和 B。假设我有 50 行数据。
现在我想从上面 B 列的所有其他 49 行中减去最后一行的值。
在此之后,我想将所有值写入“.csv”文件(A、B 和 C 列各有 49 个值)。
下面是部分代码。我认为唯一的问题是从脚本可以写入 csv 文件的数组中获取值。
Array.getStatistics 命令仅导出给定列的均值、标准值。我有兴趣获取所有 49 个值。
directory = getDirectory("Choose a Directory");
resultFilename = directory + Dialog.getString() + ".csv";
A = newArray(nResults() - 1);
B = newArray(nResults() - 1);
D = getResult("B",nResults() - 1);
for (i = 0; i < nResults() - 2; i++) {
A[i] = getResult("A",i);
B[i] = getResult("B",i);
C[i] = A[i] - D;
}
知道获取 A[i]、B[i] 和 C[i] 的值的命令是什么吗?
期待在这里得到帮助。
谢谢。
解决方法
一种解决方案是在计算时写入文件。我已经修改了您的示例(未经测试)以展示其工作原理。
// DashBoard/styles.js
export default makeStyles({
root: {
display: "grid",gridTemplateRows: "11fr 1fr",margin: "0 .8em",},chatContainer: {
marginBottom: ".8em",});
请注意,您根本不需要创建数组,只需写入文件即可(同样未经测试):
directory = getDirectory("Choose a Directory");
resultFilename = directory + Dialog.getString() + ".csv";
f = File.open(resultFilename);
A = newArray(nResults() - 1);
B = newArray(nResults() - 1);
// no C array is made so:
C = newArray(nResults() - 1);
D = getResult("B",nResults() - 1);
for (i = 0; i < nResults() - 2; i++) {
A[i] = getResult("A",i);
B[i] = getResult("B",i);
C[i] = A[i] - D;
// should the line above should be C[i] = B[i] - D;
print(f,d2s(A[i],6) + " \t" + d2s(B[i],6) + " \t" + d2s(C[i],6));
}
File.close(f);
我使用了“\t”(制表符)作为分隔符而不是逗号。