org.esa.beam.framework.datamodel
Class Stx

java.lang.Object
  extended by org.esa.beam.framework.datamodel.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
Author:
Norman Fomferra, Marco Peters, Ralf Quast

Field Summary
static int DEFAULT_BIN_COUNT
           
static Scaling LOG10_SCALING
           
 
Constructor Summary
Stx(double minimum, double maximum, double mean, double standardDeviation, boolean logHistogram, boolean intHistogram, javax.media.jai.Histogram histogram, int resolutionLevel)
          Constructor.
 
Method Summary
static Stx create(RasterDataNode raster, int level, int binCount, double min, double max, com.bc.ceres.core.ProgressMonitor pm)
          Deprecated. since BEAM 4.10, use StxFactory instead.
static Stx create(RasterDataNode raster, int level, com.bc.ceres.core.ProgressMonitor pm)
          Deprecated. since BEAM 4.10, use StxFactory instead.
static Stx create(RasterDataNode raster, Mask roiMask, int binCount, double min, double max, com.bc.ceres.core.ProgressMonitor pm)
          Deprecated. since BEAM 4.10, use StxFactory instead.
static Stx create(RasterDataNode raster, Mask roiMask, int binCount, com.bc.ceres.core.ProgressMonitor pm)
          Deprecated. since BEAM 4.10, use StxFactory instead.
static Stx create(RasterDataNode raster, Mask roiMask, com.bc.ceres.core.ProgressMonitor pm)
          Deprecated. since BEAM 4.10, use StxFactory instead.
 javax.media.jai.Histogram getHistogram()
          Gets the histogram computed from image samples.
 int getHistogramBinCount()
           
 double getHistogramBinMax(int binIndex)
          Deprecated. since BEAM 4.10, use getHistogramBinMaximum(int)
 double getHistogramBinMaximum(int binIndex)
          Gets the (exclusive) maximum value of the histogram bin given by the bin index.
 double getHistogramBinMin(int binIndex)
          Deprecated. since BEAM 4.10, use getHistogramBinMinimum(int)
 double getHistogramBinMinimum(int binIndex)
          Gets the (inclusive) minimum value of the histogram bin given by the bin index.
 int[] getHistogramBins()
           
 double getHistogramBinWidth()
          Gets the width of any histogram bin.
 double getHistogramBinWidth(int binIndex)
          Gets the width of the histogram bin given by the bin index.
 Scaling getHistogramScaling()
           
 double getMax()
          Deprecated. since BEAM 4.10, use getMaximum() ()}
 double getMaximum()
           
 double getMean()
           
 double getMedian()
           
 double getMin()
          Deprecated. since BEAM 4.10, use getMinimum()
 double getMinimum()
           
 int getResolutionLevel()
           
 long getSampleCount()
           
 double getStandardDeviation()
           
 boolean isIntHistogram()
           
 boolean isLogHistogram()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BIN_COUNT

public static final int DEFAULT_BIN_COUNT
See Also:
Constant Field Values

LOG10_SCALING

public static final Scaling LOG10_SCALING
Constructor Detail

Stx

public Stx(double minimum,
           double maximum,
           double mean,
           double standardDeviation,
           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
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.

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()

isLogHistogram

public boolean isLogHistogram()
Returns:
true if the histogram is computed from log-samples.
See Also:
getHistogram(), getHistogramScaling()

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.

getHistogramBinMin

@Deprecated
public double getHistogramBinMin(int binIndex)
Deprecated. since BEAM 4.10, use getHistogramBinMinimum(int)


getHistogramBinMax

@Deprecated
public double getHistogramBinMax(int binIndex)
Deprecated. since BEAM 4.10, use getHistogramBinMaximum(int)


getMin

@Deprecated
public double getMin()
Deprecated. since BEAM 4.10, use getMinimum()


getMax

@Deprecated
public double getMax()
Deprecated. since BEAM 4.10, use getMaximum() ()}


create

@Deprecated
public static Stx create(RasterDataNode raster,
                                    int level,
                                    com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.10, use StxFactory instead.

Creates statistics for the given raster data node at the given resolution level.

Parameters:
raster - The raster data node.
level - The image resolution level.
pm - A progress monitor.
Returns:
The statistics at the given resolution level.

create

@Deprecated
public static Stx create(RasterDataNode raster,
                                    Mask roiMask,
                                    com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.10, use StxFactory instead.

Creates (accurate) statistics for the given raster data node.

Parameters:
raster - The raster data node.
roiMask - The mask that determines the region of interest.
pm - A progress monitor.
Returns:
The (accurate) statistics.

create

@Deprecated
public static Stx create(RasterDataNode raster,
                                    Mask roiMask,
                                    int binCount,
                                    com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.10, use StxFactory instead.

Creates (accurate) statistics for the given raster data node.

Parameters:
raster - The raster data node.
roiMask - The mask that determines the region of interest.
binCount - The number of bin cells used for the histogram.
pm - A progress monitor.
Returns:
The (accurate) statistics.

create

@Deprecated
public static Stx create(RasterDataNode raster,
                                    int level,
                                    int binCount,
                                    double min,
                                    double max,
                                    com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.10, use StxFactory instead.

Creates (accurate) statistics for the given raster data node.

Parameters:
raster - The raster data node.
level - The image resolution level.
binCount - The number of bin cells used for the histogram.
min - The minimum value.
max - The maximum value.
pm - A progress monitor.
Returns:
The (accurate) statistics.

create

@Deprecated
public static Stx create(RasterDataNode raster,
                                    Mask roiMask,
                                    int binCount,
                                    double min,
                                    double max,
                                    com.bc.ceres.core.ProgressMonitor pm)
Deprecated. since BEAM 4.10, use StxFactory instead.

Creates (accurate) statistics for the given raster data node.

Parameters:
raster - The raster data node.
roiMask - The mask that determines the region of interest.
binCount - The number of bin cells used for the histogram.
min - The minimum value.
max - The maximum value.
pm - A progress monitor.
Returns:
The (accurate) statistics.


Copyright © 2002-2013 Brockmann Consult GmbH. All Rights Reserved.