From 2993f1e700c5da219cbdce39b3ea2b3dbc67d5dd Mon Sep 17 00:00:00 2001 From: Thomas Kluyver <thomas.kluyver@xfel.eu> Date: Thu, 4 Aug 2022 16:28:21 +0200 Subject: [PATCH] Move ROI parameters to RUN section --- ...Jungfrau_Gain_Correct_and_Verify_NBC.ipynb | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/notebooks/Jungfrau/Jungfrau_Gain_Correct_and_Verify_NBC.ipynb b/notebooks/Jungfrau/Jungfrau_Gain_Correct_and_Verify_NBC.ipynb index b73acd7ae..9bd9950e4 100644 --- a/notebooks/Jungfrau/Jungfrau_Gain_Correct_and_Verify_NBC.ipynb +++ b/notebooks/Jungfrau/Jungfrau_Gain_Correct_and_Verify_NBC.ipynb @@ -396,7 +396,8 @@ " \"\"\"If ROIs are defined for this karabo_da, reduce them and save to the output file\"\"\"\n", " rois_defined = 0\n", " module_no = int(karabo_da[-2:])\n", - " rois_source = f'{karabo_id}/ROIPROC/{karabo_da}:output/data'\n", + " params_source = f'{karabo_id}/ROIPROC/{karabo_da}'\n", + " rois_source = f'{params_source}:output/data'\n", " \n", " for i in range(len(roi_definitions) // 6):\n", " roi_module, a1, a2, b1, b2, mean_axis = roi_definitions[i*6 : (i+1)*6]\n", @@ -410,14 +411,18 @@ " f'INSTRUMENT/{rois_source}/roi{rois_defined}/data',\n", " data=roi_data\n", " )\n", - " region_arr = np.zeros((data_corr.shape[0], 4), dtype=np.uint16)\n", - " region_arr[:] = [a1, a2, b1, b2]\n", - " ofile[f'INSTRUMENT/{rois_source}/roi{rois_defined}/region'] = region_arr\n", + " ofile.create_group(f'CONTROL/{params_source}')\n", + " params_grp = ofile.create_group(f'RUN/{params_source}/roi{rois_defined}')\n", + " params_grp['region'] = np.array([[a1, a2, b1, b2]])\n", + " params_grp['reduce_axis'] = np.array([mean_axis])\n", " \n", " if rois_defined:\n", " # Copy the index for the new source\n", " ofile.copy(f'INDEX/{karabo_id}/DET/{karabo_da}:daqOutput/data',\n", " f'INDEX/{rois_source}')\n", + " ntrains = ofile['INDEX/trainId'].shape[0]\n", + " ofile.create_dataset(f'INDEX/{params_source}/count', shape=(ntrains,), dtype=np.uint64)\n", + " ofile.create_dataset(f'INDEX/{params_source}/first', shape=(ntrains,), dtype=np.uint64)\n", " \n", " # Add the new source to the list in METADATA\n", " if 'dataSourceId' in ofile['METADATA']:\n", @@ -427,13 +432,15 @@ " # Newer file format\n", " data_sources_grp = ofile['METADATA/dataSources']\n", " \n", - " def append(dset, value):\n", - " dset.resize(dset.shape[0] + 1, axis=0)\n", - " dset[-1] = value\n", + " def extend(dset, values):\n", + " dset.resize(dset.shape[0] + len(values), axis=0)\n", + " dset[-len(values):] = values\n", " \n", - " append(data_sources_grp['root'], 'INSTRUMENT')\n", - " append(data_sources_grp['deviceId'], rois_source)\n", - " append(data_sources_grp['dataSourceId'], f'INSTRUMENT/{rois_source}')\n" + " extend(data_sources_grp['root'], ['CONTROL', 'INSTRUMENT'])\n", + " extend(data_sources_grp['deviceId'], [params_source, rois_source])\n", + " extend(data_sources_grp['dataSourceId'], [\n", + " f'CONTROL/{params_source}', f'INSTRUMENT/{rois_source}']\n", + " )\n" ] }, { -- GitLab