AI-generated Key Takeaways
-
Number.uint8()
casts a given Earth Engine Number to an unsigned 8-bit integer, resulting in a value within the range of 0 to 255. -
Numbers exceeding the maximum value of 255 will be truncated to 255, and numbers below 0 will be truncated to 0 when cast to uint8.
-
Casting floating-point numbers to uint8 results in the loss of decimal precision, keeping only the integer part.
-
This function is useful for ensuring numerical values fit within the constraints of unsigned 8-bit data types often used in image processing and analysis.
Usage | Returns |
---|---|
Number.uint8() | Number |
Argument | Type | Details |
---|---|---|
this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// Cast a number to unsigned 8-bit integer: [0, 255]. var number = ee.Number(100); print('Number:', number); var uint8Number = number.uint8(); print('Number cast to uint8:', uint8Number); /** * Casting numbers to uint8 that are outside of its range and precision can * modify the resulting value, note the behavior of the following scenarios. */ // A floating point number cast to uint8 loses decimal precision. var float = ee.Number(1.7); print('Floating point value:', float); var floatToUint8 = float.uint8(); print('Floating point value cast to uint8:', floatToUint8); // A number greater than uint8 range max cast to uint8 becomes uint8 range max. var UINT8_MAX = 255; var outOfRangeHi = ee.Number(UINT8_MAX + 12345); print('Greater than uint8 max:', outOfRangeHi); var outOfRangeHiToUint8 = outOfRangeHi.uint8(); print('Greater than uint8 max cast to uint8 becomes uint8 max:', outOfRangeHiToUint8); // A number greater than uint8 range min cast to uint8 becomes uint8 range min. var UINT8_MIN = 0; var outOfRangeLo = ee.Number(UINT8_MIN - 12345); print('Less than uint8 min:', outOfRangeLo); var outOfRangeLoToUint8 = outOfRangeLo.uint8(); print('Less than uint8 min cast to uint8 becomes uint8 min:', outOfRangeLoToUint8);
import ee import geemap.core as geemap
Colab (Python)
# Cast a number to unsigned 8-bit integer: [0, 255]. number = ee.Number(100) print('Number:', number.getInfo()) uint8_number = number.uint8() print('Number cast to uint8:', uint8_number.getInfo()) """Casting numbers to uint8 that are outside of its range and precision can modify the resulting value, note the behavior of the following scenarios. """ # A floating point number cast to uint8 loses decimal precision. float_number = ee.Number(1.7) print('Floating point value:', float_number.getInfo()) float_to_uint8 = float_number.uint8() print('Floating point value cast to uint8:', float_to_uint8.getInfo()) # A number greater than uint8 range max cast to uint8 becomes uint8 range max. UINT8_MAX = 255 out_of_range_hi = ee.Number(UINT8_MAX + 12345) print('Greater than uint8 max:', out_of_range_hi.getInfo()) out_of_range_hi_to_uint8 = out_of_range_hi.uint8() print('Greater than uint8 max cast to uint8 becomes uint8 max:', out_of_range_hi_to_uint8.getInfo()) # A number greater than uint8 range min cast to uint8 becomes uint8 range min. UINT8_MIN = 0 out_of_range_lo = ee.Number(UINT8_MIN - 12345) print('Less than uint8 min:', out_of_range_lo.getInfo()) out_of_range_lo_to_uint8 = out_of_range_lo.uint8() print('Less than uint8 min cast to uint8 becomes uint8 min:', out_of_range_lo_to_uint8.getInfo())