根据ImageJ宏中的文件名结尾设置不同的阈值

时间:2015-12-15 00:34:15

标签: imagej imagej-macro

我有一个包含许多图片的文件夹。它们被分为三组图像,其中一个文件名以dsRed).tif结尾,另一个文件名以FITC).tif结尾,另一个文件名以DAPI).tif结尾。

我如何告诉ImageJ根据结尾的文件名对每个图像做不同的事情?

我尝试设置宏来运行不同的阈值,例如:

//run("Brightness/Contrast...");
setMinAndMax(0, 20000);
close();

基于此处找到的脚本的不同文件名: http://imagej.1557.x6.nabble.com/open-file-with-specific-partial-name-td5002910.html 和这里: http://rsb.info.nih.gov/ij/macros/Batch_RGB_Merge.txt但是如果使用我的三个文件名结尾的else函数,我在格式化时遇到了问题。

1 个答案:

答案 0 :(得分:0)

您可以使用后续if ... else语句检查文件名:

if (endsWith(filename,"dsRed).tif") {
    // do dsRed processing here
} else if (endsWith(filename,"FITC).tif") {
    // do FITC processing here
} else if (endsWith(filename,"DAPI).tif") {
    // do DAPI processing here
}

如果您要对包含相同基本名称的文件进行分组,请仅在您的某个频道上进行循环(例如dsRed)并使用replace

replace(filename, "dsRed).tif", "FITC).tif");

在每次循环迭代中处理相应的其他通道。