Release notes
Version 2.0.0 – 2018-11-02
Added
- New mode
neutron for processing constant-wavelength
neutron scattering data.
- Correction for an offset of diffractometer zero angle.
- Configuration parameter
twothetazero and command-line option
--twothetazero for position of the actual zero angle
in diffractometer degrees.
- New program
pdfgetn3 and IPython magic %pdfgetn3.
- Separate configuration file
pdfgetn3.cfg for the pdfgetn3 program.
- New sub-package
diffpy.pdfgetx.apps for entry points to all programs.
- The
+ operator for additive pattern groups when matching input files
with pdfgetx3 --find.
- An optional slash-containing entry, e.g.,
dir/, to set the search path
for pdfgetx3 --find. Each pattern group may have one path entry which
affects the current and subsequent pattern groups. Pattern groups that
have only the path entry reuse the previous file patterns, for example,
dir1/ .dat$ + dir2/ + dir3/.
- The
dotfiles flag argument to functs.findfiles to also find
dot-starting files without an explicit pattern.
- Support for Python 3.7.
- Tutorial examples for constant-wavelength neutron diffraction data.
Changed
- Initialization arguments of
PDFConfig to set initial configuration values.
path argument of functs.findfiles to give one search path instead
of a list of paths.
pdfgetx3 --find to search only the current directory and stop searching
in --datapath.
- Improved PDF accuracy by removing repeated Q-grid interpolation.
- Handling of dot files by
pdfgetx3 --find and the functs.findfiles
function. The dotfiles are by default ignored unless explicitly selected
by a "^." pattern.
- Return type of
functs.findfiles from IPython SList to a simple list.
- Rename camel case interactive functions to lowercase, i.e., to
loaddata,
processfiles, clearsession.
- Use
config.datapath lookup in processfiles(filename).
Deprecated
- IPython extension module
diffpy.pdfgetx.ipy_pdfgetx3.
Use diffpy.pdfgetx.ipy_magics instead.
- Camel case functions
loadData, processFiles, clearSession.
Removed
- Support for Python 2.6.
- Processing of environment variable
PDFGETX3PATH.
- Support for IPython 0.x.
- Obsolete variable
__gitsha__ from the version module.
- Processing of command line options in
PDFConfig class.
- Implicit loading of configuration files in
PDFConfig instantiation.
Fixed
- Import of all objects from
matplotlib.pyplot into
an interactive session started by plotdata.
- Inaccurate G interpolation when rstep is comparable to
pi / qmax.
- Lone anchor patterns
^, $ to match everything.
Version 1.2 – 2018-01-12
Added
- Support for Python 3.4, 3.5, 3.6 in addition to Python 2.6 and 2.7.
- Support for IPython 5.0 with preserved
compatibility with IPython 0.10 and later.
- Support for matplotlib 2.0.
- New option
--log=LOG for the plotdata program to set logarithmic
scale for either of x or y axis. The plotdata() function learnt
a new log argument with the same purpose.
- New argument
ax for the plotdata() function that select a specific
matplotlib axis for plotting.
- Support for Unicode filenames and values in the
config
interactive variable.
- Processing of parentheses and fractional stoichiometries in chemical
formulas as in
Pb (Ti Zr)1/2 O3.
- Explanatory error message when PDFgetX3 was installed for
unsupported Python.
Changed
- The egg package file was enhanced to support all Python
versions. The software is now distributed in a single
egg rather than multiple eggs per each Python version.
- PDFgetX3 option
--force to take a boolean argument
(yes, no, true, etc.) or once. The configuration
parameter force can be likewise set to a bool or to
a string "once". This enables a safer one-time
overwrite of existing output files.
- Plot labels to use a proper Unicode “Å” (Ångström) symbols.
The “Å” symbol is also used within units in output files.
- The
usecols argument of the loadData() function to also
accept scalars, open-end slice objects and string-denoted
slices such as "1:3" or "1:".
- The
plotdata program and plotdata() function to accept
open-end slices for the y-columns selection.
- The IPython magic function
%pdfgetx3 to set the _exit_code
variable as do generic shell commands run from IPython.
- Inline documentation to use NumPy-style Napoleon format,
which is human readable and can be included in the manual.
- Release scripts to build software package bundles and
documentation in binary-reproducible way.
Deprecated
- Compatibility with Python 2.6.
- Support for IPython 0.x.
- Variable
__gitsha__ in the version module which was renamed
to __git_commit__.
Removed
- The
hold argument of the plotdata() function,
because it was deprecated in matplotlib.
- Support for multiple x-columns in
plotdata program and
plotdata() function.
- Import of all objects from
numpy module into the interactive
session. NumPy is available under the np name instead.
Fixed
- Avoid duplicate “.gr.gr” extension when
pdfgetx3 is run
with option --output=f.gr.
- Crash on loading custom configuration section from a local
file, when that section is missing in global configuration.
- Missing checkbox in the
tuneconfig() dialog caused by
matplotlib bug.