convolutional_sensing

colibri.optics.functional.convolutional_sensing(image, psf, domain='fourier')[source]

Simulate the convolutional sensing model of an optical system, using either Fourier or spatial domain methods.

The “domain” argument choose to perform the convolution in the Fourier domain with colibri.optics.functional.fourier_conv() or the spatial domain with colibri.optics.functional.signal_conv().

Parameters:
  • image (torch.Tensor) – Image tensor to simulate the sensing (B, L, M, N).

  • psf (torch.Tensor) – Point Spread Function (PSF) tensor (1, L, M, N).

  • domain (str) – Domain for convolution operation, ‘fourier’ or ‘signal’.

Returns:

Convolved image tensor as measurement (B, 1, M, N).

Return type:

torch.Tensor

Raises:

NotImplementedError – If the specified domain is not supported.

Examples using convolutional_sensing:

Demo DOEs.

Demo DOEs.