Skip to content

Commit f948bfd

Browse files
committed
Store proposal and run numbers as attributes of the experiment entry.
1 parent f25c122 commit f948bfd

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

extra_data/write_cxi.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)