From 82a4ecd8f428801696f0d658447ad57aec9c5707 Mon Sep 17 00:00:00 2001 From: Long Yang Date: Mon, 24 Apr 2023 23:07:21 +0800 Subject: [PATCH 1/3] ENH: update pdfgui webpage into py3 version. --- products/PDFgui_LICENSE.txt | 39 +++++++++++++++++---- products/pdfgui.rst | 70 ++++++++++++++++++------------------- 2 files changed, 68 insertions(+), 41 deletions(-) diff --git a/products/PDFgui_LICENSE.txt b/products/PDFgui_LICENSE.txt index 90aaa72b..296489bb 100644 --- a/products/PDFgui_LICENSE.txt +++ b/products/PDFgui_LICENSE.txt @@ -1,20 +1,47 @@ -This software was initially developed at Michigan State University and -Columbia University as part of the National Science Foundation funded -DANSE (Distributed data Analysis of Neutron Scattering Experiments) -project. Continued development is taking place at Brookhaven National -Laboratory under the complex modeling initiative. The software is -available subject to the conditions and terms laid out below. +Copyright Policy +This software was originally developed by the Billinge group as part +of the Distributed Data Analysis of Neutron Scattering Experiments +(DANSE) project funded by the US National Science Foundation under +grant DMR-0520547. Developments of PDFfit2 were funded by NSF grant +DMR-0304391 in the Billinge group, and with support from Michigan State +University and Columbia University. Any opinions, findings, and conclusions +or recommendations expressed in this material are those of the author(s) +and do not necessarily reflect the views of the respective funding bodies. +Subsequent development was done in the Billinge group at Columbia University +and then in collaboration between the Billinge group at Columbia and Pavol +Juhas at Brookhaven National Laboratory. Moving forward, PDFgui will be +maintained as a community project with contributions welcomed from many people. + +Up to the release 1.1.2 (February 2017) the copyright was held by +the institutions that hosted the work as follows: Copyright 2006-2007, Board of Trustees of Michigan State University, Copyright 2008-2012, Board of Trustees of Columbia University in the city of New York. Copyright 2013, Brookhaven National Laboratory (Copyright holder indicated in each source file). +As of February 2017, and the 1.1.2 release, PDFgui has moved to a shared copyright model. + +PDFgui uses a shared copyright model. Each contributor maintains copyright over their +contributions to PDFgui. But, it is important to note that these contributions are +typically only changes to the repositories. Thus, the PDFgui source code, in its entirety, +is not the copyright of any single person or institution. Instead, it is the collective +copyright of the entire PDFgui Development Team. If individual contributors want to +maintain a record of what changes/contributions they have specific copyright on, they +should indicate their copyright in the commit message of the change, when they commit +the change to one of the PDFgui repositories. + +The PDFgui Development Team is the set of all contributors to the PDFgui project. +A full list can be obtained from the git version control logs. + For more information please visit the project web-page: http://www.diffpy.org/ or email Prof. Simon Billinge at sb2896@columbia.edu + +License Agreement + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/products/pdfgui.rst b/products/pdfgui.rst index c305db04..7547ffee 100644 --- a/products/pdfgui.rst +++ b/products/pdfgui.rst @@ -38,54 +38,36 @@ PDFgui is distributed as a software package for for all operating systems supported by Anaconda, namely for Linux, Mac OS X, and Windows. -As a prerequisite for PDFgui installation, download and -install **Anaconda Python** from -|anaconda-download|. +As a prerequisite for PDFgui installation, download and install +**Miniconda** (https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) +or Anaconda Python (https://www.anaconda.com/download). -.. TODO -- remove when PDFgui is compatible with wxpython 4 +PDFgui is available from the "conda-forge" channel of Anaconda packages. +To do so open a *Terminal* window or *Anaconda Command Prompt* and use +the :program:`conda` command as follows :: -.. important:: + conda create --name=pdfgui2 python=3.9 + conda activate pdfgui2 + conda install -c conda-forge diffpy.pdfgui - As of July 2019 Anaconda stopped providing older versions - of several packages that are required by PDFgui - (details `here - `__). - We are working on making PDFgui compatible with the current - set of Anaconda packages. - In the meantime you must re-activate the old packages - as follows :: +PDFgui can be then started from a *Terminal* window or *Anaconda Command Prompt* by typing :: - conda update -n base conda - conda config --set restore_free_channel true + pdfgui - -PDFgui is available from the "diffpy" channel of Anaconda packages. -Because PDFgui requires Python 2.7 and wxpython 3, -it is strongly recommended to install it in a dedicated -Anaconda environment *py27*. -To do so open a *Terminal* window or *Anaconda Command Prompt* on Windows -and use the :program:`conda` command as follows :: - - conda config --add channels diffpy - conda create --name=py27 python=2.7 - conda activate py27 - conda install "diffpy.pdfgui>=1.1.2" - -All done. To start PDFgui enter :program:`pdfgui` command in a -Terminal or use the *DiffPy* start menu on Windows. PDFgui can be -also started from the *Launcher* application included with Anaconda. +The PDFgui window will appear automatically. An alternative method on Windows is to start +PDFgui through the *Diffpy* start menu. .. note:: - To start PDFgui from a Terminal make sure *py27* is + To start PDFgui from a Terminal make sure *pdfgui2* is the active Anaconda environment:: - conda activate py27 + conda activate pdfgui2 Alternatively you can add the following line to your shell startup file :file:`.bashrc` to define an alias which will work in any Anaconda environment :: - alias pdfgui="/path/to/py27/bin/pdfgui" + alias pdfgui="/path/to/pdfgui2/bin/pdfgui" where ``/path/to`` needs to be adjusted according to the output of ``which pdfgui`` command. @@ -98,7 +80,7 @@ The Anaconda package system makes it easy to prepare and distribute software updates and bugfixes. To update to the latest version of PDFgui use :: - conda update --channel=diffpy diffpy.pdfgui + conda update -c conda-forge diffpy.pdfgui To use a bleeding edge development version, visit the project source repository at https://github.com/diffpy/diffpy.pdfgui and consult @@ -107,6 +89,15 @@ its README file. Other versions ============== +v1.1.2 is the last python 2 version of PDFgui. It is no longer supported, +but may be needed to open python 2 generated `.ddp` project files. It can +be installed in a python2 anaconda environment using the commands:: + + conda config --set restore_free_channel true + conda config --add channels diffpy + conda create --name=py27 python=2.7 + conda activate py27 + conda install -c diffpy "diffpy.pdfgui==1.1.2" When Anaconda Python is not available, PDFgui can be installed from sources. The latest source package is at the `Python Package @@ -142,6 +133,15 @@ Documentation and help * The user manual is available in `HTML <../doc/pdfgui/index.html>`__ and `PDF <../doc/pdfgui/pdfgui.pdf>`__ formats. +* Search "PDFgui" on YouTube for some video tutorials on how to use + PDFgui. + +* For in-depth help in using PDFgui to solve scientific problems please + see the book "Atomic Pair Distribution Function Analysis: A primer" by + Simon Billinge, Kirsten Jensen, and past and present Billinge group members, + published by Oxford University Press. Data for the worked examples can + be found here: https://github.com/Billingegroup/pdfttp_data + * Tutorial files are available from `pdfgui-tutorial.zip <../doc/pdfgui/pdfgui-tutorial.zip>`__. From b27cc5e98baadce5d1555620274dcefe6fe7a4d4 Mon Sep 17 00:00:00 2001 From: Long Yang Date: Thu, 4 May 2023 23:04:14 +0800 Subject: [PATCH 2/3] ENH: update pdfgui2.0 html and user manual. --- static_root/doc/pdfgui/pdfgui.html | 106 ++++++++++++++++++----------- static_root/doc/pdfgui/pdfgui.pdf | Bin 1487431 -> 1473422 bytes 2 files changed, 65 insertions(+), 41 deletions(-) diff --git a/static_root/doc/pdfgui/pdfgui.html b/static_root/doc/pdfgui/pdfgui.html index 0de0d582..849b22fe 100644 --- a/static_root/doc/pdfgui/pdfgui.html +++ b/static_root/doc/pdfgui/pdfgui.html @@ -1,12 +1,14 @@ - - -PDFgui user guide, release 1.0, March 2016 +PDFgui user guide, release 2.0, May 2023 - - + + @@ -57,8 +59,8 @@

PDFgui user guide

-

1.1 release

-

March 2016

+

2.0 release

+

May 2023

C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin,
J. Bloch, Th. Proffen, and S. J. L. Billinge
@@ -77,32 +79,54 @@

March 2016

Acknowledgments

-

PDFgui was developed as part of the Distributed Analysis of Neutron Scattering -Data (DANSE) project which is funded by NSF under DMR-0520547. The PDFfit2 -development was funded by NSF under contract DMR-0304391. The program is part -of the DiffPy and DANSE open-source projects at Columbia University and is -available subject to the conditions and terms laid out below. Several of the -examples in the tutorial part were made possible and benefited from samples +

This software was originally developed by the Billinge group as part +of the Distributed Data Analysis of Neutron Scattering Experiments +(DANSE) project funded by the US National Science Foundation under +grant DMR-0520547. Developments of PDFfit2 were funded by NSF grant +DMR-0304391 in the Billinge group, and with support from Michigan State +University and Columbia University. Any opinions, findings, and conclusions +or recommendations expressed in this material are those of the author(s) +and do not necessarily reflect the views of the respective funding bodies. +Subsequent development was done in the Billinge group at Columbia University +and then in collaboration between the Billinge group at Columbia and Pavol +Juhas at Brookhaven National Laboratory. Moving forward, PDFgui will be +maintained as a community project with contributions welcomed from many people. +

+

Several of the examples in the tutorial part were made possible and benefited from samples synthesized by J. F. Mitchell, and from data collected and processed by M. Schmidt, P. G. Radaelli, and X. Qiu. -If you use this program to do productive scientific research that leads +

+

If you use this program to do productive scientific research that leads to publication, we ask that you acknowledge use of the program by citing the following paper in your publication:

C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, -PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, +PDFfit2 and PDFgui: computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter, 19, 335219 (2007)

-

Copyright © 2008-2016, Board of Trustees of Columbia University in -the city of New York, all rights reserved. -

-

Copyright © 2006, 2007, Board of Trustees of Michigan State -University, all rights reserved. +

Up to the release 1.1.2 (February 2017) the copyright was held by +the institutions that hosted the work as follows: +Copyright 2006-2007, Board of Trustees of Michigan State University, +Copyright 2008-2012, Board of Trustees of Columbia University in the +city of New York. +Copyright 2013, Brookhaven National Laboratory (Copyright holder +indicated in each source file).

-

For more information please visit http://www.diffpy.org +

As of February 2017, and the 1.1.2 release, PDFgui has moved to a shared copyright model. +PDFgui uses a shared copyright model. Each contributor maintains copyright over their +contributions to PDFgui. But, it is important to note that these contributions are +typically only changes to the repositories. Thus, the PDFgui source code, in its entirety, +is not the copyright of any single person or institution. Instead, it is the collective +copyright of the entire PDFgui Development Team. If individual contributors want to +maintain a record of what changes/contributions they have specific copyright on, they +should indicate their copyright in the commit message of the change, when they commit +the change to one of the PDFgui repositories. +The PDFgui Development Team is the set of all contributors to the PDFgui project. +A full list can be obtained from the git version control logs. +For more information please visit https://www.diffpy.org or contact Prof. Simon Billinge at sb2896@columbia.edu.

@@ -273,7 +297,7 @@

1.1 PDFfit2

Instead of rewriting the PDFfit command interpreter, which is used to define the fitting problem and to control and run the refinement, its functions are carried out using the Python language -(http://www.python.org). Python is a powerful, cross-platform, +(https://www.python.org). Python is a powerful, cross-platform, open-source interpreted programming language (i.e., it does not need to be compiled to run, similar to scripting) that emphasizes object-oriented and modular design. PDFfit2 scripts written in @@ -343,7 +367,7 @@

1.2.1 Design principles

allows them to be used together. Python is becoming a popular choice in the scientific computation community.

-

PDFgui’s interface is built using wxPython (http://www.wxPython.org), the +

PDFgui’s interface is built using wxPython (https://www.wxpython.org), the Python package for wxWidgets, a mature cross-platform GUI library. Graphical applications written in wxPython provide a look and feel native to the platform on which they are run. PDFgui is designed to run on Windows, Mac OS, Linux, @@ -391,10 +415,10 @@

1.2.2 Capabilities

the Python Macromolecular Library (mmLib, http://pymmlib.sourceforge.net). This was extened to include non-standard space groups using the Computational Crystallography Toolbox -(cctbx, http://cctbx.sourceforge.net). PDFgui also supports supercell +(cctbx, https://cctbx.github.io). PDFgui also supports supercell expansion of a normal unit cell.

-

PDFgui uses the matplotlib (http://matplotlib.org) Python +

PDFgui uses the matplotlib (https://matplotlib.org) Python package for 2D plotting of data and results. Matplotlib has a friendly interface so the user can quickly and easily view the results of a fitting. PDFgui lets users plot data from a series of fits and plot it against selected @@ -404,7 +428,7 @@

1.2.2 Capabilities

in common image formats or export the data to a text file. PDFgui can be configured to use one of many structure visualization packages, such as AtomEye (http://li.mit.edu/A/Graphics/A/) or PyMOL -(http://www.pymol.org). +(https://www.pymol.org).

PDFgui supports built-in macros for advanced fits. For a set of experimental data from one system at different temperatures or doping levels, PDFgui can @@ -437,7 +461,7 @@

1.3 Availability

run on Windows, Mac OS, Linux, and all major Unix systems. The source code is freely available. For more information please contact Professor Simon Billinge (sb2896@columbia.edu) or consult the web-page -http://www.diffpy.org. News of updates and releases will be posted at +https://www.diffpy.org. News of updates and releases will be posted at this website and on the diffpy-users group at https://groups.google.com/d/forum/diffpy-users.

@@ -465,7 +489,7 @@

1.4 Installation

PDFgui is included as a part of DiffPy, a suite of Python and C++ libraries for structure analysis from diffraction data. For more information about DiffPy products visit the project homepage at -http://www.diffpy.org. +https://www.diffpy.org.