XRayLabTool
Copyright (c) 2025 Wei Chen (MIT License, see LICENSE)

This product bundles third-party material:

Kramers-Kronig Calculator (kkcalc)
----------------------------------
Copyright (c) 2013 Benjamin Watts, Daniel J. Lauk
Upstream:  https://github.com/benajamin/kkcalc
Licence:   zlib/libpng (full text: xraylabtool/data/kkcalc/LICENSE-kkcalc.txt)
Commit:    f331ca31a654af946f7d550a22cf4e9c11fa8afc (2024-07-19)

Files derived from kkcalc:
  xraylabtool/data/kkcalc/asf.npz
      Altered from the original: the tabulated Henke atomic scattering factor
      polynomials (E, Im, mass, symbol) of upstream kkcalc/ASF.json repacked
      into NumPy .npz format; values are unmodified. sha256 of the upstream
      ASF.json: 9edf4fac0d8dbc0552938abb106039a71c34e9c7ea71969964a41b56eaf79f66
  xraylabtool/kk/
      Altered from the original: a JAX/NumPy re-implementation of the
      piecewise-polynomial Kramers-Kronig transform (KK_PP) and the near-edge
      data merge and the adaptive refinement (improve_accuracy) of upstream
      kkcalc/kk.py and kkcalc/data.py.
  tests/characterization/kk/nearedge_example.txt
      Unaltered copy of examples/PS_004_-dc.txt from upstream (polystyrene
      NEXAFS example), used as a test fixture.
  tests/characterization/kk/golden/*.npz
      Reference outputs generated by running upstream kkcalc at the commit
      above (scripts/gen_kk_golden.py); used only for testing.

Reference: B. Watts, "Calculation of the Kramers-Kronig transform of X-ray
spectra by a piecewise Laurent polynomial method", Opt. Express 22(19),
23628-23639 (2014), doi:10.1364/OE.22.023628.
