Ticket #11 (closed feature: fixed)

Opened 10 years ago

Last modified 7 years ago

Improve plugins infrastructure

Reported by: curtis Owned by: curtis
Priority: critical Milestone: progress-report
Component: Plugin Framework Version:
Severity: non-issue Keywords:
Cc: Blocked By: #139, #149, #189, #207, #208, #213, #241, #287, #302, #380
Blocking:

Description

The ImageJ plugin architecture is simple and effective but lacks several desirable features possible with a more sophisticated infrastructure, such as:

  • Self-documentation of a plugin's capabilities and expectations (currently limited support with PlugInFilter.DOES_* fields), including typed inputs and outputs
  • Distinction between multiple kinds of plugins (e.g., I/O vs. image processing vs. general-purpose; currently limited support in the form of PlugIn vs. PlugInFilter)
  • Ability to link plugins together to define workflows (currently done via macros)

This has been discussed in the thread " Plugin infrastructure" on the ImageJX discussion group.

As part of that discussion, Johannes Schindelin has proposed an updated plugin architecture:

We would like to more fully explore this design while maintaining support for legacy plugins. For workflows, we may wish to explore enabling technologies such as  OSGi. It may also be worthwhile to check out  KNIME for further ideas as well.

Change History

comment:1 Changed 10 years ago by curtis

Another technology to investigate is the  Java Image Science Toolkit, used by  MIPAV to provide automated GUI generation for application plug-ins, graphical layout tools, and command line interfaces. It would be very useful to share plugins between multiple systems such as ImageJ, MIPAV,  V3D, ITK/VTK and others.

comment:2 Changed 9 years ago by gharris

  • Status changed from new to accepted

comment:3 Changed 9 years ago by curtis

  • Status changed from accepted to closed
  • Resolution set to fixed

The ij-plugin project now has a fleshed-out annotated plugins design, based on initial work by Johannes Schindelin and Grant Harris. It also integrates a more general module/workflow interface hierarchy developed by Aivar Grislis. More work remains, but we have a pretty clear direction for plugins, modules and workflows now.

comment:4 Changed 7 years ago by curtis

  • Type changed from task to story

comment:5 Changed 7 years ago by curtis

  • Blocking 6 added

comment:6 Changed 7 years ago by curtis

  • Blocked By 139 added

comment:7 Changed 7 years ago by curtis

  • Blocked By 149 added

comment:8 Changed 7 years ago by curtis

  • Blocked By 189 added

comment:9 Changed 7 years ago by curtis

  • Blocked By 207 added

comment:10 Changed 7 years ago by curtis

  • Blocked By 208 added

comment:11 Changed 7 years ago by curtis

  • Blocked By 213 added

comment:12 Changed 7 years ago by curtis

  • Blocked By 241 added

comment:13 Changed 7 years ago by curtis

  • Blocked By 287 added

comment:14 Changed 7 years ago by curtis

  • Blocked By 288 added

comment:15 Changed 7 years ago by curtis

  • Blocked By 302 added

comment:16 Changed 7 years ago by curtis

  • Blocked By 339 added

comment:5 Changed 7 years ago by curtis

See also ticket #15.

comment:6 Changed 7 years ago by curtis

  • Blocked By 885 added

comment:7 Changed 7 years ago by curtis

  • Blocked By 338 added

comment:8 Changed 7 years ago by curtis

  • Blocked By 543 added

comment:9 Changed 7 years ago by curtis

  • Blocked By 380 added

comment:10 Changed 7 years ago by curtis

  • Blocked By 376 added

comment:6 Changed 7 years ago by curtis

  • Status changed from closed to reopened
  • Resolution fixed deleted
  • Milestone changed from progress-report to imagej-2.0-beta2

There are still some outstanding tickets blocking this feature from being fully completed.

comment:7 Changed 7 years ago by curtis

  • Blocked By 391 added

comment:8 Changed 7 years ago by curtis

  • Blocked By 846 added

comment:9 Changed 7 years ago by curtis

  • Blocked By 804 added

comment:10 Changed 7 years ago by curtis

  • Blocked By 838 added

comment:11 Changed 7 years ago by curtis

  • Blocked By 860 added

comment:12 Changed 7 years ago by curtis

  • Blocked By 846 removed

comment:13 Changed 7 years ago by curtis

  • Blocked By 886 added

comment:14 Changed 7 years ago by curtis

  • Blocked By 32 added

comment:15 Changed 7 years ago by curtis

  • Owner changed from gharris to curtis
  • Status changed from reopened to assigned

comment:16 Changed 7 years ago by curtis

  • Blocking 6 removed

comment:16 Changed 7 years ago by curtis

  • Milestone changed from imagej-2.0-beta2 to progress-report

comment:17 Changed 7 years ago by curtis

  • Blocked By 32 removed

comment:18 Changed 7 years ago by curtis

  • Blocked By 886 removed

comment:19 Changed 7 years ago by curtis

  • Blocked By 885 removed

comment:20 Changed 7 years ago by curtis

  • Blocked By 860 removed

comment:21 Changed 7 years ago by curtis

  • Blocked By 838 removed

comment:22 Changed 7 years ago by curtis

  • Blocked By 376 removed

comment:23 Changed 7 years ago by curtis

  • Blocked By 804 removed

comment:24 Changed 7 years ago by curtis

  • Blocked By 391 removed

comment:17 Changed 7 years ago by curtis

  • Status changed from assigned to closed
  • Resolution set to fixed

comment:18 Changed 7 years ago by curtis

  • Blocked By 288 removed

comment:19 Changed 7 years ago by curtis

  • Blocked By 338 removed

comment:20 Changed 7 years ago by curtis

  • Blocked By 339 removed

comment:21 Changed 7 years ago by curtis

  • Blocked By 543 removed
Note: See TracTickets for help on using tickets.