# AngularSpectrumMethod

Documentation for AngularSpectrumMethod.

`AngularSpectrumMethod.ASM`

`AngularSpectrumMethod.ASM!`

`AngularSpectrumMethod.BandLimitedASM`

`AngularSpectrumMethod.BandLimitedASM!`

`AngularSpectrumMethod.ScalableASM`

`AngularSpectrumMethod.ScalableASM!`

`AngularSpectrumMethod.ScaledASM`

`AngularSpectrumMethod.ScaledASM!`

`AngularSpectrumMethod.ShiftedASM`

`AngularSpectrumMethod.ShiftedASM!`

`AngularSpectrumMethod.TiltedASM`

`AngularSpectrumMethod.TiltedASM!`

`AngularSpectrumMethod.ASM!`

— Method`ASM!(u, λ, Δx, Δy, z; expand=true)`

Same as ASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.ASM`

— Method`ASM(u, λ, Δx, Δy, z; expand=true)`

return diffracted field by the angular spectrum method (ASM). Evanescent waves are not eliminated but attenuated as $\exp(-2{\pi}wz)$. Without attenuation, the total energy $\iint|u|\mathrm{d}x\mathrm{d}y$ is conserved.

**Arguments**

`u`

: input field.`λ`

: wavelength.`Δx`

: sampling interval the in x-axis.`Δy`

: sampling interval the in y-axis.`z`

: diffraction distance.`expand=true`

: if true (default), perform 4× expansion and zero padding for aliasing suppression.

The x-axis is the horizontal direction, and the y-axis is the vertical.

`AngularSpectrumMethod.BandLimitedASM!`

— Method`BandLimitedASM!(u, λ, Δx, Δy, z; expand=true)`

Same as BandLimitedASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.BandLimitedASM`

— Method`BandLimitedASM(u, λ, Δx, Δy, z; expand=true)`

return diffracted field by the band-limited ASM (see Ref. 1).

`AngularSpectrumMethod.ScalableASM!`

— Method`ScalableASM!(u, λ, Δx, Δy, z; expand=true)`

Same as ScalableASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.ScalableASM`

— Method`ScalableASM(u, λ, Δx, Δy, z; expand=true)`

return automatically scaled diffraction field by the scalable ASM (see Ref. 1). The sampling pitch in the destination plane $\Delta_{d}$ is $\Delta_{d}=\dfrac{\lambda z}{pN\Delta_{s}}$, where $\Delta_{s}$ is the sampling pitch in the source plane, $N$ is the number of pixels in the source or destination plane, and $p=2$ is the padding factor.

`AngularSpectrumMethod.ScaledASM!`

— Method`ScaledASM!(u, λ, Δx, Δy, z, R; expand=true)`

Same as ScaledASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.ScaledASM`

— Method`ScaledASM(u, λ, Δx, Δy, z, R; expand=true)`

return scaled diffraction field according to the scale factor $R$ by the scaled ASM (see Ref. 1).

`AngularSpectrumMethod.ShiftedASM!`

— Method`ShiftedASM!(u, λ, Δx, Δy, z, x₀, y₀; expand=true)`

Same as ShiftedASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.ShiftedASM`

— Method`ShiftedASM(u, λ, Δx, Δy, z, x₀, y₀; expand=true)`

return shifted diffraction field with the shift distance $x_{0}$ and $y_{0}$ by the shifted ASM (see Ref. 1).

`AngularSpectrumMethod.TiltedASM!`

— Method`TiltedASM!(u, λ, Δx, Δy, T; expand=true, weight=false)`

Same as TiltedASM, but operates in-place on u, which must be an array of complex floating-point numbers.

`AngularSpectrumMethod.TiltedASM`

— Method`TiltedASM(u, λ, Δx, Δy, T; expand=true, weight=false)`

return tilted diffraction field for a rotation matrix $T$ by the tilted ASM (see Ref. 1, 2). If `weight=true`

, a diagonal weighting matrix is used as the Jacobian determinant (default `false`

). In this case, the energy conservation improves, but the computational cost is high (see Ref. 3).

Rotations.jl is helpful in generating rotation matrices.

- Kyoji Matsushima, Hagen Schimmel, and Frank Wyrowski, "Fast calculation method for optical diffraction on tilted planes by use of the angular spectrum of plane waves," J. Opt. Soc. Am. A
20, 1755-1762 (2003)- Kyoji Matsushima, "Formulation of the rotational transformation of wave fields and their application to digital holography," Appl. Opt.
47, D110-D116 (2008)- James G. Pipe and Padmanabhan Menon, "Sampling density compensation in MRI: Rationale and an iterative numerical solution," Magn. Reson. Med.
41, 179-186 (1999)