首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageJ宏中奇怪的文件名导入行为

ImageJ宏中奇怪的文件名导入行为
EN

Stack Overflow用户
提问于 2014-08-08 15:01:38
回答 1查看 673关注 0票数 0

我正在编写一个ImageJ宏来迭代一个文件夹的.lsm共焦显微镜图像,从每一个做一个Z项目,将两个通道组合成红色和绿色,并保存为一个RGB图像。该代码对于一个目录运行良好,但现在它抛出了一个与getFileList文件名有关的错误。

下面是代码的相关部分:

代码语言:javascript
复制
dir1 = getDirectory("Choose Source Directory ");
format = getFormat();
dir2 = getDirectory("Choose Destination Directory ");
list = getFileList(dir1);
setBatchMode(true);
for (i = 0; i < list.length; i++) {
    showProgress(i+1, list.length);
    open(dir1+list[i]);
    run("Z Project...", "projection=[Max Intensity]");
    run("Split Channels");
    run("Merge Channels...", "c1=C1-MAX_" + list[i] + " c2=C2-MAX_" + list[i]);
    saveAs(format, dir2 + list[i]);
    close();
}

必须将"C1-MAX_"附加到输入字符串,因为在调用Z和拆分通道期间,这些前缀被添加到图像名称中。

作为参考,文件的名称类似于Negative 1 5x.lsmNegative 2 5x.lsmPositive 1 5x.lsm等。根据这些文件名,我希望ImageJ使用字符串“C1-MAX_负1 5x.lsm”和“C2-MAX_负1 5x.lsm”调用合并通道命令。

相反,我得到的错误消息“c1-max_负数”不是"C1 (红色):“的有效选择。

我不明白为什么ImageJ试图用字符串“c1-MAX_ 5x.lsm”调用合并通道,而不是“C1-MAX_负面1 5x.lsm”。为什么list[i]不返回我认为应该返回的内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-13 23:20:45

这可能是因为文件名中的空格。尝试将名称放在方括号中,如下所示:

代码语言:javascript
复制
run("Merge Channels...", "c1=[C1-MAX_" + list[i] + "] c2=[C2-MAX_" + list[i] + "]");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25206458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档