Skip to content

Commit 85f13b0

Browse files
authored
Merge pull request #454 from lsst/tickets/DM-54624
Add variance to spatiallySampledMetrics
2 parents 3687d24 + 06ef5fb commit 85f13b0

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

python/lsst/ip/diffim/computeSpatiallySampledMetrics.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,26 @@ def __init__(self, **kwargs):
143143
"template_value", "F",
144144
"Median of template at location.",
145145
units="nJy")
146+
self.schema.addField(
147+
"template_variance", "F",
148+
"Median of template variance at location.",
149+
units="nJy^2")
146150
self.schema.addField(
147151
"science_value", "F",
148152
"Median of science at location.",
149153
units="nJy")
154+
self.schema.addField(
155+
"science_variance", "F",
156+
"Median of science variance at location.",
157+
units="nJy^2")
150158
self.schema.addField(
151159
"diffim_value", "F",
152160
"Median of diffim at location.",
153161
units="nJy")
162+
self.schema.addField(
163+
"diffim_variance", "F",
164+
"Median of diffim variance at location.",
165+
units="nJy^2")
154166
self.schema.addField(
155167
"science_psfSize", "F",
156168
"Width of the science image PSF at location.",
@@ -231,8 +243,8 @@ def run(self, science, template, difference, diaSources, psfMatchingKernel):
231243
self._evaluateLocalMetric(src, science, template, difference, diaSources,
232244
metricsMaskPlanes=metricsMaskPlanes,
233245
psfMatchingKernel=psfMatchingKernel)
234-
235-
return pipeBase.Struct(spatiallySampledMetrics=spatiallySampledMetrics.asAstropy())
246+
spatiallySampledMetrics = spatiallySampledMetrics.copy(deep=True).asAstropy()
247+
return pipeBase.Struct(spatiallySampledMetrics=spatiallySampledMetrics)
236248

237249
def _evaluateLocalMetric(self, src, science, template, difference, diaSources,
238250
metricsMaskPlanes, psfMatchingKernel):
@@ -283,13 +295,19 @@ def _evaluateLocalMetric(self, src, science, template, difference, diaSources,
283295
src.set('dipole_separation', meanDipoleSeparation)
284296

285297
templateVal = np.median(template[bbox].image.array)
298+
templateVar = np.median(template[bbox].variance.array)
286299
scienceVal = np.median(science[bbox].image.array)
300+
scienceVar = np.median(science[bbox].variance.array)
287301
diffimVal = np.median(difference[bbox].image.array)
302+
diffimVar = np.median(difference[bbox].variance.array)
288303
src.set('source_density', sourceDensity)
289304
src.set('dipole_density', dipoleDensity)
290305
src.set('template_value', templateVal)
306+
src.set('template_variance', templateVar)
291307
src.set('science_value', scienceVal)
308+
src.set('science_variance', scienceVar)
292309
src.set('diffim_value', diffimVal)
310+
src.set('diffim_variance', diffimVar)
293311
for maskPlane in metricsMaskPlanes:
294312
src.set("%s_mask_fraction"%maskPlane.lower(),
295313
evaluateMaskFraction(difference.mask[bbox], maskPlane)

0 commit comments

Comments
 (0)