Class Range

java.lang.Object
org.esa.snap.core.util.math.Range
Direct Known Subclasses:
Histogram

public class Range extends Object
Instances of the Range class provide a minimum and a maximum value of type double.
  • Constructor Details

    • Range

      public Range()
      Constructs a new range object. Minimum and maximum are set to zero.
    • Range

      public Range(double min, double max)
      Constructs a new range object with the given minimum and maximum.
      Parameters:
      min - the minimum value
      max - the maximum value
  • Method Details

    • getMin

      public double getMin()
      Gets the mimimum value.
      Returns:
      the mimimum value
    • setMin

      public void setMin(double min)
      Sets the mimimum value.
      Parameters:
      min - the mimimum value
    • getMax

      public double getMax()
      Gets the maximum value.
      Returns:
      the maximum value
    • setMax

      public void setMax(double max)
      Sets the maximum value.
      Parameters:
      max - the maximum value
    • setMinMax

      public void setMinMax(double min, double max)
      Sets the mimimum and maximum value.
      Parameters:
      min - the mimimum value
      max - the maximum value
    • isValid

      public boolean isValid()
      Checks if this range is valid.
      Returns:
      true if minimum value is greater than the maximum value
    • aggregate

      public void aggregate(Object values, boolean unsigned, IndexValidator validator, ProgressMonitor pm)
    • computeRangeByte

      public static Range computeRangeByte(byte[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given byte array. The array elements are interpreted as signed byte values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeUByte

      public static Range computeRangeUByte(byte[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given byte array. The array elements are interpreted as unsigned byte values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeShort

      public static Range computeRangeShort(short[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given short array. The array elements are interpreted as signed short values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeUShort

      public static Range computeRangeUShort(short[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given short array. The array elements are interpreted as unsigned short values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      Returns:
      the value range for the given array
    • computeRangeInt

      public static Range computeRangeInt(int[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given int array. The array elements are interpreted as signed int values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeUInt

      public static Range computeRangeUInt(int[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given int array. The array elements are interpreted as unsigned int values. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeFloat

      public static Range computeRangeFloat(float[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given float array. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeDouble

      public static Range computeRangeDouble(double[] values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given double array. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the array whose value range to compute
      validator - used to validate the array indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given array
    • computeRangeDouble

      public static Range computeRangeDouble(double[] values, Range range)
      Computes the value range for the values in the given double array.
      Parameters:
      values - the array whose value range to compute
      range - if not null, used as return value, otherwise a new instance is created
      Returns:
      the value range for the given array
    • computeRangeDouble

      public static Range computeRangeDouble(DoubleList values, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given Range.DoubleList. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.
      Parameters:
      values - the Range.DoubleList whose value range to compute
      validator - used to validate the indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given values
    • computeRangeGeneric

      public static Range computeRangeGeneric(Object values, boolean unsigned, IndexValidator validator, Range range, ProgressMonitor pm)
      Computes the value range for the values in the given Object. Values at a given index i for which validator.validate(i) returns false are excluded from the computation.

      Supportet types for the values object:
      byte[], short[], int[], float[], double[], DoubleList
      Parameters:
      values - the Object whose value range to compute
      unsigned - if true interprete all the values as unsignet type.
      validator - used to validate the indexes, must not be null. Use IndexValidator.TRUE instead.
      range - if not null, used as return value, otherwise a new instance is created
      pm - a monitor to inform the user about progress
      Returns:
      the value range for the given values
      Throws:
      IllegalArgumentException - if the given object is not an istance of the supported types.
    • toString

      public String toString()
      Overrides:
      toString in class Object