NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #12 (closed feature: fixed)

Opened 2010-02-16T16:34:12-06:00

Last modified 2012-10-19T14:00:13-05:00

Redesign scripting infrastructure

Reported by: curtis Owned by: dscho
Priority: critical Milestone: imagej2-b5-scripting
Component: Scripting Version:
Severity: serious Keywords:
Cc: Blocked By: #56, #1026, #1030
Blocking: #1008

Description (last modified by gharris)

In recent years a wealth of Java-based scripting languages have emerged (Clojure, Javascript, Groovy, Jython, JRuby, Jaskell, etc.). And starting with Java 6, Java includes a  scripting framework for supporting these various languages. ImageJ has traditionally provided scripting through its macro language, but Fiji has added support for other means as well.

We are interested in improving this scripting support—specifically, coupling a redesigned Java API more directly with a scripting framework and ImageJ's macro recorder. This scheme makes it easier to develop scripts by providing more flexibility in how they can be written, as well as the potential to call into existing libraries written in those same scripting languages.

For related discussion, see the " Scripting languages and API" thread on the ImageJ mailing list.
Also see background research at:  Scripting

Change History

comment:1 Changed 2010-02-16T16:35:28-06:00 by curtis

This ticket is related to both undo history and event notification.

comment:2 Changed 2010-03-01T17:05:44-06:00 by gharris

  • Status changed from new to accepted

comment:3 Changed 2010-06-01T15:31:05-05:00 by gharris

  • Description modified

comment:4 Changed 2011-03-13T21:22:23-05:00 by curtis

  • Milestone changed from imagej-2.0-alpha1 to imagej-2.0-alpha2

comment:5 Changed 2011-04-28T15:33:26-05:00 by gharris

  • Milestone changed from imagej-2.0-alpha2 to imagej-2.0-alpha3

comment:6 Changed 2011-05-23T10:25:01-05:00 by curtis

  • Milestone changed from imagej-2.0-alpha3 to imagej-2.0-beta1

comment:7 Changed 2011-06-06T11:26:58-05:00 by gharris

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:8 Changed 2011-07-24T07:52:03-05:00 by gharris

Added first pass at a MacroRecorder plugin.

comment:9 Changed 2011-09-12T11:11:03-05:00 by dscho

  • Owner changed from gharris to dscho
  • Status changed from accepted to assigned

Re-assigning to myself so I have a ticket, too :-)

comment:10 Changed 2012-02-23T11:17:16-06:00 by curtis

  • Type changed from task to story

comment:11 Changed 2012-02-23T11:18:53-06:00 by curtis

  • Blocking 6 added

comment:12 Changed 2012-02-24T11:52:11-06:00 by curtis

  • Blocked By 837 added

comment:13 Changed 2012-02-24T12:34:20-06:00 by curtis

  • Blocking 1008 added

comment:11 Changed 2012-02-24T12:34:45-06:00 by curtis

  • Blocking 56 added

comment:12 Changed 2012-02-24T12:35:10-06:00 by curtis

  • Blocking 56 removed
  • Blocked By 56 added

comment:13 Changed 2012-02-24T12:49:38-06:00 by curtis

  • Blocked By 811 added

comment:14 Changed 2012-02-24T12:52:57-06:00 by curtis

  • Blocked By 858 added

comment:15 Changed 2012-02-27T15:19:42-06:00 by dscho

  • Status changed from assigned to accepted

comment:16 Changed 2012-02-27T22:38:44-06:00 by dscho

  • Blocked By 1026 added

comment:17 Changed 2012-02-27T22:42:28-06:00 by dscho

  • Blocked By 1027 added

comment:18 Changed 2012-02-27T22:43:42-06:00 by dscho

  • Blocked By 1028 added

comment:19 Changed 2012-02-27T22:49:49-06:00 by dscho

  • Blocked By 1029 added

comment:20 Changed 2012-02-27T22:54:25-06:00 by dscho

  • Blocked By 1030 added

comment:16 Changed 2012-02-27T22:57:26-06:00 by dscho

  • Severity changed from non-issue to serious
  • Milestone changed from imagej-2.0-beta2 to imagej-2.0-beta3

Bumping to beta3 since we expect the Macro interpreter and the Script Editor to finished in that time frame, realistically.

comment:17 Changed 2012-03-05T14:33:36-06:00 by curtis

  • Blocking 6 removed

comment:18 Changed 2012-06-25T15:33:21-05:00 by curtis

  • Blocked By 1126 added

comment:19 Changed 2012-09-06T19:03:03-05:00 by dscho

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5

comment:20 Changed 2012-10-10T13:29:33-05:00 by curtis

  • Milestone changed from imagej-2.0.0-beta6 to imagej-2.0.0-beta5-new

comment:21 Changed 2012-10-10T15:21:02-05:00 by curtis

  • Blocked By 811 removed

comment:22 Changed 2012-10-10T15:21:11-05:00 by curtis

  • Blocked By 837 removed

comment:23 Changed 2012-10-10T15:21:25-05:00 by curtis

  • Blocked By 858 removed

comment:24 Changed 2012-10-10T15:26:23-05:00 by curtis

  • Blocked By 1030 removed

comment:25 Changed 2012-10-10T15:27:01-05:00 by curtis

  • Blocked By 1126 removed

comment:26 Changed 2012-10-10T15:28:06-05:00 by curtis

This feature has been split in half. There is now ticket #1516 for later improvements to the scripting infrastructure after it has been initially completed. Some blocker tickets have moved there (to 2.0.0-beta6), while others remain here (in 2.0.0-beta5).

comment:27 Changed 2012-10-19T13:52:27-05:00 by curtis

  • Blocked By 1030 added

comment:28 Changed 2012-10-19T13:53:14-05:00 by curtis

  • Blocked By 1027 removed

comment:29 Changed 2012-10-19T13:53:25-05:00 by curtis

  • Blocked By 1028 removed

comment:30 Changed 2012-10-19T13:53:33-05:00 by curtis

  • Blocked By 1029 removed

comment:31 Changed 2012-10-19T14:00:13-05:00 by curtis

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

Initial version done in eb11a6ad, and polished further in 7e0cea20.

More scripting languages still to be added; see ticket #1516 for that.