ImageJ is an image processing and analysis application written in Java, widely used in the life sciences fields, with an extensible plugin infrastructure. You can use Bio-Formats as a plugin for ImageJ to read and write images in the formats it supports.
Download loci-tools.jar and drop it into your ImageJ/plugins folder. Next time you run ImageJ, a new LOCI submenu with several plugins will appear in the Plugins menu, including the Bio-Formats Importer and Bio-Formats Exporter.
If you wish to read certain kinds of compressed DICOM files, you will need to set up the optional native libraries.
The Bio-Formats Importer plugin can display image stacks in several ways:
ImageJ v1.37 and later automatically (via HandleExtraFileTypes) calls the Bio-Formats logic, if installed, as needed when a file is opened within ImageJ—e.g., when using File/Open instead of explicitly choosing "Bio-Formats Importer" from the Plugins/LOCI menu.
To upgrade, just overwrite the old loci_tools.jar with the latest one. You may want to download the latest version of ImageJ first, to take advantage of new features and bugfixes.
Bio-Formats is fully scriptable in a macro, and callable from a plugin. To use in a macro, use the Macro Recorder to record a call to the Bio-Formats Importer with the desired options. You can also perform more targeted metadata queries using the Bio-Formats macro extensions.
Here are some example macros and plugins to get you started:
| Sample ImageJ macros and plugins that use Bio-Formats | |
|---|---|
basicMetadata.txt
| A macro that uses the Bio-Formats macro extensions to print the chosen file's basic dimensional parameters to the Log |
recursiveTiffConvert.txt
| A macro for recursively converting files to TIFF using Bio-Formats |
bfOpenAsHyperstack.txt
| This macro from Wayne Rasband opens a file as a hyperstack using only the Bio-Formats macro extensions (without calling the Bio-Formats Importer plugin) |
zvi2HyperStack.txt
| This macro from Sebastien Huart reads in a ZVI file using Bio-Formats, synthesizes the LUT using emission wavelength metadata, and displays the result as a hyperstack |
dvSplitTimePoints.txt
| This macro from Sebastien Huart splits timepoints/channels on all DV files in a folder |
Read_Image
| A simple plugin that demonstrates how to use Bio-Formats to read files into ImageJ |
Mass_Importer
| A simple plugin that demonstrates how to open all image files in a directory using Bio-Formats, grouping files with similar names to avoiding opening the same dataset more than once |