diff --git a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb index b47dea5b89b8b740f3567980c56d4d139e5d0bc1..392e0fd2197db8f5eee7c92bafdbe0e6726a9906 100644 --- a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb +++ b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb @@ -270,26 +270,6 @@ "print(f\"Detector instance {dinstance}\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Display Information about the selected pulses indices for correction.\n", - "pulses_lst = list(range(*max_pulses)) if not (len(max_pulses)==1 and max_pulses[0]==0) else max_pulses\n", - "\n", - "try:\n", - " if len(pulses_lst) > 1:\n", - " print(\"A range of {} pulse indices is selected: from {} to {} with a step of {}\"\n", - " .format(len(pulses_lst), pulses_lst[0] , pulses_lst[-1] + (pulses_lst[1] - pulses_lst[0]),\n", - " pulses_lst[1] - pulses_lst[0]))\n", - " else:\n", - " print(f\"one pulse is selected: a pulse of idx {pulses_lst[0]}\")\n", - "except Exception as e:\n", - " raise ValueError(f\"max_pulses input Error: {e}\")" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/src/cal_tools/agipdlib.py b/src/cal_tools/agipdlib.py index 2881c9589828ae8b1c6dbebeb4eea3b457bb3250..91eebf23d81f656fecfd91acc92dda1fc1de7475 100644 --- a/src/cal_tools/agipdlib.py +++ b/src/cal_tools/agipdlib.py @@ -247,13 +247,37 @@ class AgipdCorrections: # Data description self.h5_data_path = h5_data_path self.h5_index_path = h5_index_path - self.rng_pulses = max_pulses # avoid list(range(*[0]])) + + self.rng_pulses = [202 if p > 202 else p for p in max_pulses] + self.pulses_lst = ( - list(range(*max_pulses)) - if max_pulses != [0] - else max_pulses + list(range(*self.rng_pulses)) + if self.rng_pulses != [0] + else self.rng_pulses ) + if self.rng_pulses != max_pulses: + print( + "WARNING: \"max_pulses\" list has been modified from " + f"{max_pulses} to {self.rng_pulses}. As the number of " + "operating memory cells are less than the selected " + "maximum pulse." + ) + + try: + if len(self.pulses_lst) > 1: + print( + f"A range of {len(self.pulses_lst)} pulse indices " + f"is selected: from {self.pulses_lst[0]} to " + f"{self.pulses_lst[-1]+(self.pulses_lst[1]-self.pulses_lst[0])}" # noqa + f" with a step of {self.pulses_lst[1] - self.pulses_lst[0]}." # noqa + ) + else: + print( + "one pulse is selected: a pulse of idx" + f" {self.pulses_lst[0]}.") + except Exception as e: + raise ValueError(f"\"max_pulses\" input Error: {e}") self.max_cells = max_cells self.gain_mode = gain_mode