This is an archive of the old MediaWiki-based ImageJ wiki. The current website can be found at


Error creating thumbnail: Unable to save thumbnail to destination
ImgLib2 (Generic Image Processing for Java)
Author Stephan Saalfeld, Tobias Pietzsch, Stephan Preibisch, Curtis Rueden, Lee Kamentsky, Barry DeZonia, Johannes Schindelin, Christian Dietz, Martin Horn, Albert Cardona, Grant Harris, Larry Lindsey
Maintainer Tobias Pietzsch, Curtis Rueden
Source on GitHub
Development status stable, active
Category Category:ImgLib

Getting Started
ImgLib2 Examples
Introductory Workshop
Advanced Programming Workshop
Into ImgLib - Generic Image Processing in Java
Creating Imglib2 images in MATLAB
Developing ImgLib2
ImgLib2 Discussion

ImgLib2 is a general-purpose, multidimensional image processing library.

It provides an interface-driven design that supports numeric and non-numeric data types (8-bit unsigned integer, 32-bit floating point, etc.) in an extensible way. It implements several data sources and sample organizations, including one single primitive array, one array per plane, N-dimensional array "cells" cached to and from disk on demand, and planes read on demand from disk.


Source code

You can find the source on GitHub.

There is also a continuous integration system that builds ImgLib2 every time the code changes.

ImgLib2 vs. ImgLib1

ImgLib1 is the previous incarnation of the library. We encourage developers to use ImgLib2 instead, and migrate existing ImgLib1 programs to ImgLib2 whenever possible.

For an explanation of how ImgLib2 has changed from ImgLib1, see the Changes from ImgLib1 to ImgLib2 page.

See the How To Migrate Code From ImgLib To ImgLib2 page for details on how to update your ImgLib1-based code to use ImgLib2.

API Version History

A history of API changes is available at:

Other links


Pietzsch, T., Preibisch, S., Tomančák, P., & Saalfeld, S. (2012). ImgLib2—generic image processing in Java. Bioinformatics, 28(22), 3009-3011.