PyNX: high‐performance computing toolkit for coherent X‐ray imaging based on operators. Issue 5 (29th September 2020) - Favre-Nicolin, Vincent; Girard, Gaétan; Leake, Steven; Carnis, Jerome; Chushkin, Yuriy; Kieffer, Jerome; Paleo, Pierre; Richard, Marie-Ingrid
Abstract : PyNX is a toolkit with assorted Python modules and command‐line scripts which can be used for the analysis and simulation of coherent X‐ray imaging, including techniques such as coherent diffraction imaging, ptychography and wavefront propagation, in the near‐ or far‐field regime. All calculations can be executed solely on graphical processing units (GPUs) for accelerated computing. Elementary algorithms can be easily tailored, built upon and combined using an operator‐based approach, allowing full flexibility with high‐performance computing. Calculations can be distributed on multiple GPUs using MPI, e.g. for large ptychography data sets. Abstract : The open‐source PyNX toolkit has been extended to provide tools for coherent X‐ray imaging data analysis and simulation. All calculations can be executed on graphical processing units (GPUs) to achieve high‐performance computing speeds. The toolkit 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 implemented 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 data sets. Command‐line scripts are available for on‐line CDI and ptychography analysis, either from raw beamline data sets or using the coherent X‐ray imaging data format.