This library was developed in ESRF from September 2010 on for
simulations and fitting of `X-Ray Standing Waves X-ray_standing_waves X-Ray Standing Waves experiments on zeolite crystals.

The main goal was to use this code to simulate the Standing Wave signals (reflectivity and fluorescence yield) for specific zeolite crystals. Most codes and libraries already available deal with very basic samples (typically quasi-perfect metal crystals in backscattering conditions) and are not easily extensible for crystals with 200 atoms per unit cell. Therefore this code is expected to be more universal (necessary to adapt to different zeolite crystals anyway) and also modular (especially for structure factor calculations where people use different approximations).


Due to the dependency on Numpy, pyXSW works only with Python2 for the
moment (tested with python2.6 and python2.7) but was written to be
Python3 compatible.

  • Numpy (tested with version 1.6)


  • Matplotlib

Other packages are used but a local version is provided:

  • specfile
  • fitting routines mpfit, lmfit
  • PyMca (fitting routine Gefit, import filter EdfFile)


Go to the source directory and type:
``python install``

Binaries are usually available for the Windows platform on the "forge

Development Version

The code for pyXSW is stored on the EPN forge

To get the latest development version, use:

  git clone git://

or if you have already an account on the forge:
  git clone


pyXSW is released under the GNU Public License GPL version 3.


  • Blanka Detlefs, Julien Duvernay, Jorg Zegenhagen (ESRF)
  • Tien-Lin Lee (Diamond), Sebastian Thieß (DESY)
  • Oliver Bauer, Moritz Sokolowski (University of Bonn)
  • Giuseppe Mercurio, Sergey Subach, Frank Stefan Tautz (IBN3 Jülich)