Ticket #5 (closed enhancement: fixed)

Opened 13 years ago

Last modified 12 years ago

Better channel merging in Bio-Formats Importer

Reported by: curtis Owned by: melissa
Priority: minor Milestone:
Component: plugins Severity: non-issue
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by curtis) (diff)

As mentioned in ticket #2, the method to use for merging more than three channels is not obvious. Our current solution is to disallow it. But we could probably allow RGB merging in more cases.

If a dataset has more than 3 channels, the importer could prompt the user how to proceed. For example, a 32-channel image series could prompt: "This series has 32 channels. How would you like to merge the channels?" with choices:

  • 11 windows, 3 channels per plane
  • 16 windows, 2 channels per plane
  • Do not merge

Note that if the number of channels does not divide evenly, the final window may have a lesser number of channels per plane. With the 32-channel series with 3 channels per plane, for example, there would be 10 3-channel windows, and one 2-channel window.

If we add a feature like this, it must use the proper ImageJ dialog classes so that the importer plugin continues to be fully scriptable in a macro.

Another option might be to implement a spectral colorization algorithm. There are two possibilities that immediately spring to mind:

  • The MultiLUT application (source:trunk/loci/apps/MultiLUT.java) implements a weighted slider approach, where three weights (one for each of the R, G and B color components) are applied to each spectral channel. The final color values are computed as the sum of weighted values for all channels. In this way, a particular set of channels can be favored for a specific color component, and the user can interactively explore different weighting combinations. Unfortunately, this type of interaction does not mesh well with the importer plugin, and would be a significant effort to implement well.
  • Long Yan's "spectral projection" technique (described in ticket #86).

The spectral projection algorithm could be implemented as another choice on the menu ("Perform a spectral projection").

As of this writing, Bio-Formats will soon support additional labeling of dimensions rasterized within channel. For example, spectral-lifetime data will be identified properly, with proper details regarding how many lifetime bins vs how many spectral channels (with the product of those lengths equaling the total number of channels). The RGB merger could use this information to present the spectral projection option (or not) depending on whether one of the channel dimensions is "spectra."

Change History

comment:1 Changed 13 years ago by curtis

  • Description modified (diff)

comment:2 Changed 13 years ago by curtis

  • Description modified (diff)

comment:3 Changed 13 years ago by melissa

r2652 prompts the user to choose one of the following when merging 4+ channel data:

  • merge using 2 channels per plane
  • merge using 3 channels per plane
  • do not merge

comment:4 Changed 12 years ago by melissa

  • Severity set to fatal

As of r3459, up to 7 channels can be merged together (using ImageJ's CompositeImage class). If there are more than 7 channels, the user can choose to merge using 2-7 channels per plane.

comment:5 Changed 12 years ago by melissa

  • Severity changed from fatal to non-issue

comment:6 Changed 12 years ago by melissa

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

Added hooks for spectral projection in r3501. The option to use spectral projection is only displayed if there are more than 7 channels and "Spectra" is one of the sub-channels.

Note: See TracTickets for help on using tickets.