Class Stx


  • public class Stx
    extends Object
    Provides statistic information for a raster data node at a given image resolution level. Instances of the Stx class are created using the StxFactory.

    Important note: This class has been revised in BEAM 4.10. All behaviour has been moved to StxFactory leaving behind this class as a pure data container. Statistics are now furthermore derived upon geo-physically interpreted image data (before it operated on the raw, unscaled data). Thus, it is not required to scale the returned statistical properties, e.g. we used to write band.scale(stx.getMean). This is not required anymore.

    Since:
    BEAM 4.2, full revision in 4.10
    • Field Detail

      • LOG10_SCALING

        public static final Scaling LOG10_SCALING
    • Constructor Detail

      • Stx

        public Stx​(double minimum,
                   double maximum,
                   double mean,
                   double standardDeviation,
                   double coeffOfVariation,
                   double enl,
                   boolean logHistogram,
                   boolean intHistogram,
                   javax.media.jai.Histogram histogram,
                   int resolutionLevel)
        Constructor. Avoid using it directly. instead, use the StxFactory since the constructor may change in the future.
        Parameters:
        minimum - the minimum value, if it is Double.NaN the minimum is taken from the histogram
        maximum - the maximum value, if it is Double.NaN the maximum is taken from the histogram
        mean - the mean value, if it is Double.NaN the mean is taken from the histogram
        standardDeviation - the value of the standard deviation, if it is Double.NaN it is taken from the histogram
        coeffOfVariation - the Coefficient of Variation
        enl - Equivalent number of looks
        logHistogram - true if the histogram has been computed on logarithms, see getHistogram()
        intHistogram - true if the histogram has been computed from integer samples, see getHistogram()
        histogram - the histogram
        resolutionLevel - the resolution level this Stx is for
    • Method Detail

      • getMinimum

        public double getMinimum()
        Returns:
        The minimum value.
      • getMaximum

        public double getMaximum()
        Returns:
        The maximum value.
      • getMean

        public double getMean()
        Returns:
        The mean value.
      • getMedian

        public double getMedian()
        Returns:
        The median value (estimation based on Gaussian distribution).
      • getStandardDeviation

        public double getStandardDeviation()
        Returns:
        The standard deviation value.
      • getCoefficientOfVariation

        public double getCoefficientOfVariation()
      • getEquivalentNumberOfLooks

        public double getEquivalentNumberOfLooks()
      • getHistogram

        public javax.media.jai.Histogram getHistogram()
        Gets the histogram computed from image samples.

        The returned histogram may have been computed on the logarithms of image samples. In this case isLogHistogram() returns true and it is expected that the histogram has been computed from logarithms (base 10) of image samples. Therefore, any statistical property retrieved from the returned histogram object such as low value, high value, bin low value, mean, moment, entropy, etc. must be raised to the power of 10. Scaling is best done using the getHistogramScaling() object.

        The returned histogram may furthermore be computed from integer image data. In this case isIntHistogram() returns true and the high value of the histogram is by one higher than the value returned by getMinimum().

        The numBands property of the histogram will always be 1.

        Returns:
        The histogram.
        See Also:
        isIntHistogram(), isLogHistogram(), getHistogramScaling()
      • isIntHistogram

        public boolean isIntHistogram()
        Returns:
        true if the histogram is computed from integer samples.
        See Also:
        getHistogram()
      • getHistogramBinMinimum

        public double getHistogramBinMinimum​(int binIndex)
        Gets the (inclusive) minimum value of the histogram bin given by the bin index.

        The value returned is in units of the image samples, histogram scaling is already applied

        Parameters:
        binIndex - The bin index.
        Returns:
        The (inclusive) minimum value of the bin given by the bin index.
      • getHistogramBinMaximum

        public double getHistogramBinMaximum​(int binIndex)
        Gets the (exclusive) maximum value of the histogram bin given by the bin index.

        The value returned is in units of the image samples, histogram scaling is already applied

        Parameters:
        binIndex - The bin index.
        Returns:
        The (exclusive) maximum value of the bin given by the bin index.
      • getHistogramBinWidth

        public double getHistogramBinWidth()
        Gets the width of any histogram bin.

        The method's return value is undefined if isLogHistogram() returns true. In this case you will have to use getHistogramBinWidth(int).

        Returns:
        The width of any histogram bin.
      • getHistogramBinWidth

        public double getHistogramBinWidth​(int binIndex)
        Gets the width of the histogram bin given by the bin index.

        The value returned is in units of the image samples, histogram scaling is already applied

        Parameters:
        binIndex - The bin index.
        Returns:
        The width of the bin given by the bin index.
      • getHistogramBins

        public int[] getHistogramBins()
        Returns:
        The histogram bins (sample counts).
      • getHistogramBinCount

        public int getHistogramBinCount()
        Returns:
        The number of bins.
      • getHistogramScaling

        public Scaling getHistogramScaling()
        Returns:
        The image sample scaling used for deriving the histogram.
      • getSampleCount

        public long getSampleCount()
        Returns:
        The total number of samples seen.
      • getResolutionLevel

        public int getResolutionLevel()
        Returns:
        The image resolution level.