有时候我们使用ImageJ手动处理图片时,需要多次使用相同的一组命令,比如“8-bit”→“Threshold”→“Fill Holes”→“Watershed”→“Analyze Particles”,如果用鼠标一个一个去点这些命令很费时费力,这个时候我们可以通过“Plugins-Shortcuts-Add Shortcut...”来将我们常用的命令添加快捷键,然后依次按下快捷键来代替鼠标点击命令。当然,有时候我们仍不满足使用多个快捷键,而是希望能一键完成所有的命令,这时候我们就需要用到所谓的“Macro Sets”将命令组合起来并添加一个快捷键。具体方法如下:
首先,你需要知道如何把imagej命令用macro代码来表示。直接打开“Plugins-Macros-Record...”,会弹出Record窗口,接下来你进行的所有操作都会以代码的形式记录在Record窗口。
获得自己需要的一组命令的代码之后,新建一个txt文档,在其中写上如下代码
macro "Macro1 [B]" {//方括号中的B是快捷键,可以换成任意字母和数字,若快捷键已被占用,加载此文件后会覆盖原本的快捷键。若要用小键盘数字键,则在数字前加字母n,如[n0]。
}
然后将Record窗口中的代码复制粘贴在大括号中间,保存后将.txt后缀名改为.ijm,通过Plugins-Macros-Install...命令,将.ijm文件导入ImageJ,即可使用设定的快捷键调用组合命令(也可通过Plugins-Macros-Macro1来调用)。
重启imagej后,需要重新加载ijm文件才会生效,因此不需要担心快捷键覆盖的问题。
TIPs:在ImageJ的快捷键系统中,大写字母代表单独的字母键,小写字母代表Shift+字母键
TIPs:本方法除了菜单命令,也可以加入任何可执行的macro代码。
例:
以“8-bit”→“Threshold”→“Fill Holes”→“Watershed”→“Analyze Particles”为例,对应得到如下代码:
run("8-bit");
setAutoThreshold("Default dark");
run("Threshold...");
setThreshold(27, 255);
setOption("BlackBackground", false);
run("Convert to Mask");
run("Fill Holes");
run("Watershed");
run("Analyze Particles...", "size=1-Infinity display exclude clear summarize add");
然后将代码写入txt文档中,如下图
保存后,后缀名从txt改为ijm。
然后点击Plugins-Macros-Install...,将ijm文件导入后,即可用小键盘的数字0键执行“8-bit”→“Threshold”→“Fill Holes”→“Watershed”→“Analyze Particles”命令组合
若需要修改代码,直接用记事本编辑ijm文件,保存后重新通过Plugins-Macros-Install...加载即可
本文长期更新,有疑问欢迎加博主微信w2689115745或QQ2689115745共同讨论