Coverage for hiperta_stream/tests/test_T_REC_020_T_REC_030_dl1_to_dl2.py: 100%
22 statements
« prev ^ index » next coverage.py v7.4.3, created at 2024-07-16 10:16 +0000
« prev ^ index » next coverage.py v7.4.3, created at 2024-07-16 10:16 +0000
1import subprocess
2from pathlib import Path
3import numpy as np
4import tables
7def compare_hdf5(file1_pathname, file2_pathname):
9 with tables.open_file(file1_pathname, 'r') as ref_f, \
10 tables.open_file(file2_pathname, 'r') as output_f:
11 for ref_node in ref_f.walk_nodes():
12 assert ref_node._v_pathname in output_f
13 if isinstance(ref_node, tables.Table):
14 output_node = ref_f.get_node(ref_node._v_pathname)
15 for name in ref_node.colnames:
16 ref_values = ref_node.cols._f_col(name)
17 output_values = output_node.cols._f_col(name)
18 if np.issubdtype(ref_values.dtype, np.number):
19 assert np.allclose(ref_values[:], output_values[:], equal_nan=True)
20 else:
21 assert all([ref_values[idx] == output_values[idx] for idx in range(len(ref_values))])
24def test_T_REC_020_dl1_to_dl2(request):
26 current_dir = Path(request.fspath).resolve().parent
27 (current_dir / "dl2").mkdir(exist_ok=True)
28 subprocess.run(
29 [
30 "lstchain_dl1_to_dl2",
31 "-f",
32 current_dir / "resources/dl1_LST_Run06892_gammaness_cut_70_sample_500.h5",
33 "-o",
34 current_dir / "dl2",
35 "--path-models",
36 current_dir / "resources/trained_models",
37 "--config",
38 current_dir / "resources/lstchain_configuration.json"
39 ]
40 )
42 assert (current_dir / "dl2/dl2_LST_Run06892_gammaness_cut_70_sample_500.h5").exists()
44 compare_hdf5(
45 str(current_dir / "resources/dl2_LST_Run06892_gammaness_cut_70_sample_500.h5"),
46 str(current_dir / "dl2/dl2_LST_Run06892_gammaness_cut_70_sample_500.h5")
47 )