Orion4D · Smart Sharpen APP
Sharpening that knows when to stop
- image
- mask
- image
- mask
Here's the standard failure mode: you upscale a 1024 image to 4K, hit it with an unsharp mask, and the noise in the upscale gets sharpened right alongside the edges - so you've traded soft for speckly. Orion4D_FXMax_SmartSharpen (displayed "Orion4D · Smart Sharpen APP") is the node built to not do that. It's the pack's Photoshop-Smart-Sharpen equivalent: edge-aware, noise-aware, and aware that highlights and shadows shouldn't get the same treatment as midtones.
How it works
Instead of a plain Gaussian blur/subtract, Smart Sharpen runs a guided filter to build its smooth version - that's the edge-preserving blur that keeps strong edges intact while flattening noise. It subtracts that from the luminance to get detail, then applies three protections:
- reduce_noise - a soft-threshold that shrinks small-amplitude detail (i.e. noise) before it gets sharpened.
- fade_shadows / fade_highlights - scales the sharpen down in dark and bright areas, where halos and grit show up worst.
- luma-only math - so color channels don't take the hit.
The result is a sharpen that puts its strength where edges actually are, which is exactly what you want after a neural upscale like SeedVR2 or an ESRGAN pass. The "Clean Upscale Smart" preset is tuned for precisely that job.
Inputs and outputs
Standard pack schema:
- image - the IMAGE tensor.
- preset - Natural Smart Sharpen, Clean Upscale Smart, or Crisp Smart Sharpen.
- raw_settings - "Embedded JSON settings used for workflow portability. Managed automatically by the APP." This is where your APP-tweaked strength, radius, and fade values live.
- mask (optional) - localize the effect.
Outputs: image and mask.
When to reach for it
If the source is clean, honest unsharp is fine and faster. But for upscaled or lightly denoised images - the ones where "sharpen" and "amplify noise" are the same operation - Smart Sharpen is the right tool, and it's the sharpness node you'll actually keep in a production workflow. It's pure PyTorch on the GPU like all the pack's Sharpness nodes, so it stays fast on big images and video batches; the "smart" part costs very little.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_FXMax.git
# restart ComfyUI
Or grab it via ComfyUI Manager ("Orion4D_FXMax"). No model files, just Pillow/numpy. Open the APP to watch the split-screen before/after while you tune - the reduce_noise slider is the one people forget about; leaving it at 0 on a noisy upscale defeats the whole point.
Gotchas
The fade settings can overcorrect: maxing out fade_shadows and fade_highlights leaves you sharpening only midtones, which can look odd on low-key images. Trust the presets first, then nudge one knob at a time in the APP. And like all the sharpness nodes, don't stack it on top of the main SharpnessMax node running its own smart stage - pick your pipeline, don't run two.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | 3 options: Natural Smart Sharpen, Clean Upscale Smart, Crisp Smart Sharpen | |
| raw_settings | STRING | Embedded JSON settings used for workflow portability. Managed automatically by the APP. | |
| maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |