@@ -240,26 +240,26 @@ def write(self, filename, fillvalues=None):
240240 # be read by HDF5 1.10.
241241 with h5py .File (filename , 'w' , libver = ('v110' , 'v110' )) as f :
242242 f .create_dataset ('cxi_version' , data = [150 ])
243- d = f .create_dataset ('entry_1/experiment_identifier' ,
244- shape = experiment_ids .shape ,
245- dtype = h5py .special_dtype (vlen = str ))
243+ expgrp = f .create_group ('entry_1' )
244+ d = expgrp .create_dataset (
245+ 'experiment_identifier' ,
246+ shape = experiment_ids .shape ,
247+ dtype = h5py .special_dtype (vlen = str )
248+ )
246249 d [:] = experiment_ids
247250
248251 # proposal, run, pulseId, trainId, cellId are not part of
249252 # the CXI standard, but it allows extra data.
250253 run_metadata = self .detdata .data .run_metadata ()
251254 if 'proposalNumber' in run_metadata and 'runNumber' in run_metadata :
252- f .create_dataset (f'entry_1/proposalNumber' ,
253- data = run_metadata ['proposalNumber' ])
254- f .create_dataset (f'entry_1/runNumber' ,
255- data = run_metadata ['runNumber' ])
256- f .create_dataset (f'entry_1/{ self .pulse_id_label } ' , data = pulse_ids )
257- f .create_dataset ('entry_1/trainId' , data = self .train_ids_perframe )
258- cellids = f .create_virtual_dataset ('entry_1/cellId' ,
259- layouts [self .cell_id_label ])
255+ expgrp .attrs ['proposalNumber' ] = run_metadata ['proposalNumber' ]
256+ expgrp .attrs ['runNumber' ] = run_metadata ['runNumber' ]
257+ expgrp .create_dataset (f'{ self .pulse_id_label } ' , data = pulse_ids )
258+ expgrp .create_dataset ('trainId' , data = self .train_ids_perframe )
259+ cellids = expgrp .create_virtual_dataset ('cellId' , layouts [self .cell_id_label ])
260260 cellids .attrs ['axes' ] = 'experiment_identifier:module_identifier'
261261
262- dgrp = f .create_group ('entry_1/ instrument_1/detector_1' )
262+ dgrp = expgrp .create_group ('instrument_1/detector_1' )
263263 if len (layouts [data_label ].shape ) == 4 :
264264 axes_s = 'experiment_identifier:module_identifier:y:x'
265265 else :
0 commit comments