PyNX: high-performance computing toolkit for coherent X-ray imaging based on operators

The open-source PyNX toolkit [Favre-Nicolin et al (2011) arXiv:1010.2641, Mandula et al (2016)] has been extended to provide tools for coherent X-ray imaging data analysis and simulation. All calculations can be executed on graphical processing units (GPU) to achieve high performance computing speeds. This can be used for Coherent Diffraction Imaging (CDI), Ptychography and wavefront propagation, in the far or near field regime. Moreover, all imaging operations (propagation, projections, algorithm cycles..) can be used in Python as simple mathematical operators, an approach which can be used to easily combine basic algorithms in a tailored chain. Calculations can also be distributed to multiple GPUs, e.g. for large Ptychography datasets. Command-line scripts are also available for on-line CDI and Ptychography analysis, either from raw beamline datasets or using the Coherent X-ray Imaging data format [Maia (2012)].

[1]  W. Hoppe,et al.  Principles of electron structure research at atomic resolution using conventional electron microscopes for the measurement of amplitudes and phases , 1970 .

[2]  J. Miao,et al.  Extending the methodology of X-ray crystallography to allow imaging of micrometre-sized non-crystalline specimens , 1999, Nature.

[3]  J. Miao,et al.  An approach to three-dimensional structures of biomolecules by using single-molecule diffraction images , 2001, Proceedings of the National Academy of Sciences of the United States of America.

[4]  J. Holt,et al.  High-resolution three-dimensional structural microscopy by single-angle Bragg ptychography. , 2015, Nature materials.

[5]  P. Cloetens,et al.  Dynamics and Imaging Using Coherent X-rays at the European Synchrotron , 2017 .

[6]  P. Cloetens,et al.  Holotomography: Quantitative phase tomography with micrometer resolution using hard synchrotron radiation x rays , 1999 .

[7]  S. Marchesini,et al.  Invited article: a [corrected] unified evaluation of iterative projection algorithms for phase retrieval. , 2006, The Review of scientific instruments.

[8]  V. Favre-Nicolin,et al.  Fast computation of scattering maps of nanostructures using graphical processing units , 2010, 1010.2641.

[9]  Y. Chushkin,et al.  Three-dimensional coherent diffractive imaging on non-periodic specimens at the ESRF beamline ID10. , 2014, Journal of synchrotron radiation.

[10]  F. Maia The Coherent X-ray Imaging Data Bank , 2012, Nature Methods.

[11]  A. Talneau,et al.  Strain in a silicon-on-insulator nanostructure revealed by 3D x-ray Bragg ptychography , 2015, Scientific Reports.

[12]  Mario A. Storti,et al.  MPI for Python , 2005, J. Parallel Distributed Comput..

[13]  Manuel Guizar-Sicairos,et al.  X-ray Fourier ptychography , 2019, Science Advances.

[14]  S. Marchesini,et al.  High-resolution ab initio three-dimensional x-ray diffraction microscopy. , 2005, Journal of the Optical Society of America. A, Optics, image science, and vision.

[15]  O. Bunk,et al.  Quantitative x-ray phase nanotomography , 2012 .

[16]  J. Rodenburg,et al.  A phase retrieval algorithm for shifting illumination , 2004 .

[17]  Walter Hoppe,et al.  Trace structure analysis, ptychography, phase tomography , 1982 .

[18]  S Marchesini,et al.  Invited article: a [corrected] unified evaluation of iterative projection algorithms for phase retrieval. , 2006, The Review of scientific instruments.

[19]  I. Robinson,et al.  Three-dimensional imaging of microstructure in Au nanocrystals. , 2003, Physical review letters.

[20]  Andreas Menzel,et al.  Reconstructing state mixtures from diffraction measurements , 2013, Nature.

[21]  Franz Pfeiffer,et al.  Near-field ptychography: phase retrieval for inline holography using a structured illumination , 2013, Scientific Reports.

[22]  M. Newton,et al.  Bonsu: the interactive phase retrieval suite , 2012 .

[23]  J S Wu,et al.  Reconstruction of complex single-particle images using charge-flipping algorithm. , 2005, Acta crystallographica. Section A, Foundations of crystallography.

[24]  J R Fienup,et al.  Phase retrieval algorithms: a comparison. , 1982, Applied optics.

[25]  P. Cloetens,et al.  Phase objects in synchrotron radiation hard x-ray imaging , 1996 .

[26]  K. Nugent,et al.  Quantitative Phase Imaging Using Hard X Rays. , 1996, Physical review letters.

[27]  R. Gerchberg A practical algorithm for the determination of phase from image and diffraction plane pictures , 1972 .

[28]  David van der Spoel,et al.  Hawk: the image reconstruction package for coherent X‐ray diffractive imaging , 2010 .

[29]  R Harder,et al.  High-resolution three-dimensional partially coherent diffraction imaging , 2012, Nature Communications.

[30]  O. Bunk,et al.  High-Resolution Scanning X-ray Diffraction Microscopy , 2008, Science.

[31]  Pantaleo Raimondi,et al.  ESRF-EBS: The Extremely Brilliant Source Project , 2016 .

[32]  R. Harder,et al.  Coherent X-ray diffraction imaging of strain at the nanoscale. , 2009, Nature materials.

[33]  Raymond Osborn,et al.  NeXus: A common format for the exchange of neutron and synchroton data , 1997 .

[34]  Chao Yang,et al.  Efficient Algorithms for Ptychographic Phase Retrieval , 2014 .

[35]  J. Rodenburg,et al.  An improved ptychographical phase retrieval algorithm for diffractive imaging. , 2009, Ultramicroscopy.

[36]  Wei Xu,et al.  High-Performance Multi-Mode Ptychography Reconstruction on Distributed GPUs , 2018, 2018 New York Scientific Data Summit (NYSDS).

[37]  Andreas Menzel,et al.  Probe retrieval in ptychographic coherent diffractive imaging. , 2009, Ultramicroscopy.

[38]  B. M. Borg,et al.  Analysis of strain and stacking faults in single nanowires using Bragg coherent diffraction imaging , 2009, 0910.5491.

[39]  Manuel Guizar-Sicairos,et al.  Iterative least-squares solver for generalized maximum-likelihood ptychography. , 2018, Optics express.

[40]  D. R. Luke Relaxed averaged alternating reflections for diffraction imaging , 2004, math/0405208.

[41]  S. Marchesini,et al.  Alternating projection, ptychographic imaging and phase synchronization , 2014, 1402.0550.

[42]  Stanley Osher,et al.  Generalized proximal smoothing (GPS) for phase retrieval. , 2018, Optics express.

[43]  P. Thibault,et al.  Maximum-likelihood refinement for coherent diffractive imaging , 2012 .

[44]  Chao Yang,et al.  Augmented projections for ptychographic imaging , 2012, 1209.4924.

[45]  Joel Nothman,et al.  SciPy 1.0-Fundamental Algorithms for Scientific Computing in Python , 2019, ArXiv.

[46]  S. Marchesini,et al.  X-ray image reconstruction from a diffraction pattern alone , 2003, physics/0306174.

[47]  Nicolas Pinto,et al.  PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation , 2009, Parallel Comput..

[48]  Talita Perciano,et al.  SHARP: a distributed, GPU-based ptychographic solver , 2016, 1602.01448.

[49]  Christian Morawe,et al.  The Nanodiffraction beamline ID01/ESRF: a microscope for imaging strain and structure , 2019, Journal of synchrotron radiation.

[50]  Youssef S. G. Nashed,et al.  Distributed Automatic Differentiation for Ptychography , 2017, ICCS.

[51]  B Enders,et al.  A computational framework for ptychographic reconstructions , 2016, Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[52]  V Elser,et al.  Searching with iterated maps , 2007, Proceedings of the National Academy of Sciences.

[53]  Manuel Guizar-Sicairos,et al.  PtychoShelves, a versatile high-level framework for high-performance analysis of ptychographic data , 2020, Journal of applied crystallography.

[54]  Vincent Favre-Nicolin,et al.  Free log-likelihood as an unbiased metric for coherent diffraction imaging , 2019, Scientific Reports.

[55]  Christian G. Schroer,et al.  Hard X-ray nanoprobe at beamline P06 at PETRA III , 2010 .

[56]  Lisandro Dalcin,et al.  Parallel distributed computing using Python , 2011 .

[57]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[58]  Garth J. Williams,et al.  Three-dimensional mapping of a deformation field inside a nanocrystal , 2006, Nature.

[59]  A. G. Cullis,et al.  Hard-x-ray lensless imaging of extended objects. , 2007, Physical review letters.

[60]  Ondřej Mandula,et al.  PyNX.Ptycho: a computing library for X-ray coherent diffraction imaging of nanostructures , 2016 .

[61]  Manuel Guizar-Sicairos,et al.  Understanding the twin-image problem in phase retrieval. , 2012, Journal of the Optical Society of America. A, Optics, image science, and vision.

[62]  Tom Peterka,et al.  Parallel ptychographic reconstruction. , 2014, Optics express.

[63]  Andreas Fehringer,et al.  X-ray nanotomography using near-field ptychography. , 2015, Optics express.