Macros ImageJ宏在原始图像上放置粒子分析轮廓时出错
我正在尝试编写一个imageJ宏,它将 1打开图像并将其拆分为两个通道 2对每个图像执行粒子分析并保存测量值 3保存覆盖粒子轮廓的原始图像 到目前为止,我已经意识到我需要首先复制原始图像,以便以后可以将ROI保存在该图像之上。但是,我目前无法确定如何重命名此复制图像,以便稍后选择它进行展平:Macros ImageJ宏在原始图像上放置粒子分析轮廓时出错,macros,imagej,fiji,Macros,Imagej,Fiji,我正在尝试编写一个imageJ宏,它将 1打开图像并将其拆分为两个通道 2对每个图像执行粒子分析并保存测量值 3保存覆盖粒子轮廓的原始图像 到目前为止,我已经意识到我需要首先复制原始图像,以便以后可以将ROI保存在该图像之上。但是,我目前无法确定如何重命名此复制图像,以便稍后选择它进行展平: dir=getDirectory("Choose a Directory"); print(dir); greenDir=dir + "/Green/"; blueDir=dir + "/Blue/"
dir=getDirectory("Choose a Directory");
print(dir);
greenDir=dir + "/Green/";
blueDir=dir + "/Blue/";
print(greenDir);
print(blueDir);
File.makeDirectory(greenDir);
File.makeDirectory(blueDir);
list = getFileList(dir);
for (i=0; i<list.length; i++) {
if (endsWith(list[i], ".tif")){
print(i + ": " + dir+list[i]);
open(dir+list[i]);
imgName=getTitle();
baseNameEnd=indexOf(imgName, ".tif");
baseName=substring(imgName, 0, baseNameEnd);
run("Split Channels");
selectWindow("C1-" + imgName);
run("Duplicate...", "title= imgName + "original");
selectWindow("C1-" + imgName);
setAutoThreshold("Default dark");
//run("Threshold...");
//setThreshold(1, 255);
run("Convert to Mask");
run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add");
selectWindow(imgName + "original");
roiManager("Show All without labels");
run("Flatten");
saveAs("Tiff", greenDir + baseName + "green.tif");
close();
如果这是一件非常简单的事情,请提前道歉,这对我来说都是非常新鲜的事情,我从谷歌上学到了很多 使用宏录制器,ImageJ中的每个GUI操作都可以用不同的脚本语言录制,这是一个很大的帮助,请参见:
重命名的宏命令很简单:renameYourImageTitle 我昨晚修改了我的代码,现在它可以工作了:
dir=getDirectory("Choose a Directory");
print(dir);
greenDir=dir + "/Green/";
blueDir=dir + "/Blue/";
print(greenDir);
print(blueDir);
File.makeDirectory(greenDir);
File.makeDirectory(blueDir);
list = getFileList(dir);
for (i=0; i<list.length; i++) {
if (endsWith(list[i], ".tif")){
print(i + ": " + dir+list[i]);
open(dir+list[i]);
imgName=getTitle();
baseNameEnd=indexOf(imgName, ".tif");
baseName=substring(imgName, 0, baseNameEnd);
run("Split Channels");
roiManager("Reset");
selectWindow("C1-" + imgName);
run("Duplicate...", "title=");
saveAs("Tiff", greenDir + "originalgreen" + baseName);
selectWindow("C1-" + imgName);
setAutoThreshold("Default dark");
//run("Threshold...");
//setThreshold(1, 255);
setOption("BlackBackground", false);
run("Convert to Mask");
run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add");
selectWindow("originalgreen" + imgName);
roiManager("Show All with labels");
run("Flatten");
saveAs("Tiff", greenDir + baseName + "overlaygreen.tif");
close();
}
}
for (i=0; i<list.length; i++) {
if (endsWith(list[i], ".tif")){
print(i + ": " + dir+list[i]);
open(dir+list[i]);
imgName=getTitle();
baseNameEnd=indexOf(imgName, ".tif");
baseName=substring(imgName, 0, baseNameEnd);
run("Split Channels");
roiManager("Reset");
selectWindow("C2-" + imgName);
run("Duplicate...", "title=");
saveAs("Tiff", blueDir + "originalblue" + baseName);
selectWindow("C2-" + imgName);
//run("Threshold...");
//setThreshold(23, 255);
setOption("BlackBackground", false);
run("Convert to Mask");
run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add");
selectWindow("originalblue" + imgName);
roiManager("Show All with labels");
run("Flatten");
saveAs("Tiff", blueDir + baseName + "overlayblue.tif");
run("Close All");
}
}