Skip to content
This repository

ImageJ2: the next-generation version of ImageJ

Temporarily switch to explicit ImgLib2 version

ImgLib2 beta 26 introduces API breaking changes; therefore we need to
switch to a newer version explicitly, without relying on pom-scijava
to list the proper version.

Signed-off-by: Johannes Schindelin <>
latest commit 1b6c2ed083
dscho dscho authored
Octocat-spinner-32 about Add a new about image March 30, 2012
Octocat-spinner-32 app Tweak SWT and Pivot GAVs when ij.ui is set April 13, 2014
Octocat-spinner-32 bin update UI file paths April 13, 2014
Octocat-spinner-32 config Update Eclipse preferences May 17, 2012
Octocat-spinner-32 core Temporarily switch to explicit ImgLib2 version April 15, 2014
Octocat-spinner-32 logo Add ImageJ1 64x64 icon August 29, 2013
Octocat-spinner-32 plugins Remove Pivot and SWT user interfaces April 13, 2014
Octocat-spinner-32 ui Fix a bunch of FIXMEs April 10, 2014
Octocat-spinner-32 .gitattributes Add a .gitattributes, for git diff hunk header sweetness September 27, 2011
Octocat-spinner-32 .gitignore gitignore: ignore scripts directory March 28, 2014
Octocat-spinner-32 .mailmap Update mailmap January 16, 2014
Octocat-spinner-32 INSTALL.txt Update domain name in links December 16, 2011
Octocat-spinner-32 LICENSE.txt Update license and file headers January 16, 2014
Octocat-spinner-32 NOTICE.txt NOTICE.txt: add gentyref to dependencies list April 05, 2014
Octocat-spinner-32 use new SCIFIO web site link August 17, 2013
Octocat-spinner-32 Add a note about running Eclipse instances to March 19, 2014
Octocat-spinner-32 pom.xml Temporarily switch to explicit ImgLib2 version April 15, 2014

ImageJ2 is a new version of ImageJ seeking to strengthen both the software and its community. Internally, it is a total redesign of ImageJ, but it is backwards compatible with ImageJ 1.x via a "legacy layer" and features a user interface closely modeled after the original.

Under the hood, ImageJ2 completely isolates the image processing logic from the graphical user interface (UI), allowing ImageJ2 commands to be used in many contexts, including headless in the cloud or on a server such as OMERO, or from within another application such as KNIME, Icy or CellProfiler (a Python application).

ImageJ2 has an N-dimensional data model driven by the powerful ImgLib2 library, which supports image data expressed in an extensible set of numeric and non-numeric types, and accessed from an extensible set of data sources. ImageJ2 is driven by a state-of-the-art, collaborative development process, including version control, unit testing, automated builds via a continuous integration system, a bug tracker and more.

We are collaborating closely with related projects including Fiji, SCIFIO and OME, and are striving to deliver a coherent software stack reusable throughout the life sciences community and beyond. For more details, see the SciJava web site.

ImageJ2 is currently in the "beta" stage, meaning the code is not finished. It is being released for early community feedback and testing. Comments, questions and bug reports are much appreciated!

To maintain ImageJ's continuity of development, we have modeled the application after ImageJ v1.x as much as is reasonable. However, please be aware that ImageJ2 is essentially a total rewrite of ImageJ from the ground up. It provides backward compatibility with older versions of ImageJ by bundling the latest v1.x code and translating between "legacy" and "modern" image structures.

For more details on the project, see the ImageJ2 web site.


ImageJ2 is distributed under a Simplified BSD License; for the full text of the license, see LICENSE.txt.

For the list of developers and contributors, see pom.xml.


For a list of known issues, see the issue tracking system.

Please report any bugs by following the instructions online.


Menus: IJ2 is currently made up of both IJ1 & IJ2 commands. IJ1 commands are distinguished with a small microscope icon next to their name in the menus, while IJ2 commands have either a green puzzle piece or a custom icon. Many IJ1 commands work, but some do not, for various reasons. We are still working to improve the number of working IJ1 commands, and/or update them to pure IJ2 commands.

Macros and scripts: It is possible to execute IJ1 macros in IJ2, though you may experience mixed results. You can even include calls to overridden IJ2 commands but they will not record correctly.

Something went wrong with that request. Please try again.