[ImageJ-devel] Simple plugin discovery logic

Lee Kamentsky leek at broadinstitute.org
Tue Nov 23 07:22:47 CST 2010


Hi Curtis,

Looks like a good start. Is NetBeans going to be required for IJ2? It 
would be nice, esp. for CellProfiler, to have some static method that 
would find the plugin finders, but if NetBeans is in, the code to do so 
ourselves does not look too complex.

--Lee

On 11/22/2010 6:52 PM, Curtis Rueden wrote:
> Hi Grant et. al,
>
> Today Rick & I added a simple plugin discovery mechanism to the 
> ImageJ2 codebase. This is a work in progress. The idea is to have an 
> interface, PluginFinder, that provides a method, 
> findPlugins(List<PluginEntry> plugins), for populating a list with 
> discovered plugins. The IJ1 compatibility layer can have an 
> Ij1PluginFinder that discovers IJ1 plugins, and the ImageJ2 code can 
> have an Ij2PluginFinder (or whatever) for discovering any additional 
> plugins of various types.
>
> Here is what we have so far:
>
> In ij2-common:
>   + imagej.plugin.PluginEntry -- very simple data structure for a 
> single plugin entry, including plugin class name, and associated menu 
> entry
>   + imagej.plugin.PluginFinder -- interface for anything capable of 
> discovering ImageJ plugins -- has one method: 
> findPlugins(List<PluginEntry> plugins)
>
> In ij1-bridge:
>   + imagej.ij1bridge.plugin.Ij1PluginFinder -- implementation for 
> discovering ImageJ 1.x plugins -- delegates to ij.Menus where possible
>
> In ijx:
>   + ijx.plugin.IjxPluginFinder -- currently a dummy implementation 
> that just populates a single fake plugin entry -- eventually will 
> discover ImageJ 2.x plugins
>
> Tester class (in ijx):
>   + ijx.plugin.PluginDiscovery -- obtains all implementations of 
> PluginFinder interface (using NB Lookup), discovers all available 
> plugins and prints out the list
>
> Again, this is a work in progress. The goal is have a very simple, 
> encapsulated way of querying for plugins without any assumptions about 
> GUIs, etc. The PluginEntry in particular will need to be fleshed out 
> with more details—e.g., there is no way to express the arg string 
> needed by many IJ1 plugins/commands, no way to link an image icon for 
> use with a toolbar, and no way to express order for menus or toolbars.
>
> More later; comments welcome any time.
>
> -Curtis
>
>
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagejdev.org
> http://imagejdev.org/mailman/listinfo/imagej-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20101123/da58d906/attachment.html>


More information about the ImageJ-devel mailing list