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

Setting different thresholds dependent on what filename ends with in 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 对我的三个文件名结尾起作用,我在格式化时遇到了问题。

您可以使用后续 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");

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