Batch Processing

Learn
Topics
Introduction
Getting Started
User Guides
Tutorials
Tips and Tricks
Presentations
Plugins
Techniques
All Techniques
Colocalization
Deconvolution
Registration
Segmentation
Stitching
Tracking
Visualization
Scripting
Overview
Parameters
Basics of script writing
Batch processing
Script Editor
Auto Imports
Templates
Running headlessly
Comparisons
Toolbox
Multithreading in Clojure
Multithreading in JavaScript
Chess in Jython
Languages
BeanShell
Groovy
ImageJ Macro
JavaScript
Lisp (Clojure)
MATLAB
Python (Jython)
R (Renjin)
Ruby (JRuby)
Scala

Overview

A fundamental benefit to creating scripts and macros in ImageJ is the ability to reuse their functionality on more than one image. Although this can be done manually, there are multiple ways to easily automate this batch processing.

General workflow

  1. Create a basic macro which operates on the active image.
  2. Apply your macro to a group of images.
    • These images do not need to be open in ImageJ already—they will be read in as part of the batch process.
    • See below for details.

Easy option

The fastest way to start batch conversion is via the Process  ▶ Batch  ▶ Macro... command. This will open a dialog (below) that will allow you to specify an input and output directory. You can select an output file format, and then use the Add Macro Code drop-down to generate a macro with the desired functionality.

BatchProcess.png

Flexible option

Open the script editor, select Templates  ▶ ImageJ 1.x  ▶ Examples  ▶ Process Folder (IJ1 Macro). This will generate the following boilerplate:

Process folder ij1.png

Lines 26 and 27 can now be edited, replaced with the functional macro code you would like to apply to all images of a given type in a folder. Furthermore you can now modify the batch processing logic itself, for example if you need to customize what (if any) output information is saved.

See also