org.esa.beam.util.math
Class Range

java.lang.Object
  extended by org.esa.beam.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 Summary
Range()
          Constructs a new range object.
Range(double min, double max)
          Constructs a new range object with the given minimum and maximum.
 
Method Summary
 void aggregate(Object values, boolean unsigned, IndexValidator validator, com.bc.ceres.core.ProgressMonitor pm)
           
static Range computeRangeByte(byte[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given byte array.
static Range computeRangeDouble(double[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given double array.
static Range computeRangeDouble(DoubleList values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given Range.DoubleList.
static Range computeRangeFloat(float[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given float array.
static Range computeRangeGeneric(Object values, boolean unsigned, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given Object.
static Range computeRangeInt(int[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given int array.
static Range computeRangeShort(short[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given short array.
static Range computeRangeUByte(byte[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given byte array.
static Range computeRangeUInt(int[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given int array.
static Range computeRangeUShort(short[] values, IndexValidator validator, Range range, com.bc.ceres.core.ProgressMonitor pm)
          Computes the value range for the values in the given short array.
 double getMax()
          Gets the maximum value.
 double getMin()
          Gets the mimimum value.
 boolean isValid()
          Checks if this range is valid.
 void setMax(double max)
          Sets the maximum value.
 void setMin(double min)
          Sets the mimimum value.
 void setMinMax(double min, double max)
          Sets the mimimum and maximum value.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 Detail

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,
                      com.bc.ceres.core.ProgressMonitor pm)

computeRangeByte

public static Range computeRangeByte(byte[] values,
                                     IndexValidator validator,
                                     Range range,
                                     com.bc.ceres.core.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,
                                      com.bc.ceres.core.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,
                                      com.bc.ceres.core.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,
                                       com.bc.ceres.core.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,
                                    com.bc.ceres.core.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,
                                     com.bc.ceres.core.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,
                                      com.bc.ceres.core.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,
                                       com.bc.ceres.core.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(DoubleList values,
                                       IndexValidator validator,
                                       Range range,
                                       com.bc.ceres.core.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,
                                        com.bc.ceres.core.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


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