scalar_diffraction_propagation

colibri.optics.functional.scalar_diffraction_propagation(field, distance, pixel_size, wavelength, approximation)[source]

Compute the optical field propagation using a scalar diffraction theory model which is given by the specific approximation selected.

Note

Parameters:
  • field (torch.Tensor) – Input optical field of shape (C, M, N).

  • distance (float) – Propagation distance in meters.

  • pixel_size (float) – Pixel size in meters.

  • wavelength (list) – List of wavelengths in meters.

  • approximation (str) – Approximation (or diffraction model type) to use, can be “fresnel”, “angular_spectrum” or “fraunhofer”.

Returns:

The propagated optical field according to the selected approximation of shape (C, M, N).

Return type:

torch.Tensor