weights¶
Weight functions for azimuthal average.
The weight functions can be used to perform a sector average of the image structure function.
For example:
import fastddm as fddm
# load your images here and get shape of one image (last 2 entries in the shape property)
img_seq = fddm.read_images(...)
shape = img_seq.shape[-2:]
# compute the image structure function
dqt = fddm.ddm(img_seq, range(1, len(img_seq)))
# create a weight 'mask' to be applied to the image structure function
weights = fddm.weights.sector_average_weight(
full_shape=shape, kx=dqt.kx, ky=dqt.ky, theta_0=90, delta_theta=90, rep=4, kind="uniform"
)
# set bin number and pass the weights to the azimuthal_average function
nbins = max(shape) // 2
az_avg = fddm.azimuthal_average(dqt, bins=nbins, weights=weights)
(Source code, png, hires.png, pdf)
- fastddm.weights.sector_average_weight(full_shape: Tuple[int, int], kx: ndarray | None = None, ky: ndarray | None = None, theta_0: float = 0.0, delta_theta: float = 90.0, rep: int = 2, kind: str = 'uniform') ndarray¶
Weights for sector azimuthal average.
If
kxorkyare not given, the half-plane representation for the 2D image structure function is assumed and we usekx = 2.0 * np.pi * np.fft.fftfreq(full_shape[1])[:shape[1]]ky = 2.0 * np.pi * np.fft.fftshift(np.fft.fftfreq(full_shape[0]))with
shape[1] = full_shape[1] // 2 + 1.- Parameters:
full_shape (Tuple[int, int]) – Shape of the full 2D image structure function. This is needed in order to correctly account for the spare column (Nyquist frequency). The shape of the output will be
(full_shape[0], full_shape[1] // 2 + 1), as for the image structure function data.kx (np.ndarray | None, optional) – The array of spatial frequencies along axis x. Default is None.
ky (numpy.ndarray | None, optional) – The array of spatial frequencies along axis y. Default is None.
theta_0 (float, optional) – Reference main angle (in degrees). Default is 0.
delta_theta (float, optional) – Sector width (in degrees). If
kindis “gauss”, it is the standard deviation of the gaussian function over the angles. Default is 90.rep (int, optional) – Number of equally-spaced theta angles. Default is 2.
kind (str, optional) – Type of weight function. Supported types are “uniform” and “gauss”. Default is “uniform”.
- Returns:
The weights.
- Return type:
- Raises:
RuntimeError – If a value for
kindother than “uniform” or “gauss” is given.