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 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
Exemplo n.º 4
0
    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)