Enum RGBRenderer.PansharpenType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<RGBRenderer.PansharpenType>
    Enclosing class:
    RGBRenderer

    public static enum RGBRenderer.PansharpenType
    extends java.lang.Enum<RGBRenderer.PansharpenType>
    Panchromatic sharpening uses a higher-resolution panchromatic image (or raster band) to fuse with a lower-resolution multiband raster dataset. The result produces a multiband raster dataset with the resolution of the panchromatic raster where the two rasters fully overlap.

    Several image companies provide low-resolution, multiband images and higher-resolution, panchromatic images of the same scenes. Panchromatic sharpening is used to increase the spatial resolution and provide a better visualization of a multiband image using the high-resolution, single-band image.

    Since:
    100.0.0
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      BROVEY
      The Brovey transformation is based on spectral modeling and was developed to increase the visual contrast in the high and low ends of the data's histogram.
      ESRI
      The Esri pan-sharpening transformation uses a weighted average and the additional near-infrared band (optional) to create its pan-sharpened output bands.
      GRAM_SCHMIDT
      The Gram-Schmidt pan-sharpening method is based on a general algorithm for vector orthogonalization — the Gram-Schmidt orthogonalization.
      IHS
      The IHS pan-sharpening method converts the multispectral image from RGB to intensity, hue, and saturation.
      MEAN
      The simple mean transformation method applies a simple mean averaging equation to each of the output band combinations.
      NONE
      None.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static RGBRenderer.PansharpenType valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static RGBRenderer.PansharpenType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • IHS

        public static final RGBRenderer.PansharpenType IHS
        The IHS pan-sharpening method converts the multispectral image from RGB to intensity, hue, and saturation. The low-resolution intensity is replaced with the high-resolution panchromatic image. If the multispectral image contains an infrared band, it is taken into account by subtracting it using a weighting factor. The equation used to derive the altered intensity value is as follows: Intensity = P - I * IW

        Then the image is back-transformed from IHS to RGB in the higher resolution.

        Since:
        100.0.0
      • BROVEY

        public static final RGBRenderer.PansharpenType BROVEY
        The Brovey transformation is based on spectral modeling and was developed to increase the visual contrast in the high and low ends of the data's histogram. It uses a method that multiplies each resampled, multispectral pixel by the ratio of the corresponding panchromatic pixel intensity to the sum of all the multispectral intensities. It assumes that the spectral range spanned by the panchromatic image is the same as that covered by the multispectral channels.

        In the Brovey transformation, the general equation uses red, green, and blue (RGB) and the panchromatic bands as inputs to output new red, green, and blue bands.

        Since:
        100.0.0
      • MEAN

        public static final RGBRenderer.PansharpenType MEAN
        The simple mean transformation method applies a simple mean averaging equation to each of the output band combinations.
        Since:
        100.0.0
      • ESRI

        public static final RGBRenderer.PansharpenType ESRI
        The Esri pan-sharpening transformation uses a weighted average and the additional near-infrared band (optional) to create its pan-sharpened output bands. The result of the weighted average is used to create an adjustment value (ADJ) that is then used in calculating the output values.

        The weights for the multispectral bands depend on the overlap of the spectral sensitivity curves of the multispectral bands with the panchromatic band. The weights are relative and will be normalized when they are used. The multispectral band with the largest overlap with the panchromatic band should get the largest weight. A multispectral band that does not overlap at all with the panchromatic band should get a weight of 0. By changing the near-infrared weight value, the green output can be made more or less vibrant.

        Since:
        100.0.0
      • GRAM_SCHMIDT

        public static final RGBRenderer.PansharpenType GRAM_SCHMIDT
        The Gram-Schmidt pan-sharpening method is based on a general algorithm for vector orthogonalization — the Gram-Schmidt orthogonalization. This algorithm takes in vectors (for example, 3 vectors in 3D space) that are not orthogonal, and then rotates them so that they are orthogonal afterward. In the case of images, each band (panchromatic, red, green, blue, and infrared) corresponds to one high-dimensional vector (#dimensions = #pixels).

        In the IHS pan-sharpening method, the multispectral bands are decorrelated by transforming them into IHS space. The low-resolution intensity band gets replaced by the high-resolution pan band, and the result is back-transformed in high resolution to get the high-resolution multispectral (MS) bands.

        In the Gram-Schmidt pan-sharpening method, the first step is to create a low-resolution pan band by computing a weighted average of the MS bands. Next, these bands are decorrelated using the Gram-Schmidt orthogonalization algorithm, treating each band as one multidimensional vector. The simulated low-resolution pan band is used as the first vector; which is not rotated or transformed. The low-resolution pan band is then replaced by the high-resolution pan band, and all bands are back-transformed in high resolution.

        Some suggested weights for common sensors are (order: red, green, blue, infrared) as follows:

        • GeoEye—0.6, 0.85, 0.75, 0.3
        • IKONOS—0.85, 0.65, 0.35, 0.9
        • QuickBird—0.85, 0.7, 0.35, 1.0
        • WorldView-2—0.95, 0.7, 0.5, 1.0
        Since:
        100.0.0
    • Method Detail

      • values

        public static RGBRenderer.PansharpenType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (RGBRenderer.PansharpenType c : RGBRenderer.PansharpenType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static RGBRenderer.PansharpenType valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null