Nodes/Orion4D_FXMax/Orion4D · Unsharp Mask APP
ComfyUI Node

Orion4D · Unsharp Mask APP

The classic sharpen, done properly

By orion4d·Created 3 months ago·Updated 3 months ago· 15
Orion4D · Unsharp Mask APP
  • image
  • mask
  • image
  • mask
preset
raw_settings

Unsharp mask is the oldest sharpen in the book and it's still the most predictable - which is exactly why it's worth having as its own node instead of folding it into a mega-pipeline. Orion4D_FXMax_UnsharpMask (displayed "Orion4D · Unsharp Mask APP") gives you the classic Photoshop-style USM controls in the pack's usual clean wrapper: blur, subtract, add back, with a threshold so flat areas stay untouched.

How it works

The name is a historical artifact - there's nothing "unsharp" about the output. The node blurs a copy of the image, subtracts that blur from the original to get the detail layer, and adds the detail back scaled by an amount. The knob that makes it not-terrible is threshold: only detail whose magnitude clears the threshold gets sharpened. Set it low and everything sharpens (fast, but noisy). Set it sensibly and the smooth areas - sky, skin, background bokeh - stay smooth while edges get crisp. That's the whole art of USM, and it's the thing most one-click sharpeners get wrong.

There's also the Luma mode, which sharpens only the luminance, so you don't get color halos on edges. That plus the threshold is why this node can be subtle when it needs to be.

Inputs and outputs

Standard pack schema:

  • image - the IMAGE tensor.
  • preset - Natural Unsharp Mask, Fine USM, or Strong USM.
  • raw_settings - "Embedded JSON settings used for workflow portability. Managed automatically by the APP." Your amount/radius/threshold live here after you touch the APP.
  • mask (optional) - restrict sharpening to a region, handy for faces or product edges.

Outputs: image and mask. It's a pure GPU PyTorch node like the rest of the Sharpness suite, so it's cheap on large images and fine in video loops.

Where it fits

Reach for USM when you want controlled sharpening with no surprises - it's the workhorse for slightly soft renders and for a final crispening pass after an upscale, and it's arguably the most beginner-forgiving node in the pack because the threshold gives you a safe lever. When you need edge-aware noise suppression instead, the pack's Smart Sharpen is the upgrade; when you want tonal punch rather than edge crispness, that's Clarity. USM is the middle ground: everyone understands it, nothing fancy, reliable results.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_FXMax.git
# restart ComfyUI

ComfyUI Manager search "Orion4D_FXMax" works too. No models to download, dependencies are just Pillow (numpy ships with ComfyUI). The Open APP editor gives you the real-time split preview so you can watch the threshold do its job instead of guessing.

Gotchas

The classic USM mistake is cranking amount and leaving threshold at zero - you get a crisp image that vibrates with noise. If the render already has grain, raise the threshold before you lower your expectations. And don't stack USM under the main SharpnessMax node's own unsharp stage; one USM per image is plenty.

CategoryOrion4D_FXMax/Sharpness

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
presetCOMBO3 options: Natural Unsharp Mask, Fine USM, Strong USM
raw_settingsSTRINGEmbedded JSON settings used for workflow portability. Managed automatically by the APP.
maskoptMASK

Outputs (2)

NameTypeDescription
imageIMAGE
maskMASK