Ticket #1974 (closed defect: wontfix)
Opened 2013-08-01T11:02:57-05:00
Last modified 2014-08-19T11:16:56-05:00
Legacy layer limitation
Reported by: | bdezonia | Owned by: | bdezonia |
---|---|---|---|
Priority: | major | Milestone: | imagej2-b10-compatibility |
Component: | Legacy Compatibility | Version: | |
Severity: | serious | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #1968 |
Description
As designed there is a annoying assumption in the legacy layer. When a ImagePlus is created by a legacy plugin a display is created and the two are registered together in the legacy image map. From then on they are considered married.
Imagine you have a legacy plugin or macro that makes a CompositeImage from an existing mapped ImagePlus. As designed now the CompositeImage should open a new Display. And that may be okay. But there might be times where it makes more sense to update the mapping in legacy image map instead.
If we wanted to update then the Harmonizer has to change so that current ImagePlus of subharmonizers (like ColorTableHarmonizer, CompositeHarmonizer, etc.) is returned and passed to next step in the chain. This allows one subharmonizer to make a CompositeImage if needed and others to work upon it.
This issue came to light because I wanted to always make CompositeImages for ImagePluses with channels <= 7 and just set ColorMode. This would simplify the maintenance of color tables across the legacy layer.
Change History
comment:1 Changed 2013-08-01T11:20:09-05:00 by bdezonia
comment:2 Changed 2014-08-19T11:16:56-05:00 by curtis
- Status changed from new to closed
- Resolution set to wontfix
Synchronization of ImageJ1 and ImageJ2 data structures is on hold until the ImageJ2 data structures can benefit from another design iteration. See https://github.com/imagej/imagej-common/labels/data-model for a (non-comprehensive) list.
In my case the issue became apparent opening clown sample image. It is a basic ImagePlus from IJ1's point of view. And IJ2 makes a display associated with it. However it's rgb and thus has 3 color tables implicitly. If IJ1 returns a CompositeImage from a plugin things should work. Its just this case of RGB images where color tables get messed up. Maybe this isn't such a big problem.
See also #1946