Files
heyburns-PortraitUtils/docs/ImageMegapixelSelector.md
T
2025-10-11 18:54:07 -05:00

1.8 KiB
Raw Blame History

ImageMegapixelSelector

Screenshot

Overview

ImageMegapixelSelector rescales an RGB image to the closest target in {1, 2, 3} megapixels (rounded with ties favouring larger). The resized output can enforce divisibility constraints on width and height, making it handy for models that require dimensions aligned to a specific multiple (e.g., 8 or 64).

Inputs

  • image (IMAGE): Source tensor [B, H, W, C]. Batching is not yet supported (B must be 1). Any alpha channel is discarded prior to processing.
  • divisible_by (INT, default 8): Ensures both width and height in the result are multiples of this value. Set to 1 to disable snapping.

Outputs

  • image (IMAGE): RGB tensor resized via Lanczos filtering to the chosen megapixel target, respecting the divisibility constraint.
  • target_megapixels (FLOAT): The actual megapixel value achieved after rounding and modulus corrections.

Processing Notes

  • The node computes the raw scale necessary to hit the nearest whole-megapixel target, then searches a neighbourhood of candidate widths that satisfy divisible_by.
  • Heights are rounded by preserving aspect ratio where possible; several rounding strategies are tried to reduce distortion.
  • Resampling uses PIL’s Lanczos filter on the CPU, preserving RGB ordering and clamping to [0, 1].

Tips

  • Combine this node with FluxResolutionPrepare when you want predictable intermediate resolutions prior to Flux cropping.
  • Leave divisible_by at 8 for Stable Diffusion-style latents, or increase to 64 when feeding grids/tilers that operate on 64-pixel blocks.
  • Because the node always outputs RGB, downstream mask compositors can assume three-channel data.*** End Patch