|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface FlatFieldIface
FlatField is the VisAD class for finite samplings of functions whose range type and range coordinate systems are simple enough to allow efficient representation. The DomainSet, DomainCoordinateSystem, RangeSet, RangeCoordinateSystem and RangeCoordinateSystems variables of FlatField are immutable.
A FlatField range type may be either a RealType (for a function with range = R), a RealTupleType (for a function with range = R^n for n > 0), or a TupleType of RealType-s and RealTupleType-s..
VisAD avoids invoking methods once per datum through the use of FlatField's. These are logically Field's of Tuple's of RealType's and RealTupleType's. Internally FlatField's are stored as arrays of numerical values, rather than the arrays of data objects stored in Field's. Many of the methods in the FlatField class and in other classes (e.g., CoordinateTransform, Set, Unit) process data in the form double[Dimension][Length] where Length is the number of samples in a Field and Dimension is the number of Tuple elements in the Field range values. Note that the order of the Length and Dimension indices are reversed as array indices. This allows efficient processing of long columns of Field value components. For example, if Latitude is one component of Field values, then any computation involving Latitude can be applied in a tight loop to all Latitude's in the Field.
FlatField's support range types more general than RealTuple's. To understand the motive, consider a set of observations that include Latitude, Longitude, Altitude, Pressure, Temperature, etc. We can organize these as a Field whose range values have the Tuple type:
(Latitude, Longitude, Altitude, Pressure, Temperature, ...)However, in order to declare that (Latitude, Longitude, Altitude) is a coordinate system with coordinate transform functions to other spatial coordinate systems, we need to organize:
(Latitude, Longitude, Altitude)as a RealTupleType. Hence the range type of the Field of observations must be:
((Latitude, Longitude, Altitude), Pressure, Temperature, ...)which is not a RealTupleType (since one of its components is a RealTupleType). In order to process such data efficiently, FlatField's must support range types that are Tuple's of RealType's and RealTupleType's.
Field Summary |
---|
Fields inherited from interface visad.Data |
---|
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE |
Method Summary | |
---|---|
void |
clearMissing()
mark this FlatField as non-missing |
Field |
convertToField()
convert this FlatField to a (non-Flat) FieldImpl |
int |
getRangeDimension()
Gets the number of components in the "flat" range. |
ErrorEstimate[] |
getRangeErrors()
return array of ErrorEstimates associated with each RealType component of range; each ErrorEstimate is a mean error for all samples of a range RealType component |
Set[] |
getRangeSets()
Returns the sampling set of each flat component. |
double[] |
getValues(int s_index)
get values for 'Flat' components in default range Unit-s |
byte[][] |
grabBytes()
|
void |
setRangeErrors(ErrorEstimate[] errors)
set ErrorEstimates associated with each RealType component of range |
void |
setSamples(double[][] range,
boolean copy)
set range array as range values of this FlatField; the array is dimensioned double[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet; copy array if copy flag is true |
void |
setSamples(double[][] range,
ErrorEstimate[] errors,
boolean copy)
set the range values of the function including ErrorEstimate-s; the order of range values must be the same as the order of domain indices in the DomainSet |
void |
setSamples(float[][] range,
boolean copy)
set range array as range values of this FlatField; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet; copy array if copy flag is true |
void |
setSamples(float[][] range,
ErrorEstimate[] errors,
boolean copy)
set the range values of the function including ErrorEstimate-s; the order of range values must be the same as the order of domain indices in the DomainSet |
void |
setSamples(int start,
double[][] range)
|
Methods inherited from interface visad.Field |
---|
domainEnumeration, domainFactor, domainMultiply, domainMultiply, extract, getDefaultRangeUnits, getDomainSet, getFloats, getFloats, getLength, getRangeCoordinateSystem, getRangeCoordinateSystem, getRangeUnits, getSample, getStringValues, getValues, getValues, isFlatField, setSample, setSample, setSample, setSample, setSamples, setSamples, setSamples |
Methods inherited from interface visad.Function |
---|
derivative, derivative, derivative, derivative, derivative, evaluate, evaluate, evaluate, evaluate, getDomainCoordinateSystem, getDomainDimension, getDomainUnits, resample, resample |
Methods inherited from interface visad.Data |
---|
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, isMissing, local, log, log, longString, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary, unary |
Methods inherited from interface visad.Thing |
---|
addReference, removeReference |
Method Detail |
---|
Set[] getRangeSets() throws RemoteException, VisADException
RemoteException
VisADException
ErrorEstimate[] getRangeErrors() throws RemoteException, VisADException
RemoteException
VisADException
void setRangeErrors(ErrorEstimate[] errors) throws RemoteException, VisADException
RemoteException
VisADException
void setSamples(double[][] range, boolean copy) throws RemoteException, VisADException
RemoteException
VisADException
void setSamples(float[][] range, boolean copy) throws RemoteException, VisADException
RemoteException
VisADException
void setSamples(double[][] range, ErrorEstimate[] errors, boolean copy) throws RemoteException, VisADException
RemoteException
VisADException
void setSamples(int start, double[][] range) throws RemoteException, VisADException
RemoteException
VisADException
void setSamples(float[][] range, ErrorEstimate[] errors, boolean copy) throws RemoteException, VisADException
RemoteException
VisADException
byte[][] grabBytes() throws RemoteException, VisADException
RemoteException
VisADException
double[] getValues(int s_index) throws RemoteException, VisADException
RemoteException
VisADException
void clearMissing() throws RemoteException, VisADException
RemoteException
VisADException
Field convertToField() throws RemoteException, VisADException
RemoteException
VisADException
int getRangeDimension() throws RemoteException, VisADException
RemoteException
VisADException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |