MaskCropMaster / README.md
MaskCropMaster
Initial release: MASK CROP MASTER - always-square mask crop for ComfyUI
bfbe8cd
|
Raw History Blame Contribute Delete
3.02 kB

MASK CROP MASTER β€” ComfyUI Custom Node

Always-square mask crop, even at image edges.

The Problem

When you mask a region at the edge of an image, the standard Mask Crop Region node from was-ns produces a rectangular crop instead of a square. This happens because it clamps the crop dimensions when the square extends beyond the image bounds.

The Solution

MASK CROP MASTER repositions the square instead of clamping it. When the crop would extend past an image edge, it slides the square inward so it always fits completely inside the image.

was-ns (rectangle):              MASK CROP MASTER (square):
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚           β”‚β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚
β”‚β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚           β”‚β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚
β”‚β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚           β”‚β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚
β”‚β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚           β”‚β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  400Γ—200 (broken)                 400Γ—400 (correct)

Installation

cd ComfyUI/custom_nodes
git clone https://huggingface.co/YOUR_USERNAME/MaskCropMaster.git

Restart ComfyUI after cloning.

Usage

Drop-in replacement for Mask Crop Region from was-ns:

  1. Remove the old Mask Crop Region node from your workflow
  2. Add MASK CROP MASTER from the WAS Suite/Image/Masking category
  3. Connect the same inputs: mask, padding, region_type
  4. Connect the same outputs: cropped_mask, crop_data, coordinates, dimensions

Inputs

Input Type Default Description
mask MASK β€” Input mask
padding INT 24 Padding around the bounding box before squaring
region_type COMBO "dominant" "dominant" or "minority" (was-ns compatible)

Outputs

Output Type Description
cropped_mask MASK Square-cropped mask
crop_data CROP_DATA Compatible with Mask Paste Region
top_int INT Y position of the square
left_int INT X position of the square
right_int INT Bottom edge
bottom_int INT Right edge
width_int INT Width (= side length)
height_int INT Height (= side length)

Compatibility

  • Works with Mask Paste Region from was-ns (same crop_data format)
  • Same output names β†’ minimal rewiring needed
  • Tested with ComfyUI latest version

License

Apache 2.0