fouriax.plan_propagation#

plan_propagation(*, mode='auto', grid, spectrum, distance_um, input_domain='spatial', use_sampling_planner=True, nyquist_factor=2.0, min_padding_factor=2.0, precomputed_grid=None, warn_on_regime_mismatch=True, equality_tolerance=1e-06, refractive_index=1.0, na_limit=None)#

Plan a propagation layer for a given field sampling regime.

When mode is "auto" the function selects a propagator based on the critical-distance heuristic (ASM for short distances, RS for long distances). If input_domain is "kspace" the returned layer is always a KSpacePropagator.

Explicit modes "asm", "rs", or "kspace" force the corresponding propagator and emit a warning (if enabled) when the choice falls outside the recommended regime.

All length parameters are in micrometers.

Parameters:
  • mode (Literal['auto', 'asm', 'rs', 'kspace'])

  • grid (Grid)

  • spectrum (Spectrum)

  • distance_um (float)

  • input_domain (Literal['spatial', 'kspace'])

  • use_sampling_planner (bool)

  • nyquist_factor (float)

  • min_padding_factor (float)

  • precomputed_grid (Grid | None)

  • warn_on_regime_mismatch (bool)

  • equality_tolerance (float)

  • refractive_index (float)

  • na_limit (float | None)

Return type:

ASMPropagator | RSPropagator | KSpacePropagator