diff --git a/notebooks/DynamicFF/Characterize_DynamicFF_NBC.ipynb b/notebooks/DynamicFF/Characterize_DynamicFF_NBC.ipynb index dc41c2ed4b6ea603d0f89d33d34b5a24b7a1662f..60b07daeb644a80e6427440b6ffcf981c209ce66 100644 --- a/notebooks/DynamicFF/Characterize_DynamicFF_NBC.ipynb +++ b/notebooks/DynamicFF/Characterize_DynamicFF_NBC.ipynb @@ -22,15 +22,16 @@ "metadata_folder = \"\" # Directory containing calibration_metadata.yml when run by xfel-calibrate\n", "run_high = 1 # run number in which dark data was recorded, required\n", "run_low = 2 # run number in which flat-field data was recorded, required\n", - "operation_mode = \"TI_DynamicFF\" # Detector operation mode, optional (defaults to \"TI_DynamicFF\")\n", + "operation_mode = \"PCA_DynamicFF\" # Detector operation mode, optional (defaults to \"PCA_DynamicFF\")\n", "\n", "# Data files parameters.\n", "karabo_da = ['-1'] # data aggregators\n", "karabo_id = \"SPB_MIC_HPVX2\" # karabo prefix of Shimadzu HPV-X2 devices\n", "\n", "# Database access parameters.\n", - "cal_db_interface = \"tcp://max-exfl-cal001:8021\" # calibration DB interface to use\n", - "db_output = True # if True, the notebook sends dark constants to the calibration database\n", + "cal_db_interface = \"tcp://max-exfl-cal001:8021\" # Unused, calibration DB interface to use\n", + "cal_db_timeout = 30000 # Unused, calibration DB timeout\n", + "db_output = False # if True, the notebook sends dark constants to the calibration database\n", "local_output = True # if True, the notebook saves dark constants locally\n", "\n", "# Calibration constants parameters\n", @@ -63,10 +64,7 @@ "from cal_tools.step_timing import StepTimer\n", "from cal_tools.tools import (\n", " get_dir_creation_date,\n", - " get_random_db_interface,\n", - " get_report,\n", - " save_dict_to_hdf5,\n", - " run_prop_seq_from_path,\n", + " save_dict_to_hdf5\n", ")\n", "from cal_tools.restful_config import calibration_client\n", "from cal_tools.shimadzu import ShimadzuHPVX2\n", @@ -81,16 +79,12 @@ "metadata": {}, "outputs": [], "source": [ - "cal_db_interface = get_random_db_interface(cal_db_interface)\n", - "print(f'Calibration database interface: {cal_db_interface}')\n", - "print()\n", - "\n", "cc = calibration_client()\n", "pdus = cc.get_all_phy_det_units_from_detector(\n", - " {\"detector_identifier\": karabo_id})\n", + " {\"detector_identifier\": karabo_id}) # TODO: Use creation_time for snapshot_at\n", "\n", "if not pdus[\"success\"]:\n", - " raise ValueException(\"Failed to retrieve PDUs\")\n", + " raise ValueError(\"Failed to retrieve PDUs\")\n", "\n", "detector_info = pdus['data'][0]['detector']\n", "detector = ShimadzuHPVX2(detector_info[\"source_name_pattern\"])\n", @@ -117,6 +111,7 @@ " )\n", "\n", "constants = {}\n", + "\n", "step_timer = StepTimer()" ] }, @@ -165,7 +160,7 @@ "\n", " # process\n", " step_timer.start()\n", - " dark = dffc.process_dark(images_dark)\n", + " dark = dffc.process_dark(images_dark) # Amounts to a per-pixel mean right now.\n", "\n", " # put results in the dict\n", " module_constants = constants.setdefault(meta[\"db_module\"], {})\n", @@ -224,8 +219,8 @@ " dark_conditions = constants[meta[\"db_module\"]][\"Offset\"][\"conditions\"]\n", "\n", " if conditions != dark_conditions:\n", - " ValueError(\"The conditions for flat-field run does not match \"\n", - " \"the dark run conditions. Skip flat-field characterization.\")\n", + " raise ValueError(f\"The conditions for flat-field run {conditions}) do not match \"\n", + " f\"the dark run conditions ({dark_conditions}). Skip flat-field characterization.\")\n", "\n", " key_data = flat_dc[source_name][image_key]\n", " images_flat = key_data.ndarray()\n", diff --git a/notebooks/DynamicFF/Correct_DynamicFF_NBC.ipynb b/notebooks/DynamicFF/Correct_DynamicFF_NBC.ipynb index c3a875eca5afdc2126b061d9fd67d037fd42b2b1..e570cdf6df7df2e833c7685db7e46f21a0a4d114 100644 --- a/notebooks/DynamicFF/Correct_DynamicFF_NBC.ipynb +++ b/notebooks/DynamicFF/Correct_DynamicFF_NBC.ipynb @@ -27,7 +27,8 @@ "karabo_id = \"SPB_MIC_HPVX2\" # karabo prefix of Shimadzu HPV-X2 devices\n", "\n", "# Database access parameters.\n", - "cal_db_interface = \"tcp://max-exfl-cal001:8021\" # calibration DB interface to use\n", + "cal_db_interface = \"tcp://max-exfl-cal001:8021\" # Unused, calibration DB interface to use\n", + "cal_db_timeout = 30000 # Unused, calibration DB timeout\n", "\n", "# Correction parameters\n", "n_components = 20 # number of principal components of flat-field to use in correction\n", @@ -83,10 +84,10 @@ "\n", "cc = calibration_client()\n", "pdus = cc.get_all_phy_det_units_from_detector(\n", - " {\"detector_identifier\": karabo_id})\n", + " {\"detector_identifier\": karabo_id}) # TODO: Use creation_time for snapshot_at\n", "\n", "if not pdus[\"success\"]:\n", - " raise ValueException(\"Failed to retrieve PDUs\")\n", + " raise ValueError(\"Failed to retrieve PDUs\")\n", "\n", "detector_info = pdus['data'][0]['detector']\n", "detector = ShimadzuHPVX2(detector_info[\"source_name_pattern\"])\n", @@ -218,7 +219,7 @@ " # correct and write sequence files\n", " for seq_id, train_mask in sequence_trains(train_ids, 200):\n", " step_timer.start()\n", - " print('* sequience', seq_id)\n", + " print('* sequence', seq_id)\n", " seq_train_ids = train_ids[train_mask]\n", " seq_timestamps = ts[train_mask]\n", " dc_seq = dc.select_trains(by_id[seq_train_ids])\n", @@ -238,8 +239,8 @@ " for da in process_modules:\n", " instrument_source = modules[da][\"raw_source_name\"]\n", " keydata = dc_seq[instrument_source][image_key].drop_empty_trains()\n", - " count = keydata.data_counts()\n", - " i = np.flatnonzero(count.values)\n", + " count = keydata.data_counts(labelled=False)\n", + " i = np.flatnonzero(count)\n", " raw_images = keydata.select_trains(np.s_[i]).ndarray()\n", "\n", " # not pulse resolved\n",