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 #973 (new task)

Opened 2012-02-13T10:09:46-06:00

Last modified 2013-01-22T13:06:01-06:00

Fully support IJ1's Roi manager functionality

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b10-compatibility
Component: Legacy Compatibility Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1396

Description

IJ2 has a Roi Manager that does nothing. The IJ1 version of the Roi Manager might not work with IJ2 overlays. Investigate and fix as needed.

Change History

comment:1 Changed 2012-02-16T16:40:55-06:00 by bdezonia

Support of existing ROI manager is tricky.

ROI Manager has an empty run() method. It hatches no threads. So LegacyPlugin::run() returns immediately. The manager runs and can affect overlays on shadow ImagePlus. But they never get synced back.

Also OverlayHarmonizer does not maintain mappings between IJ1 Rois & IJ2 Overlays. So any changes to the Rois are lost the next time IJ2 gets ready to call into IJ1 (creating all new IJ1 Rois if needed).

It looks like we either rewrite the Roi Manager in IJ2. Or we take pains to improve the legacy support of ROIs.

If we don't rewrite then a necessary change is to maintain mappings between Rois/Overlays and then keeping them synchronized.

Also without a rewrite another necessary change is to hook some key methods in IJ1 that let IJ2 know that despite being outside LegacyPlugin::run() the legacy layer should harmonize from IJ1 to IJ2.

comment:2 Changed 2012-02-21T17:03:05-06:00 by bdezonia

Moving forward with plan to replace IJ1's Roi Manager with IJ2's Overlay Manager. Initial UI layout committed in d676ad1eb105ccef9f6c0d885e972b3e70d790c5.

comment:3 Changed 2012-02-26T23:03:42-06:00 by curtis

  • Blocking 1019 added

comment:4 Changed 2012-04-03T17:52:00-05:00 by curtis

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

Pushing to beta2.

comment:5 Changed 2012-05-04T15:31:04-05:00 by bdezonia

Recently some basic command support has been added to the Overlay Manager. Much yet to do.

comment:6 Changed 2012-05-14T12:01:38-05:00 by bdezonia

  • Blocking 1171 added; 1019 removed

comment:7 Changed 2012-06-18T15:48:07-05:00 by bdezonia

  • Summary changed from Roi manager functionality to Fully support IJ1's Roi manager functionality

comment:8 Changed 2012-06-18T15:55:38-05:00 by bdezonia

Two things to add to overlay manager for compatibility:

Read existing IJ1 roi files and create corresponding IJ2 overlays. See  http://bit.ly/HO4iPF and  http://bit.ly/HQ4uzV

IJ1 added More >> List to the ROI Manager in version 1.46q. Support this. (as of 7-2-12 added placeholder code).

Last edited 2012-07-02T15:01:26-05:00 by bdezonia

comment:9 Changed 2012-06-29T15:41:11-05:00 by bdezonia

Have now added AND, OR (Combine), XOR, and Divide functionality

comment:10 Changed 2012-07-03T13:38:52-05:00 by curtis

  • Type changed from defect to task
  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:11 Changed 2012-07-03T13:44:46-05:00 by bdezonia

And now the Specify command is in place too

comment:12 Changed 2012-08-14T12:07:55-05:00 by bdezonia

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

Moving to beta 6 (roi conentration)

comment:13 Changed 2012-08-14T13:11:13-05:00 by bdezonia

  • Blocking 1396 added; 1171 removed

comment:14 Changed 2012-12-06T10:35:04-06:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta9 to imagej-2.0.0-beta10

comment:15 Changed 2013-01-22T13:06:01-06:00 by bdezonia

Another thing to add to be compatible with IJ1's functionality: in 1.47 Wayne added new functionality: An "Append results" option was added to the ROI Manager's "Multi Measure" command in v1.47c.