Image Jのマクロについて。
Image Jのマクロについて。
Image j初心者です。
現在、特定のフォルダ内にある複数枚の画像を同時に解析して、解析した結果をcsvファイルに保存する作業を行っています。
画像が大量にあるためマクロを組んで自動化したいのですが、「結果を”選択したフォルダ名.csv”という名前にして、特定の場所に保存する」というコードが書けません。
かみ砕いて書くと以下のような感じです。
・1つのフォルダ内に画像が複数枚ある。
・これらの画像を解析した結果は1つのcsvファイルに保存する(つまり1フォルダにつき1つのcsvファイルが生まれる)。
・このようなフォルダが複数あり、それぞれのフォルダ名とcsvファイル名を対応させたい。
・こうしてできた複数のcsvファイルをある特定のフォルダ内にまとめて保存したい。
どなたかご存知の方、よろしくお願いいたします。
ちなみに現在のコードはこのような感じです。
色々なサイトのコードを貼り付けているだけなので、自分でも一つ一つのコードが何を意味しているのかはわかりませんが、
1.解析したい画像群のフォルダを選択する。
2.これらの画像をまとめて解析する。
3.解析した結果を表示する。
というところまでは自動でできています。
//Do something for selected folder
showMessage("Select Open Folder");
openDir = getDirectory("Choose a Directory");
showMessage("Select Save Folder");
saveDir = getDirectory("Choose a Directory");
list = getFileList(openDir);
for (i=0; i<list.length;i++){
operation();
};
print("Macro Finished");
//Define operations
function operation(){
open(openDir+list[i]);
name = getTitle;
dotIndex = indexOf(name, ".");
title = substring(name, 0, dotIndex);
run("8-bit");
setAutoThreshold("Intermodes dark");
//run("Threshold...");
setOption("BlackBackground", true);
run("Convert to Mask");
run("Watershed");
run("Analyze Particles...", "size=5-Infinity display include add");
newname = title+"_analyzed_.jpg";
rename(newname);
saveAs("Jpeg", saveDir+newname);
close(newname);
}
お礼
非常に参考になりました。あるところにはあるものですね。ありがとうございました。