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
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: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: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).
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: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.
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.