ImageJ is a public domain, Java-based image processing program developed at the National Institutes of Health. ImageJ was designed with an open architecture that provides extensibility via Java plugins and recordable macros. Custom acquisition, analysis and processing plugins can be developed using ImageJ's built-in editor and a Java compiler. User-written plugins make it possible to solve many image processing and analysis problems, from three-dimensional live-cell imaging to radiological image processing, multiple imaging system data comparisons to automated hematology systems. ImageJ's plugin architecture and built-in development environment has made it a popular platform for teaching image processing.
ImageJ can be run as an online applet, a downloadable application, or on any computer with a Java 5 or later virtual machine. Downloadable distributions are available for Microsoft Windows, Mac OS, OS X, Linux, and the Sharp Zaurus PDA. The source code for ImageJ is freely available.
The project developer, Wayne Rasband, retired from the Research Services Branch of the National Institute of Mental Health in 2010, but continues to develop the software.
- Runs Everywhere: ImageJ is written in Java, which allows it to run on Linux, Mac OS X and Windows, in both 32-bit and 64-bit modes.
- Open Source: ImageJ and its Java source code are freely available and in the public domain. No license is required.
- User Community: ImageJ has a large and knowledgeable worldwide user community. More than 1700 users and developers subscribe to the ImageJ mailing list.
- Macros: Automate tasks and create custom tools using macros. Generate macro code using the command recorder and debug it using the macro debugger. More than 300 macros are available on the ImageJ Web site.
- Plugins: Extend ImageJ by developing plugins using ImageJ's built in text editor and Java compiler. More than 500 plugins are available.
- Toolkit: Use ImageJ as a image processing toolkit (class library) to develop applets, servlets or applications.
- Speed: ImageJ is the world's fastest pure Java image processing program. It can filter a 2048x2048 image in 0.1 seconds (*). That's 40 million pixels per second!
- Data Types: 8-bit grayscale or indexed color, 16-bit unsigned integer, 32-bit floating-point and RGB color.
- File Formats: Open and save all supported data types as TIFF (uncompressed) or as raw data. Open and save GIF, JPEG, BMP, PNG, PGM, FITS and ASCII. Open DICOM. Open TIFFs, GIFs, JPEGs, DICOMs and raw data using a URL. Open and save many other formats using plugins.
- Image display: Tools are provided for zooming (1:32 to 32:1) and scrolling images. All analysis and processing functions work at any magnification factor.
- Selections: Create rectangular, elliptical or irregular area selections. Create line and point selections. Edit selections and automatically create them using the wand tool. Draw, fill, clear, filter or measure selections. Save selections and transfer them to other images.
- Image Enhancement: Supports smoothing, sharpening, edge detection, median filtering and thresholding on both 8-bit grayscale and RGB color images. Interactively adjust brightness and contrast of 8, 16 and 32-bit images.
- Geometric Operations: Crop, scale, resize and rotate. Flip vertically or horizontally.
- Analysis: Measure area, mean, standard deviation, min and max of selection or entire image. Measure lengths and angles. Use real world measurement units such as millimeters. Calibrate using density standards. Generate histograms and profile plots.
- Editing: Cut, copy or paste images or selections. Paste using AND, OR, XOR or "Blend" modes. Add text, arrows, rectangles, ellipses or polygons to images.
- Color Processing: Split a 32-bit color image into RGB or HSV components. Merge 8-bit components into a color image. Convert an RGB image to 8-bit indexed color. Apply pseudo-color palettes to grayscale images.
- Stacks: Display a "stack" of related images in a single window. Process an entire stack using a single command. Open a folder of images as a stack. Save stacks as multi-image TIFF files.