Installing 3rd party plugins

QR for this page

From Fiji

Jump to: navigation, search

For users

  • You can just drag 'n drop the plugin .jar file (from the Explorer, Finder or any file browser) into the plugins directory:
Install-Plugin-DragNDrop.png
This will ask you for the destination of the plugin, just hitting Save is safe.
  • Alternatively, use Plugins>Install Plugin...:
Install-Plugin.png
It will ask you for the file name of the plugin, and install the given file.
  • You can also copy the .jar, .class or .java files (or a script in any language Fiji supports) to Fiji.app/plugins/, followed by calling Help>Refresh Menus.
Note: On MacOSX, you need to Ctrl+click on the Fiji icon in the Finder and select Show package contents to see the plugins/ folder.

For developers

Please try to avoid closed-source plugins.

If you have the sources, copy them into src-plugins/. (If you do not have the sources, copy the .jar into staged-plugins/.)

Then, add a .config file in staged-plugins/ and type "./Build.sh". The plugin will be compiled and installed into plugins/.

Longer version:

The .config file should look something like this:

       File, "Show Prime Numbers", Primes_("")

where "File" is the menu you want to add the item to -- at the moment, the only valid choices are "Plugins", "Plugins><submenu>", "File>Import", "File>Save", "Analyze>Tools", "Help>About" and "Edit>Options".

Next comes the title of the menu item, and lastly the class name of the plugin with a parameter that will be passed to the run() method of that class. It must a fully qualified java name (e.g. com.sun.java.something) if the plugin belongs to a java package.

In other words, the .config file will become the plugins.config of the .jar file.

Please make sure that your .config file is designed such that the menus fit in snuggly with the common Fiji menu structure.

Then just "make", and the plugin will be automatically installed.

Installing new readers/writers into io package

I recently added a couple of new IO plugins that were previously developed as standalone ImageJ plugins as follows:

Add all source code (*.java) files to:

 src-plugins/IO_/io/

add the following to the top of each source code file

 package io;

Then edit staged-plugins/IO_.config to add menu items e.g.

 File>Import, "Nrrd ...", io.Nrrd_Reader
 File>Save As, "Nrrd ... ", io.Nrrd_Writer

Finally add a new handle in

 src-plugins/Input-OutputHandleExtraFileTypes.java

to recognise images of the relevant type and call the plugin.