Nodes/Jovimetrix/CALC OP UNARY (JOV) 🎲
ComfyUI Node

CALC OP UNARY (JOV) 🎲

31 single-input math ops in one dropdown

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 397
CALC OP UNARY (JOV) 🎲
  • πŸ…°οΈ
  • ❔
β—„βš’οΈABSβ–Ί

CALC OP UNARY (JOV) 🎲 is the one-input half of Jovimetrix's math duo, and the fastest way to answer "what if I did math to this value?" - 31 operations in one dropdown, all on a single input. Absolute value, floor, ceil, sqrt, square, log, log10, sin, cos, tan, negate, reciprocal, plus the aggregation family (mean, median, mode, magnitude, min, max) and normalize. It accepts numbers, vectors, and in current builds tensors, and it returns the same type you put in.

The design is deliberately one-thing-per-node simple: you're not going to confuse this with a calculator, it's a transform you drop into a wire. Which is exactly why it shows up in procedural workflows - animate a parameter, normalize a batch, flip a value's sign mid-graph - without importing a whole math pack.

What it does

Two controls:

  • πŸ…°οΈ - the input value. Any type. Empty input falls back to defaults, so you can treat it as "apply this op to my batch's values."
  • βš’οΈ - the operation (default ABS). The interesting set beyond the trig/rounding basics: MEAN, MEDIAN, MODE, MAGNITUDE (Euclidean length of a vector), NORMALIZE (scale a vector to unit length), MAXIMUM, MINIMUM, and - new in the 2.x line - a fill-array mode. If you're driving animation, NORMALIZE and MAGNITUDE are the two you'll actually reach for.

Output (❔) is a list of results, type matching the input. A VEC3 in, a VEC3 out; a single float in, a single float out.

How it works

Under the hood it converts the input to a vector, applies the chosen math per component (or collapses the vector for the aggregate ops), then converts back to the output type. That "vector-in, vector-out" normalization is the Jovimetrix core idea - every value is treated as data that can be reshaped, so one node covers scalars and vectors with the same code path. No model, no VRAM, runs on batches.

Installing it

Part of Jovimetrix:

  • ComfyUI Manager - search "Jovimetrix", install.
  • Manual - git clone https://github.com/Amorano/Jovimetrix.git into custom_nodes/, then pip install -r requirements.txt.

No models. Dependencies: numpy, OpenCV, Pillow, matplotlib, cozy_comfyui. Needs ComfyUI 0.1.3+.

The honest take

The aggregation ops are where this node earns its keep over a plain math node - most ComfyUI math nodes can't give you the mean or median of a batch in one shot, and this can. Pair it with the pack's ARRAY and TICK nodes and you get schedule math without touching a Python node. The main trap is conceptual: MODE returns the most common value, MAGNITUDE collapses a vector to a single scalar, so "why is my vector suddenly a number" is usually just "you picked a collapse op." Read the op name before you panic. It's not the node you'll think about much - it's the node you'll silently be glad exists.

CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/CALC

Inputs (2)

NameTypeDefaultDescription
πŸ…°οΈopt*β€”
βš’οΈoptCOMBOABS31 options: ABS, FLOOR, CEIL, SQRT, SQUARE, LOG, +25

Outputs (1)

NameTypeDescription
❔*β€”