Skip to content

Releases: diffpy/diffpy.morph

0.3.1

19 Dec 02:08

Choose a tag to compare

Fixed:

  • Applying a function with no extrapolation no longer produces an error.

0.3.0

18 Dec 22:06

Choose a tag to compare

Added:

  • Tutorials for wrapping PDFgetx3 and PyFai with funcxy.
  • morphfuncx added: apply a function to the grid of your morphed function; this function should maintain the monotonic increasing nature of the grid
  • morphfuncxy added: apply a general function which can modify both the ordinate and abscissa; useful when applying fourier transform or integration functions
  • There is now an option to save the difference curve. This is computed on the common interval between the two curves.
  • Raise ValueError if the number of shared grid points between morphed and target functions is less than the number of parameters.
  • Enable diffpy.morph to detect extrapolation.
  • Warnings added to squeeze morph if the squeeze causes the grid to become non-monotonic.

Changed:

  • Removed PDF-specific language from all plotting functions.
  • The interpolation of the morphed/objective function onto the target function grid is now done at the end of the morphing chain. Prior, it was done before. This change is desirable as the target function grid may be much smaller/larger than that of the objective, but a morph (e.g. stretch) accounts for that difference. Then, we ensure the morph is done before we regrid for comparison.
  • Changed tutorial language away from PDF-specific names
  • Names of rmin, rmax, rstep renamed to xmin, xmax, xstep
  • Removed PDF-specific labels from plotting functions
  • Exclude option in morphpy now takes in a list of morphs to exclude rather than excluding a single morph.
  • For diffpy.morph developers: both morphpy functions now have shared code in a separate function for easier maintenance.

Fixed:

  • Tutorial examples for funcxy and pyfai now run properly.
  • Docstring for kwargs updated from dict to Any since various input types from kwargs are possible (e.g. a list/tuple for squeeze, a tuple for funcy, a float for smear-pdf). This should remove the warning that inputs are not dicts.
  • When transforming from the RDF to PDF in the smear-pdf morph, we incorrectly referenced the target grid zero point, when we should be referencing the morph grid zero point. This would lead to the morph PDF being set to zero on a point corresponding to when the target PDF grid value is zero. The correct behavior is for the morph PDF to be set to zero when the morph PDF grid value is zero. This has been fixed.
  • All morph inputs are now outputted for multiple morphs/targets.
  • Docstrings updated for better clarity.
  • MorphRGrid can now handle grids denser than 1e-08. Previously, it was possible that multiple points on the intersection range could be excluded.
  • Only give user extrapolation warning after refinement.

Security:

  • Removed subprocess calls in test functions.

0.3.0-rc.2

18 Dec 21:46
4d1d866

Choose a tag to compare

0.3.0-rc.2 Pre-release
Pre-release

What's Changed

Full Changelog: 0.3.0-rc.1...0.3.0-rc.2

0.3.0-rc.1

02 Oct 10:23
c0588b4

Choose a tag to compare

0.3.0-rc.1 Pre-release
Pre-release

What's Changed

Full Changelog: 0.3.0-rc.0...0.3.0-rc.1

0.3.0-rc.0

30 Sep 22:44
4e9ef91

Choose a tag to compare

0.3.0-rc.0 Pre-release
Pre-release

What's Changed

Full Changelog: 0.2.0...0.3.0-rc.0

0.2.0

07 Jul 19:04

Choose a tag to compare

Added:

  • Added a tutorial for MorphFuncy
  • Functionality for refining lists and dictionaries
  • Add docformatter config to pyproject.toml
  • Python interfacing to call PDFmorph
  • Returns dictionary of morph metrics (dict) and the r, gr pair for plotting or further manipulation
  • General morph function that applies a user-supplied Python function to the y-coordinates of morph data
  • Spelling check via Codespell in pre-commit
  • Coverage report in each PR
  • Added tutorial for MorphSqueeze and MorphFuncy
  • Polynomial squeeze of x-axis of morphed data
  • --multiple-morphs: morph multiple files against a single target
  • New --smear option applies the smear morph directly to the function (without transforming to RDF).
  • Support for python 3.13
  • manual information is added into online docs.
  • Option to set tolerance for the morph refinement (default 1e-08).
  • Squeeze morph now added to CLI.
  • Error thrown when squeeze morph given improper inputs.
  • Shifting morph for vertical and horizontal shifts.

Changed:

  • Paths to diffpy.utils.parsers functions made explicitly to the file level.
  • Changed docstrings location for MorphFuncy and MorphSqueeze
  • Typo fixes in documentation.
  • Tutorial documentation files split into three sections.
  • --multiple changed to --multiple-targets for clarity
  • Former --smear option renamed to --smear-pdf (converts PDF to RDF before applying the smear morph).
  • Renamed PDFmorph to diffpy.morph
  • Stretch disabled when squeeze is above polynomial order 0.
  • Horizontal shift morph disabled when squeeze is enabled.
  • Squeeze morph now removes duplicate/repeated and trailing commas before parsing.
  • Swap colors for morph and target. Morph is now blue and target red.

Fixed:

  • add temperature field to tutorial/additionalData.
  • Multiple morphs/targets used to break given multiple subdirectories.
  • reduce the line width limit to 79
  • Support scikit-package Level 5 standard (https://scikit-package.github.io/scikit-package/).
  • import loadData and deserialize_data directly to integrate with diffpy.utils(3.6.0)

Removed:

  • diffpy.morph manual removed.
  • Support for python 3.10
  • manual.

0.2.0-rc.1

02 Jul 15:59
7ce6a89

Choose a tag to compare

0.2.0-rc.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.1.4rc1...0.2.0-rc.1

0.2.0-rc.0

02 Jul 15:32
7ce6a89

Choose a tag to compare

0.2.0-rc.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.1.4rc1...0.2.0-rc.0

0.1.4rc1

22 Mar 09:16
d1c2695

Choose a tag to compare

0.1.4rc1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 0.1.3...0.1.4rc1

0.1.3

25 Oct 09:35
ae13f37

Choose a tag to compare

Added:

  • Add GitHub action to build wheel, release, upload.
  • Add issue and bug report templates.

Changed:

  • README file installation instructions updated.

Fixed:

  • Mathematical error in manual