Nodes/radiance/◎ Radiance Downscale 32-bit
ComfyUI Node

◎ Radiance Downscale 32-bit

Downscale without destroying the float range

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Downscale 32-bit
  • image
  • downscaled_image
  • width
  • height
scale_factor0.50
method
antialiasing0.50
pre_blur0.0
process_in_lineartrue
use_gputrue
input_color_spacesRGB

Resizing a regular image is a solved problem - any of a dozen ComfyUI nodes will do it. Downscaling HDR footage is where the stock nodes quietly lie to you: most of them clamp to 8-bit or at least to [0,1] on the way through, which turns your scene-linear highlights into a flat white smear. Radiance Downscale 32-bit is the node for when the thing being shrunk is worth more than 8 bits - it scales in float32 and can do the whole operation in linear light, which is the difference between a correct reduction and a muddy one.

Here's the mechanism worth understanding, because it's the same trap that bites upscaling in reverse: resizing math behaves differently depending on the colorspace you run it in. Scale an sRGB-encoded image with a plain average and the bright areas shrink wrong - the average of two bright pixels in gamma space isn't the average of their actual light. This node defaults to process_in_linear: it converts to linear, resizes, converts back, so the reduced pixels are the real average of their neighbors. That's the "32-bit" in the name earning its keep.

The knobs

  • scale_factor - 0.01 to 1, the shrink amount. 0.5 = half size.
  • method - seven kernels: lanczos, lanczos4, bicubic, mitchell, catrom, gaussian, bilinear. Lanczos is the sharp default for downscaling; mitchell/catrom are smoother and friendlier to already-noisy footage. bilinear is the fast-and-soft option.
  • antialiasing - 0 to 1, default 0.5. How hard the filter fights aliasing (moiré, shimmer on fine detail). If your footage crawls with interference patterns when shrunk, raise it.
  • pre_blur - 0 to 2. A little blur before the scale kills high-frequency noise that aliases worse when shrunk. Especially worth it on AI-video frames.
  • process_in_linear - on by default. Leave it on for HDR or scene-linear work; if your input is already linear, the node detects it and skips the round-trip.
  • input_color_space - sRGB, Linear, or Auto. Set to Linear to skip the sRGB↔linear conversion entirely when your data is already linear; Auto lets the node guess.
  • use_gpu - on by default for speed.

Outputs: downscaled_image, plus width and height INTs - handy to wire into a layout or save node so everything downstream adapts to the new size.

Where it fits

The obvious use is the standard "downscale for preview" move - shrink a 4K frame to check the grade without burning VRAM - done without nuking the float range. It's also the front end of a real pipeline: downscale a plate for a fast ControlNet pass, or feed the reduced frame into a DoF or grain pass that you'll later composite back at full res. For plain 8-bit PNGs there's no advantage over the stock nodes; this earns its place only when the values above 1.0 matter.

Install

In fxtdstudios/radiance - Manager search "Radiance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_linux.txt   # or windows/mac_silicon

Restart after; Linux needs libopenexr-dev before pip, and the heavy dependency set (OpenEXR, OpenColorIO, colour-science, transformers) makes first boot slow. If Manager's security level blocks the install, clone manually per the README.

CategoryFXTD Studios/Radiance/Image

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
scale_factorFLOAT0.500.01–1
methodCOMBO7 options: lanczos, lanczos4, bicubic, mitchell, catrom, gaussian, +1
antialiasingoptFLOAT0.500–1
pre_bluroptFLOAT0.00–2
process_in_linearoptBOOLEANtrue
use_gpuoptBOOLEANtrue
input_color_spaceoptCOMBOsRGBColour space of the input image. Set to 'Linear' or 'Auto' to skip the sRGB↔linear conversion for HDR or already-linear inputs.

Outputs (3)

NameTypeDescription
downscaled_imageIMAGE
widthINT
heightINT