pyfli.sp_analysis.main#

Provide high-level single-pixel simulation and reconstruction orchestration.

This module belongs to pyfli.sp_analysis and is part of PyFLI single-pixel camera basis generation, acquisition simulation, and reconstruction solvers. Public API includes functions run_reconstruction().

Functions

run_reconstruction(measurements, ...[, ...])

Reconstruct a 4D (x, y, T, Lambda) cube from DMD single-pixel measurements.

run_reconstruction(measurements, dmd_patterns, h, w, t, lam, mode='linear', differential=True, alpha=1.0, maxiter=500)[source]#

Reconstruct a 4D (x, y, T, Lambda) cube from DMD single-pixel measurements.

Parameters:
  • measurements (ndarray) – (2M, T, Lambda) if differential else (M, T, Lambda) — raw SPAD counts.

  • dmd_patterns (ndarray) – (2M, H*W) if differential else (M, H*W) — DMD {0,1} patterns from BasisPatterns.generate_hadamard() or BasisPatterns.generate_fourier_dct().

  • h (int — spatial resolution)

  • w (int — spatial resolution)

  • t (int — TCSPC time bins and wavelength channels)

  • lam (int — TCSPC time bins and wavelength channels)

  • mode ('linear' | 'tv' | 'poisson') – ‘linear’ — fast back-projection (Gaussian noise) ‘tv’ — L-BFGS-B TV minimization (Gaussian noise) ‘poisson’ — L-BFGS-B Poisson + TV (integer photon counts, SPAD)

  • differential (bool — True for Hadamard differential DMD patterns (default))

  • alpha (float — TV regularization weight (tv/poisson modes))

  • maxiter (int   — solver iterations per (t, lambda) slice)

Returns:

cube

Return type:

ndarray (H, W, T, Lambda)