ImageJ2 and Fiji updates

classic Classic list List threaded Threaded
1 message Options
Johannes Schindelin Johannes Schindelin
Reply | Threaded
Open this post in threaded view
|

ImageJ2 and Fiji updates

*****
To join, leave or search the confocal microscopy listserv, go to:
http://lists.umn.edu/cgi-bin/wa?A0=confocalmicroscopy
Post images on http://www.imgur.com and include the link in your posting.
*****

Dear confocalists!

Usually we send mails regarding ImageJ and Fiji to the ImageJ mailing list
([hidden email], as Nabble forum: http://imagej.1557.x6.nabble.com/),
but we were made aware that there is a huge interest in these projects on
the confocal mailing list, too. Therefore we would like to offer some news
about recent, exciting developments:

The most important feature of Fiji (the ImageJ distribution for the life
sciences, full information at http://fiji.sc/) is most certainly the
updater. Two years ago, the updater source code was moved from Fiji into
ImageJ2. Ever since, when you call Help>Update Fiji, it is actually the
ImageJ2 updater performing her duties. Rationale for the move: Fiji and
ImageJ2 collaborate very closely (consistent with my joining LOCI, the
home of ImageJ2, in the fall of 2010), and it was obvious that ImageJ2
should play the role of generic image processing core while Fiji is
dedicated to support the life sciences.

In the wake of the transition, many latent bugs were discovered and fixed,
hardening the updater. It also allowed us to offer a very cool feature:
personal update sites. Anybody with a Fiji (which in this case just serves
as a convenient vehicle for ImageJ2) can register their personal update
site onto which they can upload plugins and even macros. By adding the
site to the Fiji wiki page http://fiji.sc/List_of_update_sites, every Fiji
user can follow that update site by pressing the "Manage update sites"
button in the updater and checking the appropriate site's checkbox. Just
like the Fiji wiki and the other ImageJ2 web resources, the update sites
are served from LOCI's web servers.

The page http://fiji.sc/List_of_update_sites sees a continued growth of
update sites, and we encourage their use e.g. for macros or plugins
associated with publications. It simply enhances the impact of a paper if
its methods are available at the users' fingertips.

Another really important component that made it from Fiji to ImageJ2 and
was stabilized there is the launcher. Its intent is to pre-configure the
Java Virtual Machine "magically", i.e. such that users need to configure
as little as barely necessary. Typically, no configuration is required,
yet the appropriate amount of RAM is allocated, native libraries are
found, Java3D support on MacOSX is up-to-date, all without having the user
change a thing!

The launcher is indeed so useful that it was modified to be able to launch
not only Fiji and ImageJ2, but bare-bones ImageJ 1.x itself.

The ImageJ2 project focuses on robustness (particularly important if you
want to collaborate between more then one developer ;-)). That entails a
server whose sole purpose is to ensure that all the automated regression
tests run on the newest source code revisions
(http://jenkins.imagej.net/). The same server also makes sure that the
ImageJ launcher is built for all the supported platforms: Windows (32/64
bit), MacOSX (32/64 bit, also PPC64) and Linux (32/64 bit):
http://jenkins.imagej.net/job/ImageJ-launcher/

The same server also builds installers for the latest ImageJ 1.x releases,
whenever they come out: http://jenkins.imagej.net/job/ImageJ1-releases/

While we obviously spend a lot of effort to support existing ImageJ 1.x
users (for the same reason we try to keep ImageJ2's look and feel close to
ImageJ 1.x': continuity), ImageJ2 is not neglected! For activity
statistics, see https://www.ohloh.net/p/imagej2. All of our source code is
developed openly and collaboratively, using the great Open Source resource
GitHub: https://github.com/imagej/.

In addition to supporting users on the ImageJ mailing list, a lot of
developer support has been happening, too, resulting in powerful new
plugins such as TrackMate (an extensible tracking framework) and the
BigDataViewer (a multi-dimensional viewer for huge datasets).

Speaking of TrackMate and the BigDataViewer: both are based on ImgLib2,
the data processing library serving as the core of ImageJ2. You see,
whenever we found that a component we use in ImageJ2 would be useful to
other projects, too, we put in that extra effort to make it so. You can
use ImgLib2 without using ImageJ.

To put the importance of ImgLib2 into perspective: the industry-grade data
mining environment KNIME started to support image processing using exactly
that library. This collaboration led to an amazing hackathon two weeks ago
(the results of which you can be certain to hear about soon ;-)).

Likewise, the file input/output layer of ImageJ2 was abstracted into a
general-purpose library called SCIFIO (http://scif.io/). Not only can it
be used outside ImageJ easily; Developers can provide file readers and
writers without having to modify SCIFIO at all. Bio-Formats is wrapped in
SCIFIO so that you can read/write all those formats. New formats can be
added with minimal effort. SCIFIO can even be used in C++ projects, as
demonstrated by ITK support for SCIFIO.

While our main focus with Fiji is to support life scientists to the point
of enabling them to develop their own software (e.g. by providing video
tutorials how to start developing plugins from scratch), it is equally
important to offer development interfaces attractive to computer vision
experts. Providing all of Fiji and ImageJ in industry standard Maven
projects is one way we do that. The MOSAIC group's update site may serve
as an example of computer vision experts benefitting from these efforts.

Our focus on a flexible and powerful infrastructure pays off in a
particularly nice way with the OpenSPIM project: while the hardware had to
be designed from scratch, the software is based on Fiji in form of Stephan
Preibisch's multi-angle reconstruction plugins, and on Micro-Manager,
served from -- you guessed it -- an update site. The OpenSPIM-specific
extensions also benefit tremendously from ImgLib2, which facilitates the
data processing necessary for the efficient operation of an OpenSPIM
setup.

We apologize for not realizing earlier how much interest there exists on
the Confocal List for the Fiji and ImageJ projects, and we promise to put
an effort in keeping you updated.

Ciao,
Johannes