| java.lang.Object org.geotools.image.io.SampleConverter
SampleConverter | abstract public class SampleConverter (Code) | | Converts samples from the values stored in the image file to the values stored in the
. Some typical conversions are:
- Replace "nodata" values (typically a fixed value like 9999 or
) by
Float.NaN NaN if the target type is
float or
double , or 0 if the target type is an integer.
- Replace signed integers by unsigned integers, by applying
an offset to the values.
Note that pad values are replaced by 0 in the integer case, not by an arbitrary number,
because 0 is the result of
(int) NaN cast. While not mandatory, this property
make some mathematics faster during conversions between geophysics and
display views in the coverage module.
There is no scaling because this class is not for samples to geophysics values
conversions (except the replacement of pad values by
Double.NaN NaN ). This class is
about the minimal changes needed in order to comply to the contraints of a target
, e.g. for working around negative numbers.
Sample converters work on
int ,
float or
double primitive types,
which match the primitive types expected by the
Raster API.
since: 2.4 version: $Id: SampleConverter.java 27583 2007-10-23 11:29:26Z desruisseaux $ author: Martin Desruisseaux |
Constructor Summary | |
protected | SampleConverter() Constructs a sample converter. |
Method Summary | |
abstract public double | convert(double value) Converts a double-precision value before to store it in the raster.
Subclasses should override this method if some fixed values need to
be converted into
Double.NaN value.
Parameters: value - The value read from the image file. | abstract public float | convert(float value) Converts a float-precision value before to store it in the raster.
Subclasses should override this method if some fixed values need to
be converted into
Float.NaN value.
Parameters: value - The value read from the image file. | abstract public int | convert(int value) Converts a float-precision value before to store it in the raster.
Parameters: value - The value read from the image file. | public static SampleConverter | createOffset(double offset, double padValue) Creates a sample converter that replaces a pad value by
Double.NaN NaN or
0 , and applies an offset on all other values. | public static SampleConverter | createOffset(double offset, double[] padValues) Creates a sample converter that replaces an arbitrary amount of pad values by
Double.NaN NaN or
0 , and applies an offset on all other values.
Parameters: An - offset to add to the values to be read, before to store them in the raster. Parameters: padValue - The pad values to replace. | public static SampleConverter | createPadValueMask(double padValue) Creates a sample converter that replaces a single pad value by
Double.NaN NaN for floating point numbers, or
0 for integers. | public static SampleConverter | createPadValuesMask(double[] padValues) Creates a sample converter that replaces an arbitrary amount of pad values by
Double.NaN NaN for floating point numbers, or
0 for integers. | public double | getOffset() If this converter applies an offset, returns the offset. | public String | toString() Returns a string representation of this sample converter. |
IDENTITY | final public static SampleConverter IDENTITY(Code) | | A sample converter that do not performs any conversion.
|
SampleConverter | protected SampleConverter()(Code) | | Constructs a sample converter.
|
convert | abstract public double convert(double value)(Code) | | Converts a double-precision value before to store it in the raster.
Subclasses should override this method if some fixed values need to
be converted into
Double.NaN value.
Parameters: value - The value read from the image file. The value to store in the . |
convert | abstract public float convert(float value)(Code) | | Converts a float-precision value before to store it in the raster.
Subclasses should override this method if some fixed values need to
be converted into
Float.NaN value.
Parameters: value - The value read from the image file. The value to store in the . |
convert | abstract public int convert(int value)(Code) | | Converts a float-precision value before to store it in the raster.
Parameters: value - The value read from the image file. The value to store in the . |
createOffset | public static SampleConverter createOffset(double offset, double padValue)(Code) | | Creates a sample converter that replaces a pad value by
Double.NaN NaN or
0 , and applies an offset on all other values. This is typically used in
order to shift a range of arbitrary (including negative) integer values to a range
of strictly positive values. The later is more manageable by
.
Parameters: An - offset to add to the values to be read, before to store them in the raster. Thisis used primarily for transforming signed short into unsigned short. Parameters: padValue - The pad value to replace. This the value before the offset is applied. |
createOffset | public static SampleConverter createOffset(double offset, double[] padValues)(Code) | | Creates a sample converter that replaces an arbitrary amount of pad values by
Double.NaN NaN or
0 , and applies an offset on all other values.
Parameters: An - offset to add to the values to be read, before to store them in the raster. Parameters: padValue - The pad values to replace. They the values before the offset is applied. |
createPadValueMask | public static SampleConverter createPadValueMask(double padValue)(Code) | | Creates a sample converter that replaces a single pad value by
Double.NaN NaN for floating point numbers, or
0 for integers.
Parameters: padValue - The pad values to replace by Double.NaN NaN or 0 . |
createPadValuesMask | public static SampleConverter createPadValuesMask(double[] padValues)(Code) | | Creates a sample converter that replaces an arbitrary amount of pad values by
Double.NaN NaN for floating point numbers, or
0 for integers.
Parameters: padValue - The pad values to replace by Double.NaN NaN or 0 ,or null if none. |
getOffset | public double getOffset()(Code) | | If this converter applies an offset, returns the offset. Otherwise returns 0.
|
toString | public String toString()(Code) | | Returns a string representation of this sample converter.
This is mostly for debugging purpose and may change in any future version.
|
|
|