Ticket #973 (new task)

Opened 8 years ago

Last modified 7 years ago

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

  • Blocking 1019 added

comment:4 Changed 8 years ago by curtis

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

Pushing to beta2.

comment:5 Changed 7 years ago by bdezonia

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

comment:6 Changed 7 years ago by bdezonia

  • Blocking 1171 added; 1019 removed

comment:7 Changed 7 years ago by bdezonia

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

comment:8 Changed 7 years ago 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 7 years ago by bdezonia (previous) (diff)

comment:9 Changed 7 years ago by bdezonia

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

comment:10 Changed 7 years ago 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 7 years ago by bdezonia

And now the Specify command is in place too

comment:12 Changed 7 years ago 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 7 years ago by bdezonia

  • Blocking 1396 added; 1171 removed

comment:14 Changed 7 years ago by bdezonia

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

comment:15 Changed 7 years ago 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.

Note: See TracTickets for help on using tickets.