PDFmorph¶
Overview¶
Note
PDFmorph is currently run from the command line, which requires opening and typing into a terminal window or Windows command prompt. It is recommended that you consult online resources and become somewhat familiar before using PDFmorph.
PDFmorph is a Python software package designed to increase the insight researchers can obtain from measured atomic pair distribution functions (PDFs) in a model-independent way. The program was designed to help a researcher answer the question: “Has my material undergone a phase transition between these two measurements?”
PDFmorph makes use of several data manipulation techniques to correct for benign effects such as thermal expansion (peak shift) and increased thermal motion (peak broadening) or a change in scale due to differences in incident flux, for example. PDFmorph will do its best to correct for these benign effects before computing and plotting a difference curve.
One PDF (typically that collected at higher temperature) is identified as the “target” PDF and the second is “morphed” by “stretching” (changing the r-axis to simulate a uniform lattice expansion), “smearing” (broadening peaks through a uniform convolution to simulate increased thermal motion), and “scaling” (self-explanatory). PDFmorph will vary amplitude of morphing transformations to obtain the best fit between morphed and target PDFs, then plot them along with the difference curve plotted below.
There are also a few other morphing transformations in the program.
Finally, we note that PDFmorph should work on other spectra that are not PDFs, though it has not been extensively tested beyond the PDF.

PDFmorph transformation techniques (scale, smear, and stretch) applied sequentially to a PDF from NaCl sample¶
Installation¶
By downloading and using this software, you are agreeing to the conditions specified in the software LICENSE.
PDFmorph will run on Python 3.5 or higher or on Python 2.7.
We recommend to use Anaconda Python which can be obtained from
https://www.anaconda.com/download.
PDFmorph is available from the diffpy
channel of Anaconda
packages and also from conda-forge.
To install open a Terminal window (Anaconda Command Prompt
on Windows) and use the conda command as follows
conda install --channel=diffpy diffpy.pdfmorph
If you prefer to use conda-forge
make sure it is configured as
the priority channel for Anaconda packages, which will allow you
to install without the --channel
option
conda config --add channels conda-forge
conda install diffpy.pdfmorph
For all other Python distributions use the standard pip installation program:
pip install diffpy.pdfmorph
To make sure that the installation has completed correctly, run the following command from a Terminal
pdfmorph --version
If all is good this should display the version of PDFmorph installed on your machine.
PDFmorph Updates¶
The Anaconda package system makes it easy to prepare and distribute software packages and bugfixes. To obtain the latest version of PDFmorph, use
conda update diffpy.pdfmorph
With other Python distributions, the program can be updated to the latest version with
pip --upgrade diffpy.pdfmorph
To use a development version, visit the project source repository https://github.com/diffpy/diffpy.pdfmorph and consult its README file.
Documentation/Help¶
0.1.0 - latest¶
User manual (available in HTML and PDF)
Installation instructions
Tutorial
Please, join the community forum for tips, tricks, and feedback.