Skip to content
Snippets Groups Projects
Commit 40138bb6 authored by Loic Huder's avatar Loic Huder
Browse files

Add test for loading from input info with HDF5 URIs

parent 06efa841
No related branches found
No related tags found
No related merge requests found
from est.io.information import InputInformation
from est.app.utils.xasobj import get_xas_obj
from est.io.utils.ascii import build_ascii_data_url, split_ascii_url
from silx.io.url import DataUrl
import numpy
import pytest
try:
import PyMca5
except ImportError:
PyMca5 = None
from silx.io.url import DataUrl
from silx.io import h5py_utils
import pytest
from est.core.io import read_from_input_information
from est.io.information import InputInformation
from est.io.utils.ascii import build_ascii_data_url, split_ascii_url
@pytest.mark.skipif(PyMca5 is None, reason="PyMca5 is not installed")
......@@ -28,7 +30,7 @@ def test_input_information(filename_cu_from_pymca):
data_slice=None,
),
)
xas_obj = get_xas_obj(input_information)
xas_obj = read_from_input_information(input_information)
assert xas_obj.energy is not None
assert xas_obj.spectra.data.flat[0] is not None
......@@ -52,3 +54,29 @@ def test_spec_url():
"col_name": col_name,
"data_slice": data_slice,
}
@pytest.mark.skipif(PyMca5 is None, reason="PyMca5 is not installed")
def test_input_information_from_h5(hdf5_filename_cu_from_pymca):
energy_url = DataUrl(
f"silx://{hdf5_filename_cu_from_pymca}::/1.1/measurement/energy"
)
with h5py_utils.open_item(energy_url.file_path(), energy_url.data_path()) as dset:
energy = dset[()]
mu_url = DataUrl(f"silx://{hdf5_filename_cu_from_pymca}::/1.1/measurement/mu")
with h5py_utils.open_item(mu_url.file_path(), mu_url.data_path()) as dset:
mu = dset[()]
I0_url = mu_url
I0 = mu
input_information = InputInformation(
channel_url=energy_url, spectra_url=mu_url, I0_url=I0_url
)
xas_obj = read_from_input_information(input_information)
sp = xas_obj.get_spectrum(0, 0)
numpy.testing.assert_allclose(sp.energy, energy)
numpy.testing.assert_allclose(sp.mu, mu)
numpy.testing.assert_allclose(sp.I0, I0)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment