Source code for ewoksid24.tests.conftest

import os

import h5py
import numpy
import pytest

from .data import RESOURCE_ROOT


[docs] @pytest.fixture def xanes_filename(): return os.path.join(RESOURCE_ROOT, "xanes.h5")
[docs] @pytest.fixture def id24_dcm_xasmap(tmp_path): x = numpy.linspace(-1, 2, 10) y = numpy.linspace(3, 2, 9) xv, yv = numpy.meshgrid(x, y) xv = xv.flatten() yv = yv.flatten() energy = numpy.linspace(7, 7.1, 20) mu = numpy.linspace(0, 1, 20) filename = str(tmp_path / "id24_dcm.h5") with h5py.File(filename, "w") as nxroot: for i in range(len(xv)): nxroot[f"/{i}.1/instrument/positioners/x"] = xv[i] nxroot[f"/{i}.1/instrument/positioners/x"].attrs["units"] = "um" nxroot[f"/{i}.1/instrument/positioners/y"] = yv[i] nxroot[f"/{i}.1/instrument/positioners/y"].attrs["units"] = "um" nxroot[f"/{i}.1/measurement/energy"] = energy nxroot[f"/{i}.1/measurement/energy"].attrs["units"] = "keV" nxroot[f"/{i}.1/measurement/mu"] = mu + 0.01 * i return { "filenames": [filename], "dim0_counter": "x", "dim1_counter": "y", "mu_counter": "mu", "energy_counter": "energy", }
[docs] @pytest.fixture def id24_ed_xasmap(tmp_path): x = numpy.linspace(-1, 2, 10) y = numpy.linspace(3, 2, 9) xv, yv = numpy.meshgrid(x, y) xv = xv.flatten() yv = yv.flatten() energy = numpy.linspace(7, 7.1, 20)[None, :] mu = numpy.linspace(0, 1, 20) mu = numpy.arange(len(xv))[:, None] * mu[None, :] filename = str(tmp_path / "id24_ed.h5") with h5py.File(filename, "w") as nxroot: nxroot["/1.1/instrument/positioners/x"] = xv nxroot["/1.1/instrument/positioners/x"].attrs["units"] = "um" nxroot["/1.1/instrument/positioners/y"] = yv nxroot["/1.1/instrument/positioners/y"].attrs["units"] = "um" nxroot["/1.1/measurement/energy"] = energy nxroot["/1.1/measurement/energy"].attrs["units"] = "keV" nxroot["/1.1/measurement/mu"] = mu return { "filenames": [filename], "dim0_counter": "x", "dim1_counter": "y", "mu_counter": "mu", "energy_counter": "energy", }