Plugin System

ilastik uses Yapsy (http://yapsy.sourceforge.net/) to manage plugins. The functionality is implemented in ilastik/plugins.py.

Using plugins

Simply import the ilastik plugin manager, which is an instance of yapsy.PluginManager:

from ilastik.plugins import pluginManager

Now you can do things like list all plugins:

pluginManager.getAllPlugins()

Or only get plugins of a particular category, such as object feature plugins:

pluginManager.getPluginsOfCategory('ObjectFeatures')

For all the capabilities of the plugin manager class, see the Yapsy documentation: PluginManager.

ilastik must be able to find available plugins. The .ilastikrc configuration file should contain a line listing all directories to be searched recursively:

plugin_directories: ~/.ilastik/plugins,

In addition, the plugins_default directory, which contains the official plugins that are distributed with ilastik, is also searched.

Writing a plugin category

Any subclass of Yapsy.IPlugin may be a plugin category. Remember to add it to the plugin manager with pluginManager.setCategoriesFilter() in ilastik/plugins.py. For more information see the Yapsy documentation: Make it your own.

Writing a plugin

See the Yapsy documentation: Plugin description policy.