Plugin distribution within Fiji



I wrote a (relatively simple) plugin filter (a steerable filter based on 3D gaussians) and I would like to distribute as an open-source plugin within the Fiji distribution.
Is it possible?

Which steps should I follow?



Hi @pam66,
this article describes the process of getting your plugin distributed as part of FIJI. This article gives an overview of distribution methods


To elaborate on the answer by @gab1one:

If you think this is a generally useful addition, I’d suggest you contribute it to the imagej-ops project (or to imglib2-algorithm). This would make it accessible not only to Fiji users but to many other projects in the SciJava universe, so that it can also be used e.g. from within KNIME.


Are you referring to this repository (which doesn’t contain much yet at the time of this writing :wink: )?


I started to set up a repository (currently still empty) but I’m not sure if it’s a good idea to begin with a dedicated repository or to include somehow the plugin (actually one .java file only) in some other fiji repository.
I’m a newbie… :slight_smile:


many thanks for your suggestions.
Actually, it’s a filter that enhances tubular structures (blood vessels, nerve fibres,…) in 3D tomographic images.


It is definitely a very good (if not the best) way of sharing your source code with the community. It can always be moved to one of the fiji, imagej or imglib orgs, or integrated into another repository, at a later point.

Thanks for making the effort of sharing it :slight_smile:

That’s definitely very useful! Maybe it could/should be reconciled with other implementations already available; the Steerable Filter plugin of BIG (EPFL) comes to my mind.


I know the filter you mentioned. I did this one just because that filter operates (very well) in 2D and we needed a 3D version.
To my knowledge there are no open-source (imagej) implementations working in 3D (aparte form Hessian-based filters), but I could be wrong…

Thanks for the helpful suggestions!


Oh, and @tinevez was working on a Tubeness filter. This one is not yet merged to the master branch, neither released, but I don’t know if it’s relevant/comparable:


Yes, it is comparable but it uses a different approach. It is based on the Hessian eigenvalues/states, while steerable3D does the convolution with gaussian derivatives in 3D and exploits the “steerability” property (it can be easily oriented in arbitrary direction).

I would like to share. I expect that some expert developer could improve/optimize the multitasking approach.