Source code for est.tests.pymca.test_exafs

import pytest

try:
    import PyMca5
except ImportError:
    PyMca5 = None
else:
    from est.core.process.pymca.exafs import pymca_exafs
    from est.core.process.pymca.normalization import pymca_normalization

from est.core.types import XASObject


[docs] @pytest.mark.skipif(PyMca5 is None, reason="PyMca5 is not installed") def test_single_spectrum(spectrum_cu_from_pymca): """Make sure the process is processing correctly on a spectrum""" exafs_configuration = {"Knots": {"Values": (1, 2, 5), "Number": 3}} configuration = {"EXAFS": exafs_configuration} xas_obj = XASObject( energy=spectrum_cu_from_pymca.energy, spectra=(spectrum_cu_from_pymca,), dim1=1, dim2=1, configuration=configuration, ) # first process normalization for spectrum in xas_obj.spectra.data.flat: assert spectrum.pre_edge is None pymca_normalization(xas_obj=xas_obj) for spectrum in xas_obj.spectra.data.flat: assert spectrum.pre_edge is not None pymca_exafs(xas_obj) spectrum_0 = xas_obj.spectra.data.flat[0] assert spectrum_0.k is not None assert spectrum_0.chi is not None assert "PostEdgeB" in spectrum_0.pymca_dict
[docs] @pytest.mark.skipif(PyMca5 is None, reason="PyMca5 is not installed") def test_single_spectrum_asdict(spectrum_cu_from_pymca): """Make sure the process is processing correctly on a spectrum""" exafs_configuration = {"Knots": {"Values": (1, 2, 5), "Number": 3}} configuration = {"EXAFS": exafs_configuration} xas_obj = XASObject( energy=spectrum_cu_from_pymca.energy, spectra=(spectrum_cu_from_pymca,), dim1=1, dim2=1, configuration=configuration, ) spectrum_0 = xas_obj.spectra.data.flat[0] # first process normalization assert spectrum_0.pre_edge is None xas_obj = pymca_normalization(xas_obj=xas_obj.to_dict()) spectrum_0 = xas_obj.spectra.data.flat[0] assert spectrum_0.pre_edge is not None xas_obj = pymca_exafs(xas_obj.to_dict()) spectrum_0 = xas_obj.spectra.data.flat[0] assert spectrum_0.k is not None assert spectrum_0.chi is not None assert "PostEdgeB" in spectrum_0.pymca_dict