Skip to content

Commit

Permalink
Merge branch 'tickets/DM-29569'
Browse files Browse the repository at this point in the history
  • Loading branch information
plazas committed Apr 6, 2021
2 parents f80de95 + fccf583 commit f1ea263
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions python/lsst/cp/pipe/ptc/cpSolvePtcTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,10 @@ def run(self, inputCovariances, camera=None, inputExpList=None):
datasetPtc.rawVars[ampName].append(partialPtcDataset.rawVars[ampName][0])
else:
datasetPtc.rawVars[ampName].append(partialPtcDataset.rawVars[ampName])
if type(partialPtcDataset.expIdMask[ampName]) is list:
datasetPtc.expIdMask[ampName].append(partialPtcDataset.expIdMask[ampName][0])
else:
datasetPtc.expIdMask[ampName].append(partialPtcDataset.expIdMask[ampName])
datasetPtc.covariances[ampName].append(np.array(partialPtcDataset.covariances[ampName][0]))
datasetPtc.covariancesSqrtWeights[ampName].append(
np.array(partialPtcDataset.covariancesSqrtWeights[ampName][0]))
Expand All @@ -241,10 +245,10 @@ def run(self, inputCovariances, camera=None, inputExpList=None):
datasetPtc.rawExpTimes[ampName] = np.array(datasetPtc.rawExpTimes[ampName])[index]
datasetPtc.rawMeans[ampName] = np.array(datasetPtc.rawMeans[ampName])[index]
datasetPtc.rawVars[ampName] = np.array(datasetPtc.rawVars[ampName])[index]
datasetPtc.expIdMask[ampName] = np.array(datasetPtc.expIdMask[ampName])[index]
datasetPtc.covariances[ampName] = np.array(datasetPtc.covariances[ampName])[index]
datasetPtc.covariancesSqrtWeights[ampName] = np.array(
datasetPtc.covariancesSqrtWeights[ampName])[index]

if self.config.ptcFitType == "FULLCOVARIANCE":
# Calculate covariances and fit them, including the PTC, to Astier+19 full model (Eq. 20)
# First, fit get the flat pairs that are masked, fitting C_00 vs mu to
Expand Down Expand Up @@ -607,7 +611,12 @@ def errFunc(p, x, y):
assert (len(mask) == len(timeVecOriginal) == len(meanVecOriginal) == len(varVecOriginal))
if not (mask.any() and newMask.any()):
continue
dataset.expIdMask[ampName] = mask # store the final mask
dataset.expIdMask[ampName] = np.array(dataset.expIdMask[ampName])
# store the final mask
if len(dataset.expIdMask[ampName]):
dataset.expIdMask[ampName] &= mask # bitwise_and if there is already a mask
else:
dataset.expIdMask[ampName] = mask
parsIniPtc = pars
meanVecFinal = meanVecOriginal[mask]
varVecFinal = varVecOriginal[mask]
Expand Down

0 comments on commit f1ea263

Please sign in to comment.