Ticket #528 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

Have LegacyImageMap track Dataset events

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: biweekly-2011: May-23 to Jun-03
Component: Legacy Compatibility Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1011

Description

The LegacyImageMap needs to track at least some of the Dataset events (type change, restructure, others?) and forget the existing mapping.

Imagine you open an 8 bit Dataset and have a 8 bit ImagePlus associated with it in the LegacyImageMap. Now change the type in IJ2 to 12-bit. The LegacyMap has an 8-bit ImagePlus associated with a 12-bit Dataset. If the map forgot the current mapping then the next time a mapping was needed it would get created when asked and it would get a 16-bit copy of the data.

I have put code in place to unregister Datasets and ImagePluses but have not put in the event listening code.

Change History

comment:1 Changed 8 years ago by bdezonia

  • Status changed from new to accepted

Now code in place to track dataset deleted and dataset type change events which forget old mappings. One can now open an 8-bit sample image, change to 12-bit, and revert back to 8-bit. Unfirtunately right now it also hatches a new viewable Dataset and leaves the old one in its window on the screen.

comment:2 Changed 8 years ago by bdezonia

This approach is not totally correct. LegacyImageMap should only unregister Dataset deletions. The problems related to type changes should be caught in LegacyPlugin::prePluginHarmonization() once transparent type mapping handled correctly.

For now removing type change as a reason for LegacyImageMap to unregiister a Dataset.

This means this bug is going away but an awareness of the issues still required.

Right now what happens when you do the command sequence given is that the reverted file is still a 12-bit Dataset although pixel values are correct. This is because the harmonizer sets the pixel data by value upon return from plugin run and it does not know to change the type back. Will have to think what the best behavior is.

comment:3 Changed 8 years ago by bdezonia

  • Status changed from accepted to closed
  • Resolution set to fixed

closing and tracking in ticket #531

comment:4 Changed 8 years ago by curtis

  • Blocking 1011 added
Note: See TracTickets for help on using tickets.