示例#1
0
    def testStarsResizeSpecifications(self):
        """Test creating an RGB image changing the output """

        rgbImages = [self.images[R], self.images[G], self.images[B]]
        map = rgb.AsinhZScaleMapping(rgbImages[0])

        for xSize, ySize, frac in [
            (self.images[R].getWidth() // 2, self.images[R].getHeight() // 2,
             None),
            (2 * self.images[R].getWidth(), None, None),
            (self.images[R].getWidth() // 2, None, None),
            (None, self.images[R].getHeight() // 2, None),
            (None, None, 0.5),
            (None, None, 2),
        ]:
            rgbImage = map.makeRgbImage(*rgbImages,
                                        xSize=xSize,
                                        ySize=ySize,
                                        rescaleFactor=frac)

            h, w = rgbImage.shape[0:2]
            self.assertTrue(xSize is None or xSize == w)
            self.assertTrue(ySize is None or ySize == h)
            self.assertTrue(
                frac is None or w == int(frac * self.images[R].getWidth()),
                "%g == %g" %
                (w, int((frac if frac else 1) * self.images[R].getWidth())))

            if display:
                rgb.displayRGB(rgbImage)
示例#2
0
文件: test_rgb.py 项目: jchiang87/afw
    def testStarsAsinhZscaleIntensityBW(self):
        """Test creating a black-and-white image using an asinh stretch estimated
        using zscale on the intensity"""

        rgbImage = rgb.AsinhZScaleMapping(self.images[R]).makeRgbImage()

        if display:
            rgb.displayRGB(rgbImage)
示例#3
0
文件: test_rgb.py 项目: jchiang87/afw
    def testStarsAsinhZscaleIntensity(self):
        """Test creating an RGB image using an asinh stretch estimated using zscale on the intensity"""

        rgbImages = [self.images[R], self.images[G], self.images[B]]

        map = rgb.AsinhZScaleMapping(rgbImages)
        rgbImage = map.makeRgbImage(*rgbImages)

        if display:
            rgb.displayRGB(rgbImage)
示例#4
0
    def __init__(self, image=None, Q=8):
        """Initialise an object able to carry out an asinh mapping

        @param image  image to use estimate minimum and dataRange using zscale (see AsinhNormalize)
        @param Q Softening parameter (default: 8)

        See Lupton et al., PASP 116, 133
        """
        Normalize.__init__(self)

        ## The object used to perform the desired mapping
        self.mapping = afwRgb.AsinhZScaleMapping(image, Q)
示例#5
0
文件: test_rgb.py 项目: jchiang87/afw
    def testStarsResizeToSize(self):
        """Test creating an RGB image of a specified size"""

        xSize = self.images[R].getWidth()//2
        ySize = self.images[R].getHeight()//2
        for rgbImages in ([self.images[R], self.images[G], self.images[B]],
                          [afwImage.ImageU(_.getArray().astype('uint16')) for _ in [
                              self.images[R], self.images[G], self.images[B]]]):
            rgbImage = rgb.AsinhZScaleMapping(rgbImages[0]).makeRgbImage(*rgbImages,
                                                                         xSize=xSize, ySize=ySize)

            if display:
                rgb.displayRGB(rgbImage)
示例#6
0
文件: test_rgb.py 项目: jchiang87/afw
    def testStarsAsinhZscaleIntensityPedestal(self):
        """Test creating an RGB image using an asinh stretch estimated using zscale on the intensity
        where the images each have a pedestal added"""

        rgbImages = [self.images[R], self.images[G], self.images[B]]

        pedestal = [100, 400, -400]
        for i, ped in enumerate(pedestal):
            rgbImages[i] += ped

        map = rgb.AsinhZScaleMapping(rgbImages, pedestal=pedestal)
        rgbImage = map.makeRgbImage(*rgbImages)

        if display:
            rgb.displayRGB(rgbImage)
示例#7
0
    def __init__(self, image=None, Q=8):
        """Initialise an object able to carry out an asinh mapping

        @param image  image to use estimate minimum and dataRange using zscale
                      (see AsinhNormalize)
        @param Q Softening parameter (default: 8)

        See Lupton et al., PASP 116, 133
        """

        # The object used to perform the desired mapping
        self.mapping = afwRgb.AsinhZScaleMapping(image, Q)

        vmin, vmax = self._getMinMaxQ()[0:2]
        # n.b. super() would call AsinhNormalize,
        # and I want to pass min/max to the baseclass
        Normalize.__init__(self, vmin, vmax)