有时我们需要用ImageJ对大量图片重复进行复杂的处理,无法手动完成,ImageJ中有多种方法可以实现批量处理,本文将介绍一种利用脚本进行批量处理的方法。

ImageJ官网上关于宏编程的介绍: https://imagej.net/Introduction_into_Macro_Programming
关于批处理的介绍: https://imagej.net/Batch_Processing

获取宏代码

第一步是获取所需操作对应的宏指令。我们不必关心具体的语法,只需要用Macro Recorder把一步步操作记录下来,自动生成对应的语句。

打开菜单栏中Plugins->Macros->Recorder,保持窗口开着,接下来所有动作都会自动记录。例如下图显示的是打开图片,转化为8-bit格式,二值化。

Recorder

当然关于宏编程也有官方的指导手册:ImageJ Macro Language Programmer’s Reference Guide

【图片读写路径需要注意,可能在windows系统中需要用双斜线//。】

用脚本文件批量处理

第二步是生成脚本文件。点击”Create”按钮弹出新的编辑器页面,适当修改记录器记录的语句。或者从菜单栏里Plugins-New-Macro创建新的脚本。编写完成后可以点击Run运行。

软件本身还提供了一些模版,比如批量处理一个文件夹下的所有文件,在编辑器页面点Templates->ImageJ 1.x->Batch->Process Folder(IJ1 Macro)。在函数相应位置添加若干语句即可。

Process Folder

关于Fiji

就像Fiji软件标题所说的,Fiji Is Just ImageJ,整个软件界面、使用方法基本和ImageJ完全相同。
Fiji

Fiji可以从Fiji官网上下载,将压缩包解压即可直接使用,不需要安装。

当我在官网上看到contributors时,不由得吃了一惊。一周前在MPI-CBG的时候,曾经请教过Florian Jug关于使用Fiji进行图像处理的问题,他很耐心地一步步教给我,还讲了很多使用技巧。当时还以为他只是非常熟悉这个软件,没想到竟然是负责这个软件开发维护的团队领导者。
contributors