Files
mcDandy-more_math/README.md
T

76 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# More Math
Adds math nodes for numbers and types which do not need it. I got inspired by was_extras node.
#WARNING This node is not compatible to ComfyUI-Impact-Pack which forces older antlr version.
## Quickstart
1. Install [ComfyUI](https://docs.comfy.org/get_started).
1. Clone this repository into `ComfyUI/custom_nodes`.
1. Restart ComfyUI.
You can also get the node from comfy manager under the name of More math.
# Features
- functions and variables in math expressions
- Nodes for CONDITIONING, LATENT, IMAGE, NOISE, FLOAT, VIDEO and AUDIO
## Operators
- Math: `+`, `-`, `*`, `/`, `%`, `^`
- Boolean: `<`, `<=`, `>`, `>=`, `==`, `!=`
(`false = 0.0`, `true = 1.0`)
## Functions
- Basic: `abs`, `sqrt`, `ln`, `log`, `exp`, `pow`
- Trigonometric: `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `atan2`
- Hyperbolic: `sinh`, `cosh`, `tanh`, `asinh`, `acosh`, `atanh`
- Aggregates: `smin`, `smax` , `snorm` (scalar), `tmin`, `tmax`, `tnorm` (elementwise)
- Other: `floor`, `ceil`, `round`, `gamma`, `clamp`, `sigm` (sigmoid) `fft` (N-D FFT on non-batch/channel dims), `ifft` (Inverse N-D FFT, returns real component), `angle` (in ifft only)
- Shaders: `lerp(a, b, w)`, `step(x, edge)`, `smoothstep(x,edge0, edge1)`, `fract(x)`
- ML: `relu(x)`, `softplus(x)`, `gelu(x)`, `sign(x)`
- Tensor: `swap(tensor, dim, index1, index2)` (swaps two slices of a tensor along a dimension)
## Variables
- **common inputs** (matches node input type):
- `a`, `b`, `c`, `d`
- **Extra floats**:
- `w`, `x`, `y`, `z`
- **INSIDE IFFT**
- `F` or `frequency_count` – frequency count (freq domain, iFFT only)
- `K` or `frequency` – isotropic frequency (Euclidean norm of indices, iFFT only)
- `Kx`, `Ky`, `K_dimN` - frequency index for specific dimension
- `Fx`, `Fy`, `F_dimN` - frequency count for specific dimension
- **IMAGE and LATENT**:
- `C` or `channel` - channel of image
- `X` - position X in image. 0 is in top left
- `Y` - position Y in image. 0 is in top left
- `W` or `width` - width of image. y/width = 1
- `H` or `height`- height of image. x/height = 1
- `B` or 'batch' - position in batch
- 'T' or 'batch_count` - number of batches
- `N` or `channel_count` - count of channels
- **AUDIO**:
- `B` or 'batch' - position in batch
- `N` or `channel_count` - count of channels
- `C` or `channel` - channel of audio
- `S` or `sample` – current audio sample
- 'T' or 'sample_count` - audio lenght in samples
- `R` or `sample_rate` – sample rate
- **VIDEO**
- refer to `IMAGE and LATENT` for visual part (but `batch` is `frame` and `batch_count` is `frame_count`)
- refer to `AUDIO` for sound part
- **NOISE**
- refer to `IMAGE and LATENT` for most variables
- `I` or `input_latent` – latent used as input to generate noise before noise is generated into it
- **CONDITIONING and FLOAT**
- no additional variables
- `F` or `frequency_count` – frequency count (freq domain, iFFT only)
- `K` or `frequency` – isotropic frequency (Euclidean norm of indices, iFFT only)
- `Kx`, `Ky`, `K_dimN` - frequency index for specific dimension
- `Fx`, `Fy`, `F_dimN` - frequency count for specific dimension
- Constants: `e`, `pi`