Ticket #1117 (assigned feature)

Opened 8 years ago

Last modified 6 years ago

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 8 years ago by curtis

  • Type changed from defect to feature

comment:2 Changed 8 years ago 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 8 years ago 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 8 years ago by aivar

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

comment:6 Changed 8 years ago by aivar

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

comment:7 Changed 7 years ago by bdezonia

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

comment:8 Changed 7 years ago 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 6 years ago by aivar

  • Owner changed from aivar to curtis
Note: See TracTickets for help on using tickets.