pyinterp.fill.fft_inpaint

Contents

pyinterp.fill.fft_inpaint#

pyinterp.fill.fft_inpaint(grid, config=None, *, max_iterations=None, epsilon=None, sigma=None, first_guess=None, is_periodic=None, num_threads=None)[source]#

Fill missing values using FFT-based inpainting.

Parameters:
  • grid (_FloatArrayT) – 2D grid with missing values (NaN)

  • config (FFTInpaint | None) – Configuration object (if provided, keyword args are ignored)

  • max_iterations (int | None) – Maximum number of iterations

  • epsilon (float | None) – Convergence criterion

  • sigma (float | None) – Smoothing parameter for Gaussian filter

  • first_guess (Literal['zero', 'zonal_average'] | None) – Initial guess method

  • is_periodic (bool | None) – Whether to assume periodic boundaries

  • num_threads (int | None) – Number of threads (0 = auto)

Returns:

Tuple of (number of iterations, final residual)

Return type:

tuple[int, float]

Examples

Simple usage:

>>> iterations, residual = fft_inpaint(
...     grid, max_iterations=100, epsilon=1e-5
... )

Advanced usage with config object:

>>> from pyinterp.core.config import fill
>>> config = (
...     fill.FFTInpaint()
...     .with_max_iterations(100)
...     .with_epsilon(1e-5)
...     .with_sigma(0.5)
... )
>>> iterations, residual = fft_inpaint(grid, config)