Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


(A video demo about installation and usage is available at

Python GUI program for analyzing organic pair distribution function (PDF) data collected at synchrotron and/or laboratory X-ray sources. It uses DiffPy-CMI ( as a backend for simulation of PDFs. Currently it supports:

  1. The study of intermolecular interaction (e.g. hydrogen bonds) by subtracting out the scattering signal of single molecule(s) in real space.
  2. The PDF model fit of the crystalline organic compound using the method proposed by Prill et al. (J. Appl. Cryst., 48, 171-178, 2015.)
  3. The phase quantification of physical mixtures of organics.
  4. Generate Score/Scree plots based on Principle Component Analysis.


If you like the program and use it in your own work, it would be appreciated if you cite the following papers.

  1. Chenyang Shi, “xINTERPDF: a graphical user interface for analyzing intermolecular pair distribution functions of organic compounds from X-ray total scattering data”, J. Appl. Cryst., 51, 1498-1499, 2018. (Link)

  2. Pavol Juhás, Christopher L. Farrow, Xiaohao Yang, Kevin R. Knox, and Simon J. L. Billinge, “Complex modeling: a strategy and software program for combining multiple information sources to solve ill posed structure and nanostructure inverse problems”, Acta Crystallogr. A, 71, 562-568, 2015.


A quick view of the program is shown below.

The Main Window


The interface for study of intermolecular PDF


The window for visualization of intermolecular PDF

screen shot 2018-06-16 at 3 14 36 pm

The interface for PDF model fit of measured organic crystalline PDF

screen shot 2018-02-13 at 11 07 39 am

A breakdown of the total fit to the organic crystalline PDF


The interface for phase quantification


Generation of Score/Scree plots from Principle Component Analysis



(See also Slides 11-14 in User Guide available at

xINTERPDF can be installed on Linux and macOS computers. The easiest way to install it is through conda. Here is an example of installing it on macOS 10.10.3.

  1. Download Anaconda Distribution for macOS at Select Python 2.7 version to install.

  2. Invoke a terminal, type conda config --get channels to check any channels that have been added. diffpy is required. If you don’t see it, type conda config --add channels diffpy to add it.

  3. Type conda create –c curieshicy –n xinterpdf xinterpdf to install the xINTERPDF program.

  4. Once the installation is complete. Type source activate xinterpdf to start the virtual environment and xinterpdf to invoke the main window of xINTERPDF

(Alternatively) If conda install fails, one may download the raw files (Logo.gif and at (macOS) or (Linux). To start the program, in a terminal, navigate to the folder where you put both files, and type python to invoke the main window. Make sure you have installed Diffpy-CMI, matplotlib (2.0.2) and Scikit-Learn (0.19.1). Follow to install DiffPy-CMI. If you have conda, matplotlib can be installed by conda install matplotlib=2.0.2; Scikit-Learn can be installed by conda install scikit-learn=0.19.1


A user guide for xINTERPDF can be found at It contains an overview of the program, a step-by-step installation guide, an explaination of techincal terms and a demonstration on five examples. The example files are available at

Questions and suggestions

Questions and suggestions are welcome. You may contact me at Thanks for considering using xINTERPDF.


Python GUI program for modeling organic PDF data collected at synchrotron and lab X-ray sources.







No releases published


No packages published