diff --git a/_templates/menu01.html b/_templates/menu01.html index 3ad867b0..d2f6641b 100644 --- a/_templates/menu01.html +++ b/_templates/menu01.html @@ -14,6 +14,7 @@
  • SrMise
  • mPDF
  • xINTERPDF
  • +
  • PDFmorph
  • Python Packages
  • diff --git a/images/pdfmorph_nacl_ex.png b/images/pdfmorph_nacl_ex.png new file mode 100644 index 00000000..aad99dd4 Binary files /dev/null and b/images/pdfmorph_nacl_ex.png differ diff --git a/index.rst b/index.rst index 8479a70d..83181c41 100644 --- a/index.rst +++ b/index.rst @@ -86,3 +86,4 @@ centered at Columbia University and, before that, Michigan State University. products/SrMise products/mPDF products/xinterpdf + products/pdfmorph diff --git a/products/pdfmorph.rst b/products/pdfmorph.rst new file mode 100644 index 00000000..11aa4595 --- /dev/null +++ b/products/pdfmorph.rst @@ -0,0 +1,129 @@ +######## +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 will soon be included in :doc:`xPDFsuite `, a powerful end-to-end software for X-ray PDF analysis. xPDFsuite is designed for flexible, high throughput PDF analyses and contains many features for interrogating, comparing, and modeling data as well as simply doing data reduction. + +.. figure:: ../images/pdfmorph_nacl_ex.png + :align: center + + 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 :doc:`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 +|anaconda-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 :program:`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 +:program:`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 +* `Sample PDF files `__ +* Tutorial +* Please, join the :doc:`community forum <../community>` for tips, + tricks, and feedback. + + +.. References// # update upon paper resease + +.. toctree:: + :hidden: + + pdfmorph_license + +.. URL definitions below ----------------------------------------------- + +.. include:: ../abbreviations.txt diff --git a/products/pdfmorph_license.rst b/products/pdfmorph_license.rst new file mode 100644 index 00000000..f1b68469 --- /dev/null +++ b/products/pdfmorph_license.rst @@ -0,0 +1,6 @@ +.. This page only contains the LICENSE text for PDFmorph + +.. title:: PDFmorph License + +.. literalinclude:: pdfmorph_license.txt + :language: text diff --git a/products/pdfmorph_license.txt b/products/pdfmorph_license.txt new file mode 100644 index 00000000..50c823ab --- /dev/null +++ b/products/pdfmorph_license.txt @@ -0,0 +1,36 @@ +This program is part of the DiffPy open-source project at Columbia +University and is available subject to the conditions and terms laid +out below. + +Copyright © 2009-2019, Trustees of Columbia University in the City of +New York, all rights reserved. + +For more information please visit the diffpy web-page at +http://diffpy.org or email Prof. Simon Billinge at sb2896@columbia.edu. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * The name of COLUMBIA UNIVERSITY nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/products/pythonpackages.rst b/products/pythonpackages.rst index c847820b..b181476d 100644 --- a/products/pythonpackages.rst +++ b/products/pythonpackages.rst @@ -4,8 +4,8 @@ Python Packages This is a complete list of all Python packages developed by the DiffPy team. For more information about a specific package, follow the link to the corresponding github page. With the exception of PDFfit2, SrMise, -and mPDF, all of the packages listed below are bundled in the |DiffPyCMI| -release. +mPDF, and PDFmorph, all of the packages listed below are bundled in the +|DiffPyCMI| release. ====================== ============================================ Module Description @@ -37,11 +37,16 @@ Module Description `diffpy.mpdf`_ Tools for calculating and refining magnetic PDFs. + +`diffpy.pdfmorph`_ Tools for comparing and manipulating two + PDFs. + ====================== ============================================ .. URL definitions below ----------------------------------------------- .. _diffpy.srmise: https://github.com/diffpy/diffpy.srmise .. _diffpy.pdffit2: https://github.com/diffpy/diffpy.pdffit2 +.. _diffpy.pdfmorph: https://github.com/diffpy/diffpy.pdfmorph .. include:: ../abbreviations.txt