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.