solvers

Contains different solver implementations.

cgrad

Solve the ptychography problem using conjugate gradient.

lstsq_grad

Solve the ptychography problem using Odstrcil et al’s approach.

tike.ptycho.solvers.cgrad(op, comm, data, probe, scan, psi, recover_psi=True, recover_probe=True, recover_positions=False, cg_iter=4, cost=None, eigen_probe=None, eigen_weights=None, num_batch=1, subset_is_random=None, step_length=1, probe_is_orthogonal=False)[source]

Solve the ptychography problem using conjugate gradient.

Parameters
  • op (tike.operators.Ptycho) – A ptychography operator.

  • comm (tike.communicators.Comm) – An object which manages communications between both GPUs and nodes.

See also

tike.ptycho

tike.ptycho.solvers.lstsq_grad(op, comm, data, probe, scan, psi, recover_psi=True, recover_probe=False, recover_positions=False, cg_iter=4, cost=None, eigen_probe=None, eigen_weights=None, num_batch=1, subset_is_random=True, probe_is_orthogonal=False)[source]

Solve the ptychography problem using Odstrcil et al’s approach.

The near- and farfield- ptychography problems are solved separately using gradient descent in the farfield and linear-least-squares in the nearfield.

Parameters
  • op (tike.operators.Ptycho) – A ptychography operator.

  • comm (tike.communicators.Comm) – An object which manages communications between GPUs and nodes.

References

Michal Odstrcil, Andreas Menzel, and Manuel Guizar-Sicaros. Iterative least-squares solver for generalized maximum-likelihood ptychography. Optics Express. 2018.