Package org.esa.snap.core.util.math
Class Range
java.lang.Object
org.esa.snap.core.util.math.Range
- Direct Known Subclasses:
Histogram
Instances of the
Range class provide a minimum and a maximum value of type double.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaggregate(Object values, boolean unsigned, IndexValidator validator, ProgressMonitor pm) static RangecomputeRangeByte(byte[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenbytearray.static RangecomputeRangeDouble(double[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givendoublearray.static RangecomputeRangeDouble(double[] values, Range range) Computes the value range for the values in the givendoublearray.static RangecomputeRangeDouble(DoubleList values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenRange.DoubleList.static RangecomputeRangeFloat(float[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenfloatarray.static RangecomputeRangeGeneric(Object values, boolean unsigned, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenObject.static RangecomputeRangeInt(int[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenintarray.static RangecomputeRangeShort(short[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenshortarray.static RangecomputeRangeUByte(byte[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenbytearray.static RangecomputeRangeUInt(int[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenintarray.static RangecomputeRangeUShort(short[] values, IndexValidator validator, Range range, ProgressMonitor pm) Computes the value range for the values in the givenshortarray.doublegetMax()Gets the maximum value.doublegetMin()Gets the mimimum value.booleanisValid()Checks if this range is valid.voidsetMax(double max) Sets the maximum value.voidsetMin(double min) Sets the mimimum value.voidsetMinMax(double min, double max) Sets the mimimum and maximum value.toString()
-
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 valuemax- 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 valuemax- the maximum value
-
isValid
public boolean isValid()Checks if this range is valid.- Returns:
trueif 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 givenbytearray. The array elements are interpreted as signed byte values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenbytearray. The array elements are interpreted as unsigned byte values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenshortarray. The array elements are interpreted as signed short values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenshortarray. The array elements are interpreted as unsigned short values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, 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 givenintarray. The array elements are interpreted as signed int values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenintarray. The array elements are interpreted as unsigned int values. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenfloatarray. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givendoublearray. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- the array whose value range to computevalidator- used to validate the array indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- a monitor to inform the user about progress- Returns:
- the value range for the given array
-
computeRangeDouble
Computes the value range for the values in the givendoublearray.- Parameters:
values- the array whose value range to computerange- if notnull, 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 givenRange.DoubleList. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.- Parameters:
values- theRange.DoubleListwhose value range to computevalidator- used to validate the indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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 givenObject. Values at a given indexifor whichvalidator.validate(i)returnsfalseare excluded from the computation.
Supportet types for the values object:byte[], short[], int[], float[], double[],DoubleList- Parameters:
values- theObjectwhose value range to computeunsigned- if true interprete all the values as unsignet type.validator- used to validate the indexes, must not benull. UseIndexValidator.TRUEinstead.range- if notnull, used as return value, otherwise a new instance is createdpm- 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
-