pub struct Admm {
pub iterations: usize,
pub object_step: f64,
pub penalty: f64,
pub dual_relaxation: f64,
pub batch_size: usize,
pub epsilon: f64,
}Expand description
Linearized ADMM reconstruction for Fourier ptychographic microscopy.
§Method
The algorithm splits each predicted detector field from the shared object by introducing an auxiliary field and a scaled dual variable. Each step alternates among a measurement-amplitude proximal update of the auxiliary fields, a pupil-preconditioned linearized update of the common object spectrum, and a scaled-dual update that drives the auxiliary and predicted fields toward consensus. This separates the nonlinear measurement constraint from the overlapping Fourier-patch consistency constraint.
For incoherently multiplexed data, the amplitude proximal is joint across
all source modes in a frame. Auxiliary and scaled-dual fields are stored per
frame-source mode in ReconstructionState for exact checkpoint resumption.
The fixed-pupil linearization and multiplexed proximal used here are crate
adaptations of the reference ADMM-FPM formulation.
Each iteration reports detector-field RMS residuals. The primal residual is
r_k = A x_k - z_k, evaluated after the linearized object update, and the
dual residual is s_k = rho (z_k - z_{k-1}). Here A x denotes the
concatenated per-mode detector fields, including each mode of a multiplexed
frame. Masked pixels and zero-weight frames are excluded. These residuals
diagnose consensus and auxiliary-field motion; the solver does not use them
as stopping criteria.
§Reference
A. Wang, Z. Zhang, S. Wang, A. Pan, C. Ma, and B. Yao, “Fourier Ptychographic Microscopy via Alternating Direction Method of Multipliers,” Cells 11(9), 1512 (2022), doi:10.3390/cells11091512.
Fields§
§iterations: usizeNumber of complete passes through the acquisition schedule.
object_step: f64Step size of the linearized, pupil-preconditioned object update.
penalty: f64Positive augmented-Lagrangian penalty tying auxiliary fields to the fields predicted by the shared object.
dual_relaxation: f64Scaled-dual update relaxation in the inclusive range 0..=2.
batch_size: usizeNumber of measured frames supplied to each reconstruction step; the default processes every frame together.
epsilon: f64Positive numerical floor used in normalizations and dark-field handling.