@@ -71,6 +71,59 @@ def test_load_manual_empad_v1(caplog, expected_raw_data: RawData):
7171 assert_raw_data_matches (raw_data , expected_raw_data , (4 ,))
7272
7373
74+ def test_load_manual_h5py (caplog , expected_raw_data : RawData ):
75+ caplog .set_level (logging .INFO )
76+ get_backend_module ("numpy" )
77+
78+ hook = pane .from_data (
79+ {
80+ "type" : "manual" ,
81+ "wavelength" : 0.0251 ,
82+ "path" : INPUT_FILES_PATH / "dp.h5" ,
83+ "diff_step" : 0.4 ,
84+ "fftshifted" : True ,
85+ }, # type: ignore
86+ RawDataHook ,
87+ )
88+ raw_data = hook (None )
89+
90+ assert caplog .record_tuples == [
91+ ("phaser.hooks.io.manual" , logging .INFO , "Loading as HDF5..." ),
92+ ("phaser.hooks.io.manual" , logging .INFO , "Found patterns at key 'dp' (inferred) in HDF5 file." ),
93+ ("phaser.hooks.io.manual" , logging .INFO , "Applying detector flips: [0, 0, 0] [y, x, transpose]" ),
94+ ("phaser.hooks.io.manual" , logging .WARNING , "ADU not supplied for experimental dataset. This is not recommended." ),
95+ ]
96+
97+ assert_raw_data_matches (raw_data , expected_raw_data , (2 , 2 ))
98+
99+
100+ def test_load_manual_h5py_customkey (caplog , expected_raw_data : RawData ):
101+ caplog .set_level (logging .INFO )
102+ get_backend_module ("numpy" )
103+
104+ hook = pane .from_data (
105+ {
106+ "type" : "manual" ,
107+ "wavelength" : 0.0251 ,
108+ "path" : INPUT_FILES_PATH / "dp_customkey.h5" ,
109+ "key" : "a/b/c/d" ,
110+ "diff_step" : 0.4 ,
111+ "fftshifted" : True ,
112+ }, # type: ignore
113+ RawDataHook ,
114+ )
115+ raw_data = hook (None )
116+
117+ assert caplog .record_tuples == [
118+ ("phaser.hooks.io.manual" , logging .INFO , "Loading as HDF5..." ),
119+ ("phaser.hooks.io.manual" , logging .INFO , "Loaded patterns from key 'a/b/c/d' in HDF5 file." ),
120+ ("phaser.hooks.io.manual" , logging .INFO , "Applying detector flips: [0, 0, 0] [y, x, transpose]" ),
121+ ("phaser.hooks.io.manual" , logging .WARNING , "ADU not supplied for experimental dataset. This is not recommended." ),
122+ ]
123+
124+ assert_raw_data_matches (raw_data , expected_raw_data , (2 , 2 ))
125+
126+
74127def test_load_manual_tiff (caplog , expected_raw_data : RawData ):
75128 caplog .set_level (logging .INFO )
76129 get_backend_module ("numpy" )
0 commit comments