ComfyUI Extension: ComfyUI_RadialAverageAmplitudeSpectrum
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.
A ComfyUI custom node that computes and visualizes the Radial Average Amplitude Spectrum for frequency-domain image analysis.
Looking for a different extension?
Custom Nodes (0)
README
ComfyUI Radial Average Amplitude Spectrum
A ComfyUI custom node that computes and visualizes the Radial Average Amplitude Spectrum of an input image — a 1D frequency-domain analysis tool useful for characterizing image texture, noise, and spatial frequency content.

What It Does
- Converts the input image to grayscale using luminance weights.
- Applies a 2D FFT and shifts the DC component to the center.
- Computes the amplitude spectrum (
|FFT|). - Averages the amplitude values at each integer radial distance from the center, producing a 1D spectrum.
- Renders the spectrum as a log-log plot and returns it as a standard ComfyUI
IMAGEtensor.
Installation
Option A — Copy into custom_nodes
cp -r ComfyUI_RadialAvgAmpSpectrum /path/to/ComfyUI/custom_nodes/
Option B — Clone directly
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/your-repo/ComfyUI_RadialAvgAmpSpectrum.git
Then restart ComfyUI. The node will appear under the analysis category.
Dependencies
All dependencies are part of the standard Python scientific stack that ComfyUI already ships with:
| Package | Purpose |
|---------|---------|
| numpy | FFT and array operations |
| matplotlib | Plot rendering |
| Pillow | Image conversion |
| torch | Tensor I/O (ComfyUI standard) |
No additional pip install steps are required in a typical ComfyUI environment.
Node Reference
Node name: Radial Avg Amplitude Spectrum
Category: analysis
Inputs
| Name | Type | Description |
|------|------|-------------|
| image | IMAGE | Input image (any resolution, RGB or grayscale) |
| plot_width | INT | Width of the output plot image in pixels (default: 512) |
| plot_height | INT | Height of the output plot image in pixels (default: 512) |
| line_color | STRING | Matplotlib color string for the spectrum line (default: red) |
| log_x | BOOLEAN | Use logarithmic scale on the frequency axis (default: true) |
| log_y | BOOLEAN | Use logarithmic scale on the amplitude axis (default: true) |
Outputs
| Name | Type | Description |
|------|------|-------------|
| spectrum_image | IMAGE | Log-log plot of the 1D radial average amplitude spectrum |
Interpreting the Output
- X axis (frequency): Spatial frequency in cycles per pixel, expressed as radial distance from the DC center (1 = lowest non-DC frequency, Nyquist ≈ min(H,W)/2).
- Y axis (amplitude): Mean amplitude of the FFT at that radial frequency bin.
- A steep negative slope indicates a smooth, low-frequency-dominant image.
- A flat or slowly decaying spectrum indicates high-frequency content (sharp edges, noise, fine texture).
License
MIT
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.