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.