🎇 Open scientific N-dimensional image processing 🔬
Switch branches/tags
v2.0.0-beta6 v2.0.0-beta5 v2.0.0-beta4 v2.0.0-beta3 v2.0.0-beta2.1 v2.0.0-beta1 uploaded-2013-04-11 rewritten-trunk imagej-2.0.0-rc-68 imagej-2.0.0-rc-67 imagej-2.0.0-rc-66 imagej-2.0.0-rc-65 imagej-2.0.0-rc-64 imagej-2.0.0-rc-63 imagej-2.0.0-rc-62 imagej-2.0.0-rc-61 imagej-2.0.0-rc-60 imagej-2.0.0-rc-59 imagej-2.0.0-rc-58 imagej-2.0.0-rc-57 imagej-2.0.0-rc-56 imagej-2.0.0-rc-55 imagej-2.0.0-rc-54 imagej-2.0.0-rc-53 imagej-2.0.0-rc-52 imagej-2.0.0-rc-51 imagej-2.0.0-rc-50 imagej-2.0.0-rc-49 imagej-2.0.0-rc-48 imagej-2.0.0-rc-47 imagej-2.0.0-rc-46 imagej-2.0.0-rc-45 imagej-2.0.0-rc-44 imagej-2.0.0-rc-43 imagej-2.0.0-rc-42 imagej-2.0.0-rc-41 imagej-2.0.0-rc-39 imagej-2.0.0-rc-38 imagej-2.0.0-rc-37 imagej-2.0.0-rc-36 imagej-2.0.0-rc-35 imagej-2.0.0-rc-34 imagej-2.0.0-rc-33 imagej-2.0.0-rc-32 imagej-2.0.0-rc-31 imagej-2.0.0-rc-30 imagej-2.0.0-rc-29 imagej-2.0.0-rc-28 imagej-2.0.0-rc-27 imagej-2.0.0-rc-26 imagej-2.0.0-rc-25 imagej-2.0.0-rc-24 imagej-2.0.0-rc-23 imagej-2.0.0-rc-22 imagej-2.0.0-rc-21 imagej-2.0.0-rc-20 imagej-2.0.0-rc-19 imagej-2.0.0-rc-18 imagej-2.0.0-rc-17 imagej-2.0.0-rc-16 imagej-2.0.0-rc-15 imagej-2.0.0-rc-14 imagej-2.0.0-rc-13 imagej-2.0.0-rc-12 imagej-2.0.0-rc-11 imagej-2.0.0-rc-10 imagej-2.0.0-rc-9 imagej-2.0.0-rc-8 imagej-2.0.0-rc-7 imagej-2.0.0-rc-6 imagej-2.0.0-rc-5 imagej-2.0.0-rc-4 imagej-2.0.0-rc-3 imagej-2.0.0-rc-2 imagej-2.0.0-rc-1 imagej-2.0.0-beta-8 imagej-2.0.0-beta-7.9 imagej-2.0.0-beta-7.8 imagej-2.0.0-beta-7.7 imagej-2.0.0-beta-7.6 imagej-2.0.0-beta-7.5 imagej-2.0.0-beta-7.4 imagej-2.0.0-beta-7.3 imagej-2.0.0-beta-7.2 imagej-2.0.0-beta-7.1 imagej-2.0.0-beta-7 ij-legacy-2.0.0-beta-7.7.1
Nothing to show
Clone or download
ctrueden Merge pull request #209 from imagej/fix-app-packaging
Adapt app packaging to imagej-launcher changes
Latest commit 09c93d6 Oct 13, 2018

README.md

Image.sc forum Join the chat at https://gitter.im/imagej/imagej

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.

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

LICENSING

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 the parent POM.

IMAGEJ AS A LIBRARY

From Java

This repository is the master ImageJ application, which brings together all of ImageJ under the artifact net.imagej:imagej. It is the easiest entry point if you are looking to use ImageJ as a library from your own software. E.g., in your Maven pom.xml:

<parent>
  <groupId>org.scijava</groupId>
  <artifactId>pom-scijava</artifactId>
  <version>16.2.0</version>
</parent>
...
<dependency>
  <groupId>net.imagej</groupId>
  <artifactId>imagej</artifactId>
</dependency>

We recommend inheriting from the pom-scijava parent, although it is not required. (If you do not, you will need to include the <version> of ImageJ in your <dependency> declaration.)

From other languages

  • JavaScript: Use the imagej module on npm to call ImageJ in-process from node.js code.
  • Python: Use the imagej module on pypi to call ImageJ in-process or interprocess from Python code.
  • Ruby, R, LLVM and beyond: Use GraalVM to combine ImageJ with Truffle-based languages in the same VM, with shared objects and memory on a single VM heap.
  • Interprocess: Use the ImageJ Server to work with ImageJ via a RESTful web services API, between processes on the same machine, or between multiple machines.

DEPENDENCIES

This component depends on other, lower level components, each of which lives in its own repository:

It also includes various "plugin" components at runtime:

See the pom.xml for a complete list of dependencies.

BUGS

For a list of known issues, see the GitHub issues.

Please report any bugs by following the instructions online.