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.