It can display, edit, analyze,
process, save and print 8-bit, 16-bit and 32-bit images.
It can read many image formats including TIFF, GIF,
JPEG, BMP, DICOM, FITS and "raw". It supports "stacks",
a series of images that share a single window. It is
multithreaded, so time-consuming operations such as
image file reading can be performed in parallel with
other operations.
It can calculate area and pixel value statistics of
user-defined selections. It can measure distances and
angles. It can create density histograms and line
profile plots. It supports standard image processing
functions such as contrast manipulation, sharpening,
smoothing, edge detection and median filtering.
It does geometric transformations such as scaling,
rotation and flips. Image can be zoomed up to 32:1 and
down to 1:32. All analysis and processing functions are
available at any magnification factor. The program
supports any number of windows (images) simultaneously,
limited only by available memory.
Spatial calibration is available to provide real
world dimensional measurements in units such as
millimeters. Density or gray scale calibration is also
available.
ImageJ was designed with an open architecture that
provides extensibility via Java plugins. Custom
acquisition, analysis and processing plugins can be
developed using ImageJ's built in editor and Java
compiler. User-written plugins make it possible to solve
almost any image processing or analysis problem.
ImageJ is being developed on
Mac OS X
using its built in editor and Java compiler, plus the
BBEdit
editor and the
Ant
build tool. The source code is freely available. The
author, Wayne Rasband
(wayne@codon.nih.gov),
is at the Research Services Branch, National Institute
of Mental Health, Bethesda, Maryland, USA.