AI-generated Key Takeaways
-
Image.mask()
retrieves or sets an image's mask, impacting pixel values based on the mask's transitions. -
When retrieving a mask,
Image.mask()
returns a new image representing the mask, scaled to 0-1, where 0 is invalid and 1 is valid. -
When setting a mask,
Image.mask()
is deprecated in favor ofImage.updateMask
andImage.unmask
for more controlled mask manipulation. -
The output image retains the original image's metadata and footprint.
-
Masks can be applied to individual bands or to the entire image.
Usage | Returns |
---|---|
Image.mask(mask) | Image |
Argument | Type | Details |
---|---|---|
this: image | Image | The input image. |
mask | Image, default: null | The mask image. If specified, the input image is copied to the output but given the mask by the values of this image. If this is a single band, it is used for all bands in the input image. If not specified, returns an image created from the mask of the input image, scaled to the range [0:1] (invalid = 0, valid = 1.0). |
Examples
Code Editor (JavaScript)
// A Sentinel-2 surface reflectance image. var img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG'); var trueColorViz = { bands: ['B4', 'B3', 'B2'], min: 0, max: 2700, gamma: 1.3 }; print('Sentinel-2 image', img); Map.setCenter(-122.36, 37.47, 10); Map.addLayer(img, trueColorViz, 'Sentinel-2 image'); // Get masks for all image bands; each band has an independent mask. // Valid pixels are value 1, invalid are 0. var multiBandMaskImg = img.mask(); print('Multi-band mask image', multiBandMaskImg); Map.addLayer(multiBandMaskImg, null, 'Multi-band mask image'); // Get the mask for a single image band. var singleBandMaskImg = img.select('B1').mask(); print('Single-band mask image', singleBandMaskImg); Map.addLayer(singleBandMaskImg, null, 'Single-band mask image');
import ee import geemap.core as geemap
Colab (Python)
# A Sentinel-2 surface reflectance image. img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG') true_color_viz = { 'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 2700, 'gamma': 1.3, } display('Sentinel-2 image', img) m = geemap.Map() m.set_center(-122.36, 37.47, 10) m.add_layer(img, true_color_viz, 'Sentinel-2 image') # Get masks for all image bands each band has an independent mask. # Valid pixels are value 1, invalid are 0. multi_band_mask_img = img.mask() display('Multi-band mask image', multi_band_mask_img) m.add_layer(multi_band_mask_img, None, 'Multi-band mask image') # Get the mask for a single image band. single_band_mask_img = img.select('B1').mask() display('Single-band mask image', single_band_mask_img) m.add_layer(single_band_mask_img, None, 'Single-band mask image') m