Copyright 2012 | All rights reserved. | Powered by FRM II | Imprint / Privacy Policy

DiffPy-CMI - new software suite for structure modeling from diffraction data


DiffPy GUI The Graphical User Interface DiffPy provides.

DiffPy-CMI – new software suite for structure modeling from diffraction data

The first public release of our DiffPy Complex Modeling Initiative (DiffPy-CMI) project has just been announced. This includes the SrFit complex modeling framework, a powerful configurable extensible program for fitting structure models to pair distribution functions (PDFs), small angle scattering (SAS) data, and more. In more detail, DiffPy-CMI is a collection of Python modules for storage and manipulation of structure data, calculation of structure-based quantities, such as PDF, SAS, bond valence sums, atom overlaps, bond lengths, coordinations, and a fitting framework for combining multiple experimental inputs in a single optimization problem. A complete list of the included Python modules is available at the DiffPy-CMI page.

The software has already been used in a number of publications (see, allowing fitting of small nanoparticles, molecules, applying multiple constraints and so on.

Who should download the release?

This is an early version in a series of releases. The code is stable, but the emphasis of our development to date has been functionality and not interface — the code thus require some Python proficiency to use. The purpose of these codes is to support advanced experimental modeling. If you are a PDF beginner or if you are not familiar with Python you might be happier with the PDFgui program (also available from

The features and flexibility offered by this software come at the expense of a steeper learning curve. To make it easier to get started with this software, we have created an open-source project cmi_exchange for tutorials, example fits and useful Python plugins. To begin with DiffPy-CMI we recommend you to browse the examples in DiffPy-CMI and try to run them or adapt them for your needs.

What platforms are supported?

This release is for various flavors of 32 and 64 bit Linux distributions and for Mac OS X. If you are a Windows user we ask that you please stay tuned and wait for a future release.

Is the software free?

DiffPy-CMI is open source and free to use. As usual, we ask that you cite the paper describing the program, which will be submitted shortly (we didn’t want to hold up the release for that!). Also, we hope that you will contribute script templates to the cmi_exchange for use by other members of the community.

How do I get the code?

Please visit and follow the instructions.

Please enjoy the code. As usual, post questions, problems, and requests to the diffpy-users Google group and bug-reports to the diffpy-dev group or email Prof. Billinge. directly.

DiffPy developers

Pavol Juhas, Kevin Knox, Xiaohao Yang, Michael McKerns, Christopher L. Farrow, and Simon J. L. Billinge

Full Credits


The DiffPy project is currently supported by Laboratory Directed Research and Development (LDRD) Program 12-007 (Complex Modeling) at Brookhaven National Laboratory (BNL). BNL is funded by the US Department of Energy Office of Science, Office of Basic Energy Sciences under contract DE-AC02-98CH10886. Previous funding for DiffPy was provided by the Distributed Data Analysis of Neutron Scattering Experiments (DANSE) project funded by the US National Science Foundation under award DMR-0520547.

Copyright 2012 | All rights reserved. | Powered by FRM II | Imprint / Privacy Policy

Print this page   |   Top