def checkMoments(self, dEllipseCore, dCenter, wEllipseCore, wCenter): dEllipse = el.Ellipse(dEllipseCore, dCenter) image = lsst.afw.image.MaskedImageF(self.bbox) image.getImage().getArray()[:,:] = self.evaluateGaussian(dEllipse) wEllipse = el.Ellipse(wEllipseCore, wCenter) result = SimpleShape.measure(wEllipse, image) return result
def buildImageAndMoments(self, dEllipseCore, dCenter, wEllipseCore, wCenter): ''' Generates a elliptical Gaussian image from input ellipse (dEllipse) and uses an elliptical Gaussian (wEllipse) to calculate the shape of the generated image. ''' dEllipse = el.Ellipse(dEllipseCore, dCenter) image = lsst.afw.image.MaskedImageF(self.bbox) image.getImage().getArray()[:, :] = self.evaluateGaussian(dEllipse) wEllipse = el.Ellipse(wEllipseCore, wCenter) result = SimpleShape.computeMoments(wEllipse, image) return result
def checkCompressedMaskedImage(self, image, imageOptions, maskOptions, varianceOptions, atol=0.0): """Check that compression works on a MaskedImage Parameters ---------- image : `lsst.afw.image.MaskedImage` or `lsst.afw.image.Exposure` MaskedImage or exposure to compress. imageOptions, maskOptions, varianceOptions : `lsst.afw.fits.ImageWriteOptions` Parameters for writing (compression and scaling) the image, mask and variance planes. atol : `float` Absolute tolerance for comparing unpersisted image. """ with lsst.utils.tests.getTempFilePath(self.extension) as filename: self.readWriteMaskedImage(image, filename, imageOptions, maskOptions, varianceOptions) unpersisted = type(image)(filename) if hasattr(image, "getMaskedImage"): image = image.getMaskedImage() unpersisted = unpersisted.getMaskedImage() self.assertEqual(image.getBBox(), unpersisted.getBBox()) self.assertImagesAlmostEqual(unpersisted.getImage(), image.getImage(), atol=atol) self.assertImagesAlmostEqual(unpersisted.getMask(), image.getMask(), atol=atol) self.assertImagesAlmostEqual(unpersisted.getVariance(), image.getVariance(), atol=atol) for mp in image.getMask().getMaskPlaneDict(): self.assertIn(mp, unpersisted.getMask().getMaskPlaneDict()) unpersisted.getMask().getPlaneBitMask(mp)