diff --git a/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb b/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb index 759a6a3c5eef2ff199736eff43b9c27451312328..4e9ae9715e8640678ab9f0719b46d9f426391f2d 100644 --- a/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb +++ b/notebooks/pnCCD/Characterize_pnCCD_Dark_NBC.ipynb @@ -35,9 +35,8 @@ "karabo_id = \"SQS_NQS_PNCCD1MP\" # karabo prefix of PNCCD devices\n", "receiver_id = \"PNCCD_FMT-0\" # inset for receiver devices\n", "path_template = 'RAW-R{:04d}-{}-S{{:05d}}.h5' # the template to use to access data\n", - "instrument_source_template = '{}/CAL/{}:output' # path in the HDF5 file the data is at\n", - "ctrl_source_template = '{}/CTRL/TCTRL'\n", - "mld_source_template = \"{}/MDL/{}\"\n", + "instrument_source_template = '{}/CAL/{}:output' # data source path in h5file. Template filled with karabo_id and receiver_id\n", + "ctrl_source_template = '{}/CTRL/TCTRL' # Control h5 source template. Filled with karabo_id\n", "\n", "# Database access parameters.\n", "use_dir_creation_date = True # use dir creation date as data production reference date\n", @@ -195,10 +194,9 @@ "\n", "# extract control data\n", "if karabo_da_control:\n", - " mdl_src = mld_source_template.format(karabo_id, \"{}\")\n", " ctrl_src = ctrl_source_template.format(karabo_id)\n", "\n", - " ctrl_data = pnccdlib.PnccdCtrl(run_dc, ctrl_src, mdl_src)\n", + " ctrl_data = pnccdlib.PnccdCtrl(run_dc, ctrl_src, karabo_id)\n", " \n", " if bias_voltage == 0:\n", " bias_voltage = ctrl_data.get_bias_voltage()\n", diff --git a/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb b/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb index 0215548d2180477d9bf1fceac16ae1a8d44c97e4..28edae959cecd442bc6a2d3c26c78e40797f6ae8 100644 --- a/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb +++ b/notebooks/pnCCD/Correct_pnCCD_NBC.ipynb @@ -27,11 +27,9 @@ "karabo_da_control = \"PNCCD02\" # file inset for control data\n", "karabo_id = \"SQS_NQS_PNCCD1MP\" # karabo prefix of PNCCD devices\n", "receiver_id = \"PNCCD_FMT-0\" # inset for receiver devices\n", - "path_template = 'RAW-R{:04d}-{}-S{:05d}.h5' # the template to use to access data\n", - "path_template_seqs = \"{}/r{:04d}/*PNCCD01-S*.h5\"\n", - "instrument_source_template = '{}/CAL/{}:output' # path to data in the HDF5 file \n", + "path_template = 'RAW-R{:04d}-{}-S{:05d}.h5' # the template to use to access data\n", + "instrument_source_template = '{}/CAL/{}:output' # path to data in the HDF5 file \n", "control_source_template = '{}/CTRL/TCTRL' # control source template\n", - "mdl_source_template = \"{}/MDL/{}\" # middlelayer source template\n", "\n", "overwrite = True # keep this as True to not overwrite the output \n", "\n", @@ -40,7 +38,7 @@ "commonModeAxis = 0 # axis along which common mode will be calculated, 0 = row, and 1 = column \n", "split_evt_primary_threshold = 4. # primary threshold for split event classification in terms of n sigma noise\n", "split_evt_secondary_threshold = 3. # secondary threshold for split event classification in terms of n sigma noise\n", - "saturated_threshold = 32000. # full well capacity in ADU\n", + "saturated_threshold = 32000. # full well capacity in ADU\n", "chunk_size_idim = 1 # H5 chunking size of output data\n", "# ONLY FOR TESTING\n", "limit_images = 0 # this parameter is used for limiting number of images to correct from a sequence file. ONLY FOR TESTING.\n", @@ -128,7 +126,7 @@ ")\n", "from cal_tools.step_timing import StepTimer\n", "from cal_tools import h5_copy_except\n", - "from iCalibrationDB import Conditions, ConstantMetaData, Constants, Detectors, Versions\n", + "from iCalibrationDB import Conditions, ConstantMetaData, Constants\n", "from iCalibrationDB.detectors import DetectorTypes\n", "\n", "profiler = xprof.Profiler()\n", @@ -192,10 +190,9 @@ "# extract control data\n", "if karabo_da_control:\n", " step_timer.start()\n", - " mdl_src = mdl_source_template.format(karabo_id, \"{}\")\n", " ctrl_src = control_source_template.format(karabo_id)\n", " run_dc = RunDirectory(Path(in_folder) / f\"r{run:04d}\")\n", - " ctrl_data = pnccdlib.PnccdCtrl(run_dc, ctrl_src, mdl_src)\n", + " ctrl_data = pnccdlib.PnccdCtrl(run_dc, ctrl_src, karabo_id)\n", "\n", " if bias_voltage == 0.:\n", " bias_voltage = ctrl_data.get_bias_voltage()\n", @@ -539,63 +536,50 @@ "source": [ "#***************** Histogram Calculators ******************#\n", "# Will contain uncorrected data:\n", - "histCalRaw = xcal.HistogramCalculator(\n", - " sensorSize, \n", - " bins=bins, \n", - " range=bin_range,\n", - " nCells=memoryCells,\n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - ")\n", + "histCalRaw = xcal.HistogramCalculator(sensorSize, \n", + " bins=bins, \n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)\n", "# Will contain offset corrected data:\n", - "histCalOffsetCor = xcal.HistogramCalculator(\n", - " sensorSize, \n", - " bins=bins, \n", - " range=bin_range,\n", - " nCells=memoryCells, \n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - ")\n", + "histCalOffsetCor = xcal.HistogramCalculator(sensorSize, \n", + " bins=bins, \n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)\n", "if corr_bools.get('common_mode'):\n", " # Will contain common mode corrected data:\n", - " histCalCommonModeCor = xcal.HistogramCalculator(\n", - " sensorSize,\n", - " bins=bins,\n", - " range=bin_range,\n", - " nCells=memoryCells,\n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - " )\n", - " \n", + " histCalCommonModeCor = xcal.HistogramCalculator(sensorSize,\n", + " bins=bins,\n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)\n", "if corr_bools.get('pattern_class'):\n", " # Will contain split events pattern data:\n", - " histCalPcorr = xcal.HistogramCalculator(\n", - " sensorSize,\n", - " bins=bins,\n", - " range=bin_range,\n", - " nCells=memoryCells, \n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - " )\n", + " histCalPcorr = xcal.HistogramCalculator(sensorSize,\n", + " bins=bins,\n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)\n", " # Will contain singles events data:\n", - " histCalPcorrS = xcal.HistogramCalculator(\n", - " sensorSize,\n", - " bins=bins,\n", - " range=bin_range,\n", - " nCells=memoryCells,\n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - " )\n", + " histCalPcorrS = xcal.HistogramCalculator(sensorSize,\n", + " bins=bins,\n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)\n", "if corr_bools.get('relgain'):\n", " # Will contain gain corrected data:\n", - " histCalGainCor = xcal.HistogramCalculator(\n", - " sensorSize,\n", - " bins=bins,\n", - " range=bin_range,\n", - " nCells=memoryCells,\n", - " blockSize=blockSize,\n", - " parallel=run_parallel,\n", - " )" + " histCalGainCor = xcal.HistogramCalculator(sensorSize,\n", + " bins=bins,\n", + " range=bin_range,\n", + " nCells=memoryCells, \n", + " parallel=run_parallel,\n", + " blockSize=blockSize)" ] }, { diff --git a/src/cal_tools/pnccdlib.py b/src/cal_tools/pnccdlib.py index 81284fb173153293fa58340b2c5b1576d9391c6e..a3c46f36dcd7561f525021bbf3ad4d66605f1140 100644 --- a/src/cal_tools/pnccdlib.py +++ b/src/cal_tools/pnccdlib.py @@ -14,37 +14,31 @@ class PnccdCtrl(): self, run_dc: "extra_data.DataCollection", # noqa ctrl_src: str, - mdl_src: str + karabo_id: str ): """ Extract control data from given control paths. :param run_dc: run Extra-data data collection. :param ctrl_src: control source available in run_dc. - :param mdl_src: middlelayer source available in run_dc. + :param karabo_id: Detector identifier name. """ self.run_dc = run_dc self.ctrl_src = ctrl_src - self.mdl_src = mdl_src + self.karabo_id = karabo_id def get_bias_voltage(self): return( abs(self.run_dc[ - self.mdl_src.format("DAQ_MPOD"), - "u0voltage.value" - ][0].ndarray()[0]) + f"{self.karabo_id}/MDL/DAQ_MPOD", "u0voltage.value"][0].ndarray()[0]) # noqa ) def get_gain(self): return( - abs(self.run_dc[ - self.mdl_src.format("DAQ_GAIN"), - "pNCCDGain.value" - ][0].ndarray()[0]) + self.run_dc[ + f"{self.karabo_id}/MDL/DAQ_GAIN", "pNCCDGain.value"][0].ndarray()[0] # noqa ) def get_fix_temperature_top(self): - return(self.run_dc[ - self.ctrl_src, "inputA.krdg.value"][0].ndarray()[0]) + return self.run_dc.get_run_value(self.ctrl_src, "inputA.krdg.value") def get_fix_temperature_bot(self): - return(self.run_dc[ - self.ctrl_src, "inputB.krdg.value"][0].ndarray()[0]) + return self.run_dc.get_run_value(self.ctrl_src, "inputB.krdg.value")