Properly implement mask channels
Currently, the mask channels in ChannelViewMaskWidget
are hard-coded to align with the image channels. In principle, they can be independent.
In this case, the only information ChannelViewMaskWidget
would need about the runtime context of ChannelViewWidget
is the image size and the axes to add the masks into. This leads to a beneficial decoupling, and the new mask widget can get a more generic name and is better composable.