PyNX stands for Python tools for Nano-structures Crystallography.
It is a python library with the following main modules:
1) pynx.scattering: X-ray scattering computing using graphical
processing units, allowing up to 2.5x10^11 reflections/atoms/seconds
(single nVidia Titan X). The sub-modulepynx.scattering.gid
can be
used for Grazing Incidence Diffraction calculations, using the
Distorted Wave Born Approximation
2) pynx.ptycho : simulation and analysis of experiments using the
ptychography technique, using either CPU (deprecated) or GPU using
OpenCL. Examples are available in the pynx/Examples
directory. Scripts for analysis of raw data from beamlines are also
available, as well as using or producing ptychography data sets in
CXI (Coherent X-ray Imaging) format.
3) pynx.wavefront: X-ray wavefront propagation in the near, far
field, or continuous (examples available at the end of
wavefront.py
). Also provided are sub-modules for Fresnel
propagation and simulation of the illumination from a Fresnel Zone
Plate, both using OpenCL for high performance computing.
4) pynx.cdi: Coherent Diffraction Imaging reconstruction algorithms
using GPU.
In addition, it includes :doc:scripts <scripts/index>
for
command-line processing of ptychography data from generic CXI data
(pynx-ptycho-cxi) or specific to beamlines (pynx-ptycho-id01,
pynx-ptycho-id13,...).