Files
tono/docs/nodes/DWT Anisotropy.md
2026-04-04 00:25:53 -07:00

1.7 KiB

DWT Anisotropy

Quantify surface anisotropy using a multi-level 2-D Haar wavelet decomposition. At each decomposition level, horizontal and vertical detail energies are compared to produce an X/Y energy ratio. Equivalent to Gwyddion's dwtanisotropy.c.

Inputs

Name Type Required Description
field DATA_FIELD Yes Input surface field

Outputs

Name Type Description
anisotropy_map DATA_FIELD Per-pixel anisotropy ratio map (averaged across decomposition levels)
statistics RECORD_TABLE Per-level X/Y energy ratios and anisotropy flags

Controls

Name Type Default Description
n_levels INT 4 Number of wavelet decomposition levels (1--10)
ratio_threshold FLOAT 0.2 Deviation from 1.0 required to flag a level as anisotropic (0.001--10.0)

Notes

  • The decomposition uses the Haar wavelet (db1), which splits each 2x2 block into approximation (LL), horizontal detail (LH), vertical detail (HL), and diagonal detail (HH) coefficients.
  • Energy ratios are computed as sum(HL^2) / sum(LH^2) at each level. HL captures horizontal features (edges running left-right), while LH captures vertical features (edges running top-bottom).
  • Ratio > 1 means the surface has more horizontal features; ratio < 1 means more vertical features; ratio near 1 indicates isotropy.
  • The input is padded to the next power of 2 if necessary; padding uses edge values.
  • The anisotropy map is built by upsampling each level's per-pixel ratio and averaging across levels.
  • The statistics table includes per-level x_energy, y_energy, ratio, and a boolean anisotropic flag based on the ratio_threshold control.