0

次のような結果テーブルを作成するマクロを作成しています。

名前 値1 値2
文字列1 番号 番号
文字列2 番号 番号

この時点で、ループ内で getResultString("Name", 0) コマンドを使用すると、目的の結果 (string1) が得られます。
ただし、テーブルを保存して、後で再度開く必要があります。

結果テーブルを保存し、それを閉じて結果テーブルとしてインポートすると、getResultString("Name", 0) は答えとして "Null" を返します。.txt、.csv、または .xls ファイルとして保存しようとしましたが、問題は解決しません。

再インポートされたテーブルは同じように見えますが、何らかの理由で getResultString が機能していないようです。

ポインタはありますか?回避策?

4

1 に答える 1

1

あなたが観察した動作はバグです。以下のマクロで再現できました。

row = nResults;
dir = getDirectory("temp");

setResult("String", row, "xyz");
setResult("Number", row, 5.0);

// get results from new table
print(getResultString("String", 0));
print(getResult("Number", 0));

saveAs("Results", dir + "Results.xls");
open(dir + "Results.xls");

// get results from re-opened table
print(getResultString("String", 0));
print(getResult("Number", 0));

バグ レポートを提出しました。ImageJ でバグを報告する最適な方法もお読みください。

更新: このバグは、 ImageJ 1.50c8のWayne Rasband によって次のコメントで修正されました。

このバグは、最初の列が非数値で、他のすべての列が数値の場合にのみ発生することに注意してください。

于 2015-09-09T07:18:51.477 に答える