Nodes/RES4LYF/Sigmas ArcTangent
ComfyUI Node Runs on cloud

Sigmas ArcTangent

The one inverse-trig reshape that doesn't need normalizing

By ClownsharkBatwing·Created 2 years ago·Updated 18 days ago· 1,222
Sigmas ArcTangent
  • sigmas
  • SIGMAS
scale_outputtrue
out_min0.00
out_max1.00

The third in RES4LYF's trio of inverse-trig sigma reshaping nodes, alongside Sigmas ArcSine and Sigmas ArcCosine. It applies the arctangent function to an existing noise schedule to produce a differently-curved one - but it's built slightly differently from its siblings, and the schema tells you why.

What's different about this one

Arcsine and arccosine only accept inputs in [−1, 1], which is why those two nodes expose a normalize_input toggle to rescale your sigma values into range before applying the function. Arctangent is defined for any real number - there's no domain restriction - so this node simply doesn't have that setting. It's a small detail, but it's a genuine reflection of the underlying math rather than an oversight: arctan doesn't need normalizing to avoid NaNs the way its cousins do.

How it works

Arctangent's curve flattens out asymptotically as its input grows - small changes near zero produce a big swing in output, while large inputs barely move the result. Applied to a sigma schedule, that concentrates the reshaping effect near whatever part of your input maps close to zero, with everything further out getting compressed together. As with ArcSine/ArcCosine, the raw arctan output (in radians) gets rescaled by scale_output into a usable range via out_min/out_max.

The inputs and outputs that matter

  • sigmas (SIGMAS, required) - the schedule to reshape.
  • scale_output (default true) - rescale the radian result into out_minout_max.
  • out_min / out_max (defaults 0 and 1) - the target output range.

Output is a single SIGMAS list. No normalize_input here - that's the whole point.

How to install it

  • ComfyUI Manager - search "RES4LYF", install, restart.
  • Manual - activate your venv, cd ComfyUI/custom_nodes && git clone https://github.com/ClownsharkBatwing/RES4LYF, cd RES4LYF, pip install -r requirements.txt (portable builds: use the embedded pip.exe). Restart.

Common issues & troubleshooting

out_min/out_max still matter a lot. Because arctan compresses large values so aggressively, most of your input schedule can end up mapped into a fairly narrow slice of the output range unless you tune out_max to actually match your model's sigma scale. The 0–1 default is a generic placeholder.

No NaN risk from the domain, but sanity-check the shape anyway. Not needing normalize_input means this node won't error the way ArcSine/ArcCosine can on out-of-range input, but that also means it'll silently hand you a badly-compressed curve without complaint if your out_min/out_max are wrong for the model - it just won't crash while doing it.

Undocumented, same as the rest. The README doesn't cover this node specifically, and there's no community thread comparing it against the arcsine/arccosine variants or against the schedules people actually use in production (beta57, simple, sgm_uniform). Treat it as experimental material, verify the output values with a preview or Sigmas Count before a real render, and default back to your model card's recommended scheduler if you're not specifically chasing a custom curve.

CategoryRES4LYF/sigmas

Inputs (4)

NameTypeDefaultDescription
sigmasSIGMAS
scale_outputBOOLEANtrue
out_minFLOAT0.00-10000–10000
out_maxFLOAT1.00-10000–10000

Outputs (1)

NameTypeDescription
SIGMASSIGMAS