Comprehensive Fiji updates

Tags: #<Tag:0x00007fb87c1e33b8> #<Tag:0x00007fb87c1e3250> #<Tag:0x00007fb87c1dff88> #<Tag:0x00007fb87c1dfdf8>


Today, a lot of work on ImageJ, Fiji and SciJava came to fruition all at once.

ImageJ in Jupyter notebooks

The most exciting news is that, as announced on another thread here, there is now a SciJava Jupyter Kernel enabling ImageJ to be used with Jupyter Notebook in all of the supported scripting languages.

Please peruse the ImageJ Tutorial notebooks for examples of this kernel in action!

Sweeping component updates

Nearly all components of the ImageJ software stack, as well nearly all Fiji plugins, saw new releases unifying and updating metadata to better document who is responsible for maintaining each component of the software. This metadata update has been in the works for more than 18 months; the next step will be to autogenerate the sidebars of component wiki pages so that plugin authors no longer need to manually keep wiki pages in sync. For technical details, see fiji/fiji#121.

This update also brings Fiji much closer to complete synchronization with the fiji/fiji source repository. Historically, there have been differences between the exact versions of components specified in the Fiji sources, versus those actually present on the Fiji update site at any given time. But we have been working very hard to reconcile those differences, such that the Fiji update site can ultimately be driven directly by what the source code specifies. For technical details, see fiji/fiji#37, fiji/fiji#38 and fiji/fiji#39.

Finally, this update upgrades nearly all of Fiji’s third party dependencies to their latest available release versions.

New Fiji Life-Line versions

To guard against regressions which might result from such a big update, we updated the Life-Line downloads of Fiji with two new versions dated today: one for Java 8, and another for Java 6.

The Java 6 version in particular is notable because it provides a version of Fiji with the latest Java-6-compatible versions of all components. If you need to stick with Java 6 for some reason—e.g., you want to use Fiji with BoneJ, and/or with the 3D Viewer + Java 3D 1.5—then you can use this download as a starting point for your needs.

Legacy Fiji components moved to their own update site

Several legacy Fiji plugins as well as no-longer-needed dependent libraries have been retired from the ImageJ and Fiji update sites, migrating to a dedicated Fiji-Legacy update site. None of these plugins completed the transition to reproducible builds in late 2014. Many of them are dedicated script interpreters, which have now been replaced by a unified SciJava Script Interpreter which allows dynamic language switching.

Note that the primary intent of the Fiji-Legacy update site is to be used in combination with a Java-6 installation of Fiji—see “New Fiji Life-Line versions” above. Enabling both the Java-8 and Fiji-Legacy sites will result in some components with overlapping classes—e.g., the batik uber-JAR plus all individual batik components.

This update was also posted as a news post on the wiki.

Batik library removed by FIJI update (java 1.6 FIJI)
Scripting menu?
Fiji and Bioformats - conflicting jars
Scripting menu?

[Posting to create a note that google can find.]

If you are looking for the Jython Interpreter, Clojure Interpreter, Beanshell Interpreter, or the Weaver for embedding java code in a script, and other Fiji plugins [1], then do:

  1. menu “Help - Update…”
  2. click on “Manage update sites”
  3. check the box for “Fiji-Legacy” update site
  4. click on the “Close” button
  5. click on “Apply Changes”
  6. Restart Fiji.

[1] The full list of jar files and plugins hosted by the Fiji-legacy update site:


Thank you so much Curtis! (and the rest of your team too) Everything has been working extremely well for me with Fiji ever since you helped me out in Portugal. Fiji has been bug free - the only bugs I came across were completely my fault, which made them easy to fix.


@albertcardona Note that thanks to your efforts, the Jython Weaver should still be available with the regular Java-8 version of Fiji, as well. The version on Fiji-Legacy is the old Java-6-compatible version.


Thank you for the clarification.


I’m a bit confused, what’s supposed to happen with the interpreters now?


Fiji still ships a script interpreter, the SciJava Script Interpreter, accessible via Plugins :arrow_forward: Scripting :arrow_forward: Script Interpreter in the menu, or via the shortcut shift+[.

The new interpreter uses the SciJava script framework and offers a unified REPL which lets you switch languages on the fly. It also populates the bindings with services from the running SciJava context.

The old interpreters have moved to the Fiji-Legacy site and will remain available there, but they were never fully updated to reproducible Maven builds, and I have no plans to work on them further or maintain the source code in any way.

There are some features present in the old interpreters which are not yet available in the SciJava Script Interpreter, but I would be willing to add them (as time allows) if there is popular demand. And of course, pull requests are also very welcome. The REPL source is part of sciiava-common and the Swing UI is part of scijava/script-editor.


I see! I have missed that entry in the menu because it is right at the end of my huge plugins list :sweat_smile:

I’m looking forward to playing with the fancy new interpreter. Thanks a lot, @ctrueden!


This is so cool! In the meantime, what should we do to update the sidebars? Or we should wait until the autogeneration is complete?


I wanted to hook up this autogeneration earlier this week, but realized to my dismay that the component in question still needs substantial effort to work really well (see scijava/mediawiki-maven-info#1, scijava/mediawiki-maven-info#2, scijava/mediawiki-maven-info#3). Unfortunately, I will not have time to address any of these issues, and hence put the autogenerator in place, for at least a few more weeks.

In the meantime, you can continue updating the sidebar manually by editing the autogenerated template. E.g. for TWS, it would be Template:ComponentStats:sc.fiji:Trainable_Segmentation. I know, I know, it says “do not edit” in big letters. It’s true that some day, the changes will be overwritten. But for now, if it bothers you that your sidebar is out of date, you can edit it, since I doubt I will run the metadata generator tool again imminently.

Very sorry for the inconvenience. I hope some day soon, things will be better.


In the legacy sites, I only saw the scripting interpreters were archived there. Is this related to the other plugins that appear to be missing? For example, Registration --> Correct 3D drift (; and for those which were removed with their own website, e.g. MosaicJ (, which doesn’t seem to work with the current version of FIJI now).


This is still available from the Java-8 update site, and therefore is included in a standard Fiji installation.

This recently moved to the BIG-EPFL update site due to licensing issues, see here:


Thank you for your prompt reply! For some reason the Correct 3D drift plugin was missing from my version, but it exists in another computer’s version after the update… I was thus given the wrong impression that several plugins I was depending on suddenly disappeared…

As for the MosaicJ plugin, when I tried downloading from their website (along with the TurboReg plugin), and placed it in the plugins folder, it failed to start, with several java error messages…

In any case, just wanted to ask - if in this case, would these types of plugins (as in the BIG-EPFL ones) be considered “legacy”? Also if the authors decided to eventually remove a specific deprecated plugin completely, would it be uploaded to the legacy site? Or would it be considered not a legacy plugin because it’s still being maintained? (e.g. stitching -->deprecated - it’s still there, but let’s say the author decided to remove it eventually)


Oh, you don’t need to go the hard way and download them manually!

The plugins have just moved to a different update site (this is not refering to the web site, where they’ve always been by the way…), so: just running the updater, clicking on Manage update sites, and enabling the line with BIG-EPFL should work.


There is not yet a formal policy about what happens in this case. Historically, we have tried to maintain maximal backwards compatibility in Fiji, which includes keeping all plugins available forever. If a plugin maintainer wanted to remove her plugin from Fiji for some reason, we would need to have a discussion about why. It is likely that the plugin would either: A) get a new maintianer; B) remain in Fiji unmaintained, or else C) move to a different update site (e.g., Fiji-Legacy).

So far, the plugins which have left Fiji have been preserved on other update sites, so that user scripts still continue to work as long as the needed update sites are activated. Examples include ImageScience, BIG-EPFL and Fiji-Legacy.

Some day, I would like to introduce a feature to ImageJ2 where if a user tries to run a plugin which is not present (e.g., via a script, or the Command Finder), the user will be told such and asked if they want to install the plugin.

The gist is that in general, I wouldn’t worry too much about plugins you depend on disappearing. We try very hard to preserve backwards compatibility.


Thank you, imagejan and ctrueden for both of your helpful replies!