From e60e15a9fb1ecc109da1b375dc3b4c7b28441868 Mon Sep 17 00:00:00 2001 From: Tedsmith100 Date: Tue, 21 Apr 2026 16:35:22 +0100 Subject: [PATCH 1/6] edit `process_bin_WD1` input Change `sample_size` to allow for floats. --- packs/proc/processing_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packs/proc/processing_utils.py b/packs/proc/processing_utils.py index c7ec2ed..2145f6a 100644 --- a/packs/proc/processing_utils.py +++ b/packs/proc/processing_utils.py @@ -445,7 +445,7 @@ def process_event_lazy_WD1(file_object : BinaryIO): def process_bin_WD1(file_path : str, save_path : str, - sample_size : int, + sample_size : float, overwrite : Optional[bool] = False, print_mod : Optional[int] = -1): @@ -467,7 +467,7 @@ def process_bin_WD1(file_path : str, ---------- file_path (str) : Path to binary file save_path (str) : Path to saved file - sample_size (int) : Size of each sample in an event (default 2 ns in the case of V1730B digitiser) + sample_size (float) : Size of each sample in an event (default 2 ns in the case of V1730B digitiser) overwrite (bool) : Boolean for overwriting pre-existing files print_mod (int) : Readout frequency for number of events, -1 implies no readout Returns From b5c9bceba94727186928299d902aeee2d54d4b3b Mon Sep 17 00:00:00 2001 From: Tedsmith100 Date: Tue, 21 Apr 2026 16:36:22 +0100 Subject: [PATCH 2/6] fix `event_info_type` 'sampling_period' from int to float --- packs/types/types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packs/types/types.py b/packs/types/types.py index a5052ee..6e589c2 100644 --- a/packs/types/types.py +++ b/packs/types/types.py @@ -5,7 +5,7 @@ ('event_number', np.uint32), ('timestamp', np.uint64), ('samples', np.uint32), - ('sampling_period', np.uint64), + ('sampling_period', np.float64), ('channels', np.int32), ]) From 3c43399d1548d9552b2ab52c7ea25a7c181b0aee Mon Sep 17 00:00:00 2001 From: Tedsmith100 Date: Thu, 23 Apr 2026 16:36:06 +0100 Subject: [PATCH 3/6] make save path absolute --- packs/proc/processing_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/packs/proc/processing_utils.py b/packs/proc/processing_utils.py index 2145f6a..75698ae 100644 --- a/packs/proc/processing_utils.py +++ b/packs/proc/processing_utils.py @@ -478,6 +478,7 @@ def process_bin_WD1(file_path : str, # lets build it here first and break it up later # destroy the group within the file if you're overwriting + save_path = os.path.abspath(save_path) save_path = check_save_path(save_path, overwrite) print(save_path) From 6209d871adadc498a8c2d9070dc2715e24044af7 Mon Sep 17 00:00:00 2001 From: Tedsmith100 Date: Thu, 30 Apr 2026 12:28:13 +0100 Subject: [PATCH 4/6] Change test h5s change `sampling_period` to float --- packs/tests/data/one_channel_WD1.h5 | Bin 3805824 -> 4087928 bytes packs/tests/data/one_channel_WD2.h5 | Bin 5008920 -> 5013768 bytes packs/tests/data/three_channels_WD2.h5 | Bin 993584 -> 997928 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packs/tests/data/one_channel_WD1.h5 b/packs/tests/data/one_channel_WD1.h5 index 19f4b5a1f7c26e9c3825fc87c056f6bb989296a1..b4040d4ce7f1e86bd62d52d033f91e07ef44d9a1 100644 GIT binary patch delta 276830 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
    3|IBo-) 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 a_WAzpUmtqK{`%AnJJ7pSrT delta 348 zcmWm4IWj{5002<=p9uMgCB(iHvBti}7JDwCHscJ2f|5z&8lliC75@kh;09Vx@w)eP z{}#M{*MjGKkh`rFN?~}Hu6w@;v#IJ=E|d7F7L&g(pXG-*dW@q40U`A?kff0mO*E6{ z|F_Ue8yVW^pp!1LbkjqQUi#=~fI)^BW`t437-xb>rkEzr3$I(O5lo0?5@WT~5Gv#iAHyil3f3IZcyS&@++v<&+;HL^k~^-q}) z;Rhil@sdGdxvY#b6x4{Ktcf5hMJPpCA@#mnh3Dme;MvZe-@|$S@7cNZOr*4bO=*bs zh)(J?r-@>@S=)D93{)s(f?SXZu(3sDl+I7^!+pVG(z?E_GJ)l)!$U0b?%zuam;L{v zp|N-T%!uaPh(-qT0Er+^kQYb}@&+kDN{|Yq24UU@8Sqdgodib5hYsOEM4#&p45 zU=^V5{ok#nn89OP(4|52K6? zk^&VZW}o%1qd{CfE`6b*(!^sLFt6R;yq+><@s&>C3yJzyEeSM;1vtNBuq2Vk@EU1< zt52bfwUUAWNO(k^&!Ryr(18jobGGxC9?Wj%mz|U`Kdp2EJo%+bM|aa876gODy6C+; zwhGK+mg!>3ST!lYf3RaN{~!%wfdMr1GUy18g@S3%d{jyqTOb8^8Pp`Fl+z#^pUZGG_IcPGE*a^QZ6EX%GuyK+l_dTX`%N%!~(z+9+c^q#zCw z9g5etXb=lFfNFg%bn}=6%(h><`Y2<@0Oq6;&`*O{un81bT;<>~yffb`;~!JT z8c4wwNF)lK!!(EmTS4Wj1EV~Kw|D+f@Hk~nI_UsO5J=Y5zo9uielln*EOnB{@Db6X zkWW#@%1J>QBubuE%+eqhq=QbB#eC#3E0}|!GoLAAQ=}jh5(7HhHyXr(EKso{ Date: Mon, 11 May 2026 16:59:31 +0100 Subject: [PATCH 5/6] fix test h5 dtype float `sampling_period` --- .../tests/data/one_channel_LECROYWS4054HD.h5 | Bin 19112 -> 19112 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packs/tests/data/one_channel_LECROYWS4054HD.h5 b/packs/tests/data/one_channel_LECROYWS4054HD.h5 index e200c9e52119c3bde7fba031f9d2e71fa7c487e2..2f1803e111b29359060d5e32213390f3f947984a 100644 GIT binary patch delta 158 zcmZ26m2t&X#tmBRhHMOs3=9kfAOZ*kfDi;YxWE*H1B8N;%nTNjquE~y3o6(%aDYV} z7)-bsO#U-7O!nvSVrF7u+`NP%g>kY4yMizWg9KO!GoytN!~~1Y)?BfFm4XyI?cY>LaM+306YsBi~s-t delta 103 zcmZ26m2t&X#tmBR>?{n73=9k%lO3fr84V^!v%lmP0P;D2n1R7zayWoogj3#kGF0FLMs%>V!Z From e8044676261d0c880881607518871fa32c8c8b97 Mon Sep 17 00:00:00 2001 From: Tedsmith100 Date: Mon, 11 May 2026 17:15:14 +0100 Subject: [PATCH 6/6] add tolerance to float assertion rathern than asserting equals for float values --- packs/tests/processing_test.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packs/tests/processing_test.py b/packs/tests/processing_test.py index 11912ae..1dc1dc1 100644 --- a/packs/tests/processing_test.py +++ b/packs/tests/processing_test.py @@ -241,8 +241,19 @@ def test_WD1_Lecroy_decode_produces_expected_output(config, inpt, output, compar run_pack = [sys.executable, MULE_dir + "/bin/mule", "proc", temp_config] subprocess.run(run_pack) - # the event info can be read out like a normal h5, the RWF cannot due to how they're structured - assert pd.read_hdf(save_path, 'RAW/event_info').equals(pd.read_hdf(comparison_path, 'RAW/event_info')) + # load event info from both files for comparison + saved_event_info = pd.read_hdf(save_path, 'RAW/event_info') + comparison_event_info = pd.read_hdf(comparison_path, 'RAW/event_info') + + # compare integer columns exactly + exact_cols = ['event_number', 'timestamp', 'samples', 'channels'] + assert saved_event_info[exact_cols].equals(comparison_event_info[exact_cols]) + + # compare float columns with tolerance to account for floating point precision differences + np.testing.assert_allclose(saved_event_info['sampling_period'].values, + comparison_event_info['sampling_period'].values, + rtol=1e-10) + assert [x for x in reader(save_path, 'RAW', 'rwf')] == [x for x in reader(comparison_path, 'RAW', 'rwf')]