|Author||Wayne Rasband, Johannes Schindelin, Albert Cardona, et al|
|File|| Newer versions on Maven Central|
Older versions in ImageJ Maven repository
The ImageJ1 project, developed by Wayne Rasband, lives in the imagej/imagej1 repository on GitHub. The
imagej1 repository uses the Ant build system. Changes are pushed (at most) once per day, with a corresponding datestamp. This scheme has some drawbacks:
- ImageJ1 artifacts cannot be published easily to public repositories for use as a dependency downstream.
imagej1repository's source code does not precisely correspond to ImageJ 1.x's actual releases. Hence, that repository does not have any Git release tags.
- Developing ImageJ1 in an IDE would be more convenient if it were structured as a Maven project.
The ImageJA project is an adjusted version of ImageJ1 which addresses the above limitations.
How it works
- Downloads the latest ImageJ1 source archive from the ImageJ 1.x website.
- Extracts the archive.
- Restructures the source code into a Maven project.
- Sources are placed in
- Sources are placed in
- Commits and pushes the result to the
masterbranch of the imagej/ImageJA repository on GitHub.
The push triggers the followup job, which builds and deploys the ImageJA project to the Maven Central repository (via OSS Sonatype).
- When run as an applet, ImageJA is embedded.
- The internal structure of ImageJA's recorder allows command listeners to get much more fine-grained information.
- When launching a text editor, in many cases ImageJA will now choose Fiji's Script Editor, if available, instead of the old AWT based ImageJ editor.
- ImageJA has an easy Plugin installer via (ImageJ only has that drag-n-drop thingie). ▶
- The instance listener is RMI-based with ImageJA, so there is no security issue with it.
- ImageJA's Command Launcher has fuzzy matching, too.
- A couple of bug fixes:
- ImageJA also put back some not-yet-deprecated methods as deprecated.
- A simple bug fix in PolygonRoi drawing (it moves to the first point, but then draws a line to the same first point rather than the second).
- A little bug fix in StackWindow: if you have a 2D time lapse, ImageJ will still use the zSelector (rather than the tSelector).
- ImageJA can handle https:// URLs, too.
However, these days, needed changes to ImageJ 1.x are instead patched at runtime; see the Compatibility page for details.