Ticket #514 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

Increase the quality of IJ2's color display results

Reported by: bdezonia Owned by: gharris
Priority: major Milestone: biweekly-2011: Jul-18 to Jul-29
Component: Display API Version:
Severity: serious Keywords:
Cc: Blocked By:


IJ2's display of color data needs improvement. The easiest way to see this is to load Organ of Corti in both IJ1 & IJ2 and scroll through the sliders. IJ1 has much better detail.

Change History

comment:1 Changed 8 years ago by curtis

This problem is due to a lack of autoscaling; see #384. The Organ of Corti is also displaying an COLOR mode rather than COMPOSITE for some reason.

comment:2 Changed 8 years ago by bdezonia

Found the issue with image not displaying as composite. Composite channel count was not getting set in legacy layer. That issue is now fixed.

comment:3 Changed 8 years ago by gharris

  • Milestone changed from imagej-2.0-beta1 to biweekly-2011: Jun-06 to Jun-17

comment:4 Changed 8 years ago by gharris

  • Milestone changed from biweekly-2011: Jun-06 to Jun-17 to biweekly-2011: Jun-20 to Jul-01

comment:5 Changed 8 years ago by bdezonia

At some point autoscaling improved the display of Organ of Corti. But this is a reminder that the display is still not correct. Some pixels are saturated.

comment:6 Changed 8 years ago by gharris

Display of 16-bit Color Images:

Opening an image using IJ1 opener, this manifests in OrganOfCorti having max'ed out pixels. (Note that OrganOfCorti is an unsigned, 16-bit, 4 channel image.)

When opened with the IJ2 opener, it does not display as a composite, but as a 4 channel image with 4 diff. color tables.

This is about a set of issues that we punted back in March regarding color images.
We added abstract ColorTable<T> and ColorTable16 after we built some classes using ColorTable8, specifically RealLUTConverter and AbstractDatasetView.

Also, LegacyUtils uses ColorTable, but in
List<ColorTable<?>> colorTablesFromImagePlus(ImagePlus imp),
the 16-bit isssue has been anticipated, but the code is commented out:
if (icm.getPixelSize() == 16) is 16 bit table
cTable = make16BitColorTable(icm);

Looks like we need to add 16-bit versions of make8BitColorTable and make8BitLut.

comment:7 Changed 8 years ago by curtis

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

(In [3527]) Update references to CompositeXYProjector.

Fixes #514, due to changes in ImgLib2.

comment:8 Changed 8 years ago by gharris

Changed OrganOfCorti from 4 to 3 channels, but it does not open as a composite.
the 4th channel in OrganOfCorti exposed the fact that the addition of RGB values was not limited to 255.

So we made CompositeXYProjector<A> extends XYProjector<A, ARGBType>
and inDatasetView and AbstractDatasetView, CompositeXYProjector<? extends RealType<?>> changed to CompositeXYProjector<? extends RealType<?>, ARGBType>

Note: See TracTickets for help on using tickets.