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 #1117 (assigned feature)

Opened 2012-04-13T13:19:45-05:00

Last modified 2013-12-06T17:49:06-06:00

Improve plotting support in a charting service

Reported by: bdezonia Owned by: curtis
Priority: major Milestone: imagej-2.1.0
Component: Other Version:
Severity: serious Keywords:
Cc: jru@… Blocked By:


In the imagej devel mailing list Jay Unruh reported:

So if there is no intrinsic plotting utility, is there any way to access
plots (or their data) from macros or plugins? That is perhaps my main
complaint about using JFreeChart (that and no log axes for some reason). I
currently use my own version of Wayne’s PlotWindow which I then access from
other plugins via reflection (not the best way, I know). Wayne doesn’t
want to support it because of lack of backward function compatibility, but
perhaps IJ2 is an opportunity to implement this in a more robust manner.
This approach has been very rewarding. For example, I can do some really
cool things like create dynamic histograms where I can change the bin size
on the fly, visualize thresholds via a 1D or 2D histogram, etc. It becomes
easy to implement some of the gating that people use for cytometry analysis
for example. Anyway, not sure if IJ2 is the place for this kind of
development, but it is an intriguing possibility.

And Curtis replied:

I think IJ2 is the perfect opportunity for the types of functionality you
describe. We just haven't had time to add it yet. Like I said, we want to
have a plotting API whose data structures are not tied to any particular
user interface. We have a general-purpose Display framework for this
already, and work continues to improve it for beta2. Adding the plotting
structures is a matter of defining a few new classes for it, and
implementing the Swing-specific UI frontend that responds to display events
when they are broadcast.

If you have some time and would like to get involved in the development,
let me know, and perhaps we could have a Skype chat about it. Otherwise, we
will have more for you to try by beta2 or beta3.

Change History

comment:1 Changed 2012-05-15T12:49:35-05:00 by curtis

  • Type changed from defect to feature

comment:2 Changed 2012-07-03T12:59:15-05:00 by curtis

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

Unfortunately, this will have to wait till beta4.

comment:3 Changed 2012-08-03T13:35:36-05:00 by curtis

  • Owner changed from curtis to aivar
  • Status changed from new to assigned

I spoke with Aivar about this today, and it would be a good fit for his project of porting  SLIM Plugin to ImageJ2.

comment:5 Changed 2012-08-03T16:27:29-05:00 by aivar

  • Summary changed from Improve plotting support to Improve plotting support in a charting service

comment:6 Changed 2012-08-03T17:02:49-05:00 by aivar

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

comment:7 Changed 2013-01-22T12:29:20-06:00 by bdezonia

  • Milestone changed from imagej2-b7-ndim-data to imageJ-2.0.0-TODO

comment:8 Changed 2013-04-15T10:04:31-05:00 by curtis

  • Milestone changed from imagej2-unscheduled to imagej-2.1.0

As mentioned above, a charting service would be a good fit for total integration of SLIM Plugin into ImageJ2. However, in the short term it is not necessary. It will be possible to add post-2.0.0-final, because it will only add new API, rather than refactor much existing code (part from SLIM Plugin being changed to make use of it, of course).

comment:9 Changed 2013-12-06T17:49:06-06:00 by aivar

  • Owner changed from aivar to curtis