-
Notifications
You must be signed in to change notification settings - Fork 13
Pdfmorph web-page #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: source
Are you sure you want to change the base?
Changes from 20 commits
3cd884f
59c2995
726a7b1
27a78fc
b05ea1a
afcd519
92d28ed
87f5b62
46364ae
9b51ea7
9408726
2300e7c
d87c500
1ee2756
13435df
aaa81dd
4bc49b4
612a7b9
76f0294
54417fd
ea9dcec
13c79ea
02628b0
e5bccef
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
.. include:: ../abbreviations.txt | ||
|
||
######## | ||
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 cahnge 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 <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 | ||
|
||
Transformation techniques (scale, smear, and stretch, respectively) | ||
utilized by PDFmorph applied sequentially on an NaCl sample | ||
|
||
|
||
Installation | ||
============ | ||
|
||
By downloading and using this software, you are agreeing to the conditions | ||
specified in the :doc:`software license <pdfmorph_license>`. | ||
|
||
PDFmorph will run on Python 2.7 or higher, but here we give instructions | ||
for installing the Python 3 version in a conda environment. | ||
|
||
.. note:: | ||
PDFmorph is distributed and best installed using conda. It should | ||
run in most Python 3 environments and can be directly installed | ||
in an existing environment (using the commands listed below). If | ||
you do not currently have conda installed, here are some | ||
lightweight instructions for getting started: | ||
|
||
1.) Download and install *Anaconda* or *mini-conda* from | ||
`continuum <https://www.continuum.io>`__. | ||
|
||
2.) Create a Python 3 environment with the command :: | ||
|
||
conda create --name=<env_name> python=3 | ||
|
||
You can give the environment any name you like. | ||
You only need to create the environment once, but every time you | ||
want to use PDFmorph you will have to reactivate the environment | ||
in which it is installed by opening a terminal and typing :: | ||
|
||
source activate <env_name> | ||
|
||
on Mac/Linux, or ``activate <env_name>`` on Windows. | ||
|
||
Once you're in your desired conda environment, you can install PDFmorph | ||
from either the ``diffpy`` or ``conda-forge`` channels of Anaconda packages | ||
by running opening a *Terminal* window or *Command Prompt* | ||
on Windows and using the :program:`conda` command :: | ||
|
||
conda config --add channels conda-forge | ||
conda install diffpy.pdfmorph | ||
|
||
If you prefer to install from the diffpy channel, simply replace | ||
``conda-forge`` with ``diffpy`` in the commands above. | ||
|
||
By then it should be installed! To make sure that installation has | ||
completed correctly, run the following command from your PDFmorph-equipped | ||
conda environment :: | ||
|
||
pdfmorph --version | ||
|
||
This command should return the version of PDFmorph you have on your | ||
machine. | ||
|
||
|
||
PDFmorph Updates | ||
================ | ||
|
||
The Anaconda package system makes it easy to prepare and distribute | ||
software packages and bugfixes. To update the latest version of PDFmorph, | ||
use :: | ||
|
||
conda update diffpy.pdfmorph | ||
|
||
With other Python distributions, the program can be updated to the | ||
latest version with :: | ||
|
||
easy_install --upgrade diffpy.pdfmorph | ||
|
||
To use a development version, visit the project source repository at | ||
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 <https://github.com/diffpy/diffpy.pdfmorph/tree/master/tests/testdata>`__ | ||
* Tutorial | ||
* Please, join the :doc:`community forum <../community>` for tips, | ||
tricks, and feedback. | ||
|
||
|
||
.. References// # update upon paper resease | ||
|
||
.. toctree:: | ||
:hidden: | ||
|
||
pdfmorph_license |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.. This page only contains the LICENSE text for PDFmorph | ||
|
||
.. title:: PDFmorph License | ||
|
||
.. literalinclude:: pdfmorph_license.txt | ||
RomanMatthew marked this conversation as resolved.
Show resolved
Hide resolved
|
||
:language: text |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
This program is part of the DiffPy open-source project at Columbia | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is it possible to connect directly to the license file in the package top level directory? This would be more robust/maintainable than having two license files hanging around. What if they are different? Which one is the correct one? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
For diffpy-cmi packages I use a dedicated Perhaps we could add a new There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. is this something that would be top-priority upon release? |
||
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 [email protected]. | ||
|
||
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. |
Uh oh!
There was an error while loading. Please reload this page.