public class RangeProcessor extends Object
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
hasMultiDimensionScale |
private static org.slf4j.Logger |
logger |
(package private) Map<String,Object> |
metadata |
(package private) double[] |
missing |
(package private) int |
multiScaleDimensionIndex |
(package private) String |
multiScaleDimName |
(package private) float[] |
offset |
(package private) boolean |
rangeCheckBeforeScaling |
(package private) MultiDimensionReader |
reader |
(package private) float[] |
scale |
(package private) int |
scaleOffsetLen |
(package private) int |
soIndex |
(package private) boolean |
unpack |
(package private) boolean |
unsigned |
(package private) double |
valid_high |
(package private) double |
valid_low |
(package private) double[] |
valid_range |
Constructor and Description |
---|
RangeProcessor() |
RangeProcessor(float scale,
float offset,
float valid_low,
float valid_high,
float missing) |
RangeProcessor(MultiDimensionReader reader,
Map<String,Object> metadata) |
RangeProcessor(MultiDimensionReader reader,
Map<String,Object> metadata,
String multiScaleDimName) |
Modifier and Type | Method and Description |
---|---|
(package private) static RangeProcessor |
createRangeProcessor(MultiDimensionReader reader,
Map<String,Object> metadata) |
double[] |
getAttributeAsDoubleArray(String arrayName,
String attrName) |
float[] |
getAttributeAsFloatArray(String arrayName,
String attrName) |
int |
getMultiScaleDimensionIndex() |
boolean |
hasMultiDimensionScale() |
float[] |
processRange(byte[] values,
Map<String,double[]> subset)
Process a range of data from an array of
byte values. |
double[] |
processRange(double[] values,
Map<String,double[]> subset)
Process a range of data from an array of
double value. |
float[] |
processRange(float[] values,
Map<String,double[]> subset)
Process a range of data from an array of
float values. |
float[] |
processRange(short[] values,
Map<String,double[]> subset)
Process a range of data from an array of
short values. |
Object |
processRangeApplyLUT(short[] values,
float[] lut)
Should be generalized.
|
float[] |
processRangeQualityFlag(byte[] values,
Map subset,
QualityFlag qf)
Process a range of data from an array of
byte values where bytes
are packed bit or multi-bit fields of quality flags. |
void |
setHasMultiDimensionScale(boolean yesno) |
void |
setMultiScaleDimName(String multiScaleDimName) |
void |
setMultiScaleIndex(int idx) |
private static final org.slf4j.Logger logger
MultiDimensionReader reader
float[] scale
float[] offset
double[] missing
double[] valid_range
double valid_low
double valid_high
boolean unpack
boolean unsigned
boolean rangeCheckBeforeScaling
int scaleOffsetLen
String multiScaleDimName
boolean hasMultiDimensionScale
int multiScaleDimensionIndex
int soIndex
public RangeProcessor()
public RangeProcessor(float scale, float offset, float valid_low, float valid_high, float missing)
public RangeProcessor(MultiDimensionReader reader, Map<String,Object> metadata, String multiScaleDimName) throws Exception
Exception
public RangeProcessor(MultiDimensionReader reader, Map<String,Object> metadata) throws Exception
Exception
static RangeProcessor createRangeProcessor(MultiDimensionReader reader, Map<String,Object> metadata) throws Exception
Exception
public float[] getAttributeAsFloatArray(String arrayName, String attrName) throws Exception
Exception
public double[] getAttributeAsDoubleArray(String arrayName, String attrName) throws Exception
Exception
public float[] processRangeQualityFlag(byte[] values, Map subset, QualityFlag qf)
byte
values where bytes
are packed bit or multi-bit fields of quality flags. Based on info in a
QualityFlag
object passed in, we extract and return values for
that flag.values
- Input byte values. Cannot be null
.subset
- Optional subset.qf
- Quality flag.public float[] processRange(byte[] values, Map<String,double[]> subset)
byte
values.values
- Input byte
values. Cannot be null
.subset
- Optional subset.public float[] processRange(short[] values, Map<String,double[]> subset)
short
values.values
- Input short
values. Cannot be null
.subset
- Optional subset.public float[] processRange(float[] values, Map<String,double[]> subset)
float
values.values
- Input float
values. Cannot be null
.subset
- Optional subset.public double[] processRange(double[] values, Map<String,double[]> subset)
double
value.values
- Input double
values. Cannot be null
.subset
- Optional subset.public void setMultiScaleDimName(String multiScaleDimName)
public int getMultiScaleDimensionIndex()
public boolean hasMultiDimensionScale()
public void setHasMultiDimensionScale(boolean yesno)
public void setMultiScaleIndex(int idx)
public Object processRangeApplyLUT(short[] values, float[] lut)
values
- the set of input values to maplut
- the lookup table for direct mapping input to output values