Select Multiband Channels
Keep the channels you want, drop the rest
- multiband
- multiband
Select Multiband Channels is the filter. A MULTIBAND_IMAGE comes in with however many channels it has, you say which ones you want, and a slimmer multiband comes out - same spatial data, just fewer channels, names preserved. It's the node you reach for when a 12-channel stack is mostly noise and you only actually need three of them.
The shape of the problem is common in real workflows. You load a saved stack, or compose one from everything available, and then downstream you want to work with a subset - the three RGB-ish channels for display, the two segmentation channels for a mask pipeline. You could rebuild the stack from source, or you could just select. This node is the second option.
How it works
The channels widget takes a comma-separated list, and it's deliberately forgiving: it accepts either indices or names. 0,1,2 selects the first three channels; R,G,B selects whatever channels are actually named R, G, and B. It tries digits as indices first, falls back to matching names, and skips anything it can't resolve. If nothing in your list resolves at all, you get a clear "No valid channels found" error.
Order matters in a good way - the output follows your list, so 2,1,0 genuinely reorders channels. That's occasionally exactly what you want before feeding a Multiband to Image, where channel order becomes RGB order.
The inputs
- multiband - required, any MULTIBAND_IMAGE.
- channels - required, comma-separated indices or names. Default
0,1,2.
Output is a multiband with just the selected channels, in the order you listed them, metadata carried along.
Installing the pack
Part of ComfyUI-Multiband. ComfyUI Manager → search "ComfyUI-Multiband" → Install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-Multiband.git
pip install -r ComfyUI-Multiband/requirements.txt
Same deps as the whole pack - numpy, torch, tifffile - no models to fetch.
The naming caveat
Name-based selection only works if the channels have the names you expect, which is why Rename Multiband Channels exists in the same pack. A stack composed from loose inputs gets auto-named (channel_0, input_1_R…), and if you don't recognize those labels, selection by name is a guessing game. Get the names right at compose time - or rename before you select - and R,G,B just works. And note this node returns a multiband, not an image: if your goal is a displayable RGB picture, the final hop is Multiband to Image, which is the same idea but outputs a standard IMAGE.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| multiband | MULTIBAND_IMAGE | — | |
| channels | STRING | 0,1,2 | Comma-separated channel indices (0,1,2) or names (R,G,B) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| multiband | MULTIBAND_IMAGE | — |