diff --git a/cal_tools/cal_tools/agipdlib.py b/cal_tools/cal_tools/agipdlib.py index 2c2de40f86486c5cdc165e91332680675cde0705..47198bc147d9c635f91742aee713981551aa8fd5 100644 --- a/cal_tools/cal_tools/agipdlib.py +++ b/cal_tools/cal_tools/agipdlib.py @@ -1291,16 +1291,24 @@ class AgipdCorrections: return_index=True, return_counts=True) - # Validate calculated CORR INDEX contents. + # Validate calculated CORR INDEX contents by checking difference between + # trainId stored in RAW data and trains from train_diff = np.isin(np.array(self.infile["/INDEX/trainId"]), uq, invert=True) # Insert zeros for missing trains. + # fidxv and cntsv should have same length as + # raw INDEX/.../image/first and INDEX/.../image/count, + # respectively for i, diff in enumerate(train_diff): if diff: if i < len(cntsv): cntsv = np.insert(cntsv, i, 0) - fidxv = np.insert(fidxv, i, 0) + if i == 0: + fidxv = np.insert(fidxv, i, 0) + else: + fidxv = np.insert(fidxv, i, fidxv[i-1]) else: + # append if at the end of the array cntsv = np.append(cntsv, 0) fidxv = np.append(fidxv, 0)