Skip to content
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

Pdfmorph web-page #23

Open
wants to merge 24 commits into
base: source
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3cd884f
Added infrastructure for PDFmorph web-page
RomanMatthew Jul 9, 2019
59c2995
Added relevant PDFmorph web-page files
RomanMatthew Jul 9, 2019
726a7b1
Update pdfmorph_license.txt
RomanMatthew Jul 9, 2019
27a78fc
Removed xPDFsuite paragraph from pdfmorph.rst
RomanMatthew Jul 9, 2019
b05ea1a
Merge branch 'pdfmorph_web' of https://github.com/RomanMatthew/diffpy…
RomanMatthew Jul 9, 2019
afcd519
Fixed version name and CLI reference in pdfmorph.rst
RomanMatthew Jul 9, 2019
92d28ed
Fix graph label, spelling errors, and virtual env directions
RomanMatthew Jul 9, 2019
87f5b62
Fix CLI note
RomanMatthew Jul 9, 2019
46364ae
Fix xPDFsuite comment
RomanMatthew Jul 9, 2019
9b51ea7
Fixed filenames
RomanMatthew Jul 9, 2019
9408726
Rename PDFmorph.rst to pdfmorph.rst
RomanMatthew Jul 9, 2019
2300e7c
Add link to PDFmorph in dropdown menu and fixed index pointer
RomanMatthew Jul 9, 2019
d87c500
Fixed license reference in pdfmorph.rst
RomanMatthew Jul 10, 2019
1ee2756
Update virtual environment instructions and fix typos
RomanMatthew Jul 11, 2019
13435df
Fixed structure issues
RomanMatthew Jul 16, 2019
aaa81dd
BUG: fix table - remove offending blank line
pavoljuhas Jul 16, 2019
4bc49b4
DROPME - Merge branch 'source' into pdfmorph_web
pavoljuhas Jul 16, 2019
612a7b9
MNT: remove trailing blanks
pavoljuhas Jul 16, 2019
76f0294
Update installation section
RomanMatthew Jul 18, 2019
54417fd
Update installation instructions
RomanMatthew Jul 18, 2019
ea9dcec
Drop unused include of abbreviations
pavoljuhas Jul 18, 2019
13c79ea
pdfmorph - typo and small rewording
pavoljuhas Jul 18, 2019
02628b0
MNT: clean up trailing blanks
pavoljuhas Jul 18, 2019
e5bccef
pdfmorph - remove conda environment creation
pavoljuhas Jul 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions _templates/menu01.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
<li><a href="{{pathto('products/mPDF')}}">mPDF</a></li>
<li><a href="{{pathto('products/xinterpdf')}}">xINTERPDF</a></li>
<li><a href="{{pathto('products/pythonpackages')}}">Python Packages</a></li>
<li><a href="{{pathto('products/pdfmorph')}}">PDFmorph</a></li>
</ul>
</li>
Binary file added images/pdfmorph_nacl_ex.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,4 @@ centered at Columbia University and, before that, Michigan State University.
products/SrMise
products/mPDF
products/xinterpdf
products/pdfmorph
119 changes: 119 additions & 0 deletions products/pdfmorph.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
.. include:: ../abbreviations.txt

########
PDFmorph
########

Overview
========

.. note::
The PDFmorph application has a Command Line Interface. If you are
unfamiliar with the terminal 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 and increased thermal motion before computing and
plotting a difference curve between two PDFs. One PDF is identified as the "target"
PDF and the second is "morphed" by "stretching", "smearing", and "scaling". 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 is distributed as a software package for `Anaconda Python <https://www.continuum.io>`__.
RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved
PDFmorph is available for all operating systems supported by Anaconda, namely for
32 and 64-bit Linux, Mac OS X, and 32 and 64-bit Windows.

As a prerequisite for PDFmorph installation, download and install Anaconda
RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved
from |anaconda-download|.

.. note::
PDFmorph is a software which operates on any version of Python 3. Anaconda
RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved
should install the latest version of Python by default, but in case you
already use Anaconda for a prior release of Python, create a separate
Anaconda environment *py3x* which will provide your preferred version of
Python 3 (substitute x for your preferred release) instead of Python 2.7
or earlier. ::

conda create --name=py3x python=3.x
conda activate py3x

On Windows use just ``activate py3x``. Make sure that *py3x* environment is
activated in your shell prior to running the "install" or "update" commands
below.

PDFmorph is available from the "conda-forge" channel of Anaconda packages. Open a
*Terminal* window or *Anaconda Command Prompt* on Windows and install PDFmorph
using the :program:`conda` command ::

conda config --add channels conda-forge
conda install diffpy.pdfmorph

And it should be installed! To make sure that installation has completed correctly,
run the following command from your relevant conda environment ::

pdfmorph --version

If installed correctly, this command should return PDFmorph's current version number.


PDFmorph Updates
================

The Anaconda package sustem makes it easy to prepare and distribute software
RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved
packages and bugfixes. To update the lates version of PDFmorph use ::
RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved

conda update diffpy.pdfmorph

With other Python distributions, the program can be updated to the latest version
as follows ::

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.0.1 - latest
----------------------

RomanMatthew marked this conversation as resolved.
Show resolved Hide resolved
* User manual (available in HTML and PDF) to be made available soon
* Installation instructions to come
* Tutorial files will be made available soon
* Please, join the :doc:`community forum <../community>` for tips,
tricks, and feedback.


References
==========

Paper on PDfmorph will be released soon.
6 changes: 6 additions & 0 deletions products/pdfmorph_license.rst
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
33 changes: 33 additions & 0 deletions products/pdfmorph_license.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
This program is part of the DiffPy open-source projects 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 [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.

* Neither the names of COLUMBIA UNIVERSITY, MICHIGAN STATE UNIVERSITY nor the
names of their 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.