Angular Spectrum Sync Task
The Angular Spectrum Method (ASM) models free-space propagation of a wavefield by decomposing it into plane waves and applying a phase shift in the spatial frequency domain.
Given a scalar complex field \(U(x, y, 0)\) at \(z = 0\), its propagated field at distance \(z\) is:
where \(\mathcal{F}\) and \(\mathcal{F}^{-1}\) are the 2D Fourier and inverse Fourier transforms, and the transfer function \(H(f_x, f_y, z)\) is:
where:
- \(\lambda\): wavelength
- \(f_x, f_y\): spatial frequencies
- \(z\): propagation distance
See Angular Spectrum Method - Wikipedia and Angular Spectrum Method - LibreTexts for more details.
Note
This task can perform an optional frequency domain filtering step specified by the optional filter setting. See the Filter 2D task documentation for more details on the available filter types and settings.
Inputs
This task has a single input of shape (B, H, W), where:
B: batch sizeH: height of the input fieldW: width of the input field
The dtype of the input tensor must be complex 32-bit (complex32).
The memory location of the input tensor must be device memory.
Outputs
This task has a single output of shape (B, H, W), where:
B: batch size (same as input)H: height of the output field (same as input)W: width of the output field (same as input)
The dtype of the output tensor is complex 32-bit (complex32).
The memory location of the output tensor is device memory.
Inplace
This task has an inplace relationship between its input and output.
Ownership
This task does not own any inputs or outputs.
Settings
Examples:
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| + lambda | No | number | No | - | Wavelength in meters. Must satisfy: - lambda > 0 |
| + dx | No | number | No | - | Pixel pitch along X in meters. Must satisfy: - dx > 0 - dx == dy |
| + dy | No | number | No | - | Pixel pitch along Y in meters. Must satisfy: - dy > 0 - dy == dx |
| + z | No | number | No | - | Propagation distance in meters. Positive values propagate forward; negative values back-propagate. |
| - filter | No | object | No | - | Optional bandlimiting filter expressed in pixels. Must satisfy: - r_inner >= 0 - r_outer >= r_inner - s_inner >= 0 - s_outer >= 0 |