imagej / imagej-common

ImageJ core data model
https://imagej.net/libs/imagej-common
BSD 2-Clause "Simplified" License
9 stars 18 forks source link

Add widget for single-channel images #89

Open imagejan opened 4 years ago

imagejan commented 4 years ago

Many common image analysis workflows run on one or several selected channels of multi-channel images. Depending on the image storage format, the separate channels might exist in separate files or in a single dataset. This makes it often necessary to split or merge channels, depending on the plugin being used and how it defines its inputs.

To allow developers to create more generic plugins, I propose to add a new widget allowing to ask specifically for single-channel images. In a script, this could e.g. look like:

#@ Img (style="single-channel") mySingleChannelImg

which could be rendered in a widget like this:

image

All that would be needed is a new Widget that supports Img (or Dataset) parameters when they have the single-channel style annotation. The widget could then accept both images that already have a single channel only, or -- when provided a multi-channel image -- ask for which channel index should be taken as input. (Although a nice dynamic way of changing channel choices, or disabling channel choice for single-channel images, would have to wait for https://github.com/scijava/scijava-common/issues/42#issuecomment-332658377 or similar being implemented.)