Ticket #1826 (new defect)

Opened 6 years ago

Last modified 6 years ago

Phantom ROIs exist in ROIManager

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b9-rois
Component: Legacy Compatibility Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1484

Description

When switching to legacy mode Overlays in the IJ2 OverlayManager end up as ROIs in the IJ1 RoiManager. However it is possible after switching back and forth adding/deleting Overlays/ROIs that there will be no Overlays left but switching to legacy mode will show a RoiManager with a couple ROIs in it. This might be the case that the IJ1 Overlay has not been cleared out correctly. Or something else. Investigate.

Sequence that shows problem

Open Boats
Draw a rect overlay
Switch to legacy mode: rect roi is in RoiManager
Switch to modern mode
Close boats
Switch to legacy mode
Roi is still in RoiManager

Change History

comment:1 Changed 6 years ago by bdezonia

In general some thought has to be put into how the RoiManager and OverlayManager should be synced. Right now it is broken as it is done only in OverlayHarmonizer and that gets called once per ImageDisplay I believe. Having two images with overlays open and switching to legacy mode shows probs. I think we need a OverlayManagerHarmonizer class that synchronizes this stuff and is called in one place.

comment:2 Changed 6 years ago by bdezonia

  • Component changed from Analysis Plugins to Legacy Compatibility

comment:3 Changed 6 years ago by bdezonia

  • Blocking 1484 added; 1661 removed
  • Milestone changed from imagej2-b7-ndim-data to imagej2-b9-rois

Note that with commit 00adfda0207987588609617aad77036d8d9d8c1f the ROI mgr sync code is currently disabled. So this bug won't happen. However the approach mentioned in previous comment still applies and should be followed up (in the roi beta?).

Note: See TracTickets for help on using tickets.