ex10_window_functions
This example compares all 53 unique BLEND window implementations through the
two-dimensional merging weights generated by merge2d. The results are split
between two figures. Every panel uses the same primary support, output domain,
grid spacing, and symmetric taper ratio, so only the window function changes.
The primary occupies -R15/85/15/85 inside the full -R0/100/0/100 output
domain. Each mergefile uses the form:
primary secondary - function/function 0.49
secondary - - - -
Using the same function in x and y produces a separable two-dimensional
weight. The taper ratio of 0.49 leaves only a small full-weight region and
makes differences between the edge profiles easier to see. The dashed orange
square marks the primary support.
The first figure includes:
boxcar cosine trapezoid hamming blackman
blackmanharris welch parzen gaussian smoothstep
smootherstep exponential sine bohman nuttall
kaiser cauchy quadratic cubic bartlett
bartletthann lanczos hanningpoisson plancktaper logistic
The second figure includes the remaining implementations:
poisson exactblackman blackmannuttall flattop riesz
riemann fejer connes kaiserbessel quartic
quintic septic nonic tanh erf
arctan gompertz softsign agnesi inversequadratic
inversemultiquadric powerlaw root circular sech
sech2 student laplace
Several additional BLEND names are aliases. For example, hann and tukey
select the cosine implementation, linear selects trapezoid, and barthann
selects Bartlett-Hann.
Run:
./ex10_window_functions.sh
The script verifies that every weight grid contains no missing nodes and stays
within the interval from zero to one. It creates ex10_window_functions.png,
ex10_window_functions.pdf, ex10_window_functions_remaining.png, and
ex10_window_functions_remaining.pdf.
Figures