AI-generated Key Takeaways
-
The
ImageCollection.mode()function reduces an image collection by calculating the most common value at each pixel across matching bands. -
This function returns a single Image.
-
The method is applied to the ImageCollection itself and requires no additional arguments.
-
If multiple mode values occur, the minimum mode value is returned.
| Usage | Returns |
|---|---|
ImageCollection.
mode
()
|
Image |
| Argument | Type | Details |
|---|---|---|
|
this:
collection
|
ImageCollection | The image collection to reduce. |
Examples
Code Editor (JavaScript)
// Sentinel-2 image collection for July 2021 intersecting a point of interest. // Reflectance, cloud probability, and scene classification bands are selected. var col = ee . ImageCollection ( 'COPERNICUS/S2_SR' ) . filterDate ( '2021-07-01' , '2021-08-01' ) . filterBounds ( ee . Geometry . Point ( - 122.373 , 37.448 )) . select ( 'B.*|MSK_CLDPRB|SCL' ); // Visualization parameters for reflectance RGB. var visRefl = { bands : [ 'B11' , 'B8' , 'B3' ], min : 0 , max : 4000 }; Map . setCenter ( - 122.373 , 37.448 , 9 ); Map . addLayer ( col , visRefl , 'Collection reference' , false ); // Reduce the collection to a single image using a variety of methods. var mean = col . mean (); Map . addLayer ( mean , visRefl , 'Mean (B11, B8, B3)' ); var median = col . median (); Map . addLayer ( median , visRefl , 'Median (B11, B8, B3)' ); var min = col . min (); Map . addLayer ( min , visRefl , 'Min (B11, B8, B3)' ); var max = col . max (); Map . addLayer ( max , visRefl , 'Max (B11, B8, B3)' ); var sum = col . sum (); Map . addLayer ( sum , { bands : [ 'MSK_CLDPRB' ], min : 0 , max : 500 }, 'Sum (MSK_CLDPRB)' ); var product = col . product (); Map . addLayer ( product , { bands : [ 'MSK_CLDPRB' ], min : 0 , max : 1e10 }, 'Product (MSK_CLDPRB)' ); // ee.ImageCollection.mode returns the most common value. If multiple mode // values occur, the minimum mode value is returned. var mode = col . mode (); Map . addLayer ( mode , { bands : [ 'SCL' ], min : 1 , max : 11 }, 'Mode (pixel class)' ); // ee.ImageCollection.count returns the frequency of valid observations. Here, // image pixels are masked based on cloud probability to add valid observation // variability to the collection. Note that pixels with no valid observations // are masked out of the returned image. var notCloudCol = col . map ( function ( img ) { return img . updateMask ( img . select ( 'MSK_CLDPRB' ). lte ( 10 )); }); var count = notCloudCol . count (); Map . addLayer ( count , { min : 1 , max : 5 }, 'Count (not cloud observations)' ); // ee.ImageCollection.mosaic composites images according to their position in // the collection (priority is last to first) and pixel mask status, where // invalid (mask value 0) pixels are filled by preceding valid (mask value >0) // pixels. var mosaic = notCloudCol . mosaic (); Map . addLayer ( mosaic , visRefl , 'Mosaic (B11, B8, B3)' );
import ee import geemap.core as geemap
Colab (Python)
# Sentinel-2 image collection for July 2021 intersecting a point of interest. # Reflectance, cloud probability, and scene classification bands are selected. col = ( ee . ImageCollection ( 'COPERNICUS/S2_SR' ) . filterDate ( '2021-07-01' , '2021-08-01' ) . filterBounds ( ee . Geometry . Point ( - 122.373 , 37.448 )) . select ( 'B.*|MSK_CLDPRB|SCL' ) ) # Visualization parameters for reflectance RGB. vis_refl = { 'bands' : [ 'B11' , 'B8' , 'B3' ], 'min' : 0 , 'max' : 4000 } m = geemap . Map () m . set_center ( - 122.373 , 37.448 , 9 ) m . add_layer ( col , vis_refl , 'Collection reference' , False ) # Reduce the collection to a single image using a variety of methods. mean = col . mean () m . add_layer ( mean , vis_refl , 'Mean (B11, B8, B3)' ) median = col . median () m . add_layer ( median , vis_refl , 'Median (B11, B8, B3)' ) min = col . min () m . add_layer ( min , vis_refl , 'Min (B11, B8, B3)' ) max = col . max () m . add_layer ( max , vis_refl , 'Max (B11, B8, B3)' ) sum = col . sum () m . add_layer ( sum , { 'bands' : [ 'MSK_CLDPRB' ], 'min' : 0 , 'max' : 500 }, 'Sum (MSK_CLDPRB)' ) product = col . product () m . add_layer ( product , { 'bands' : [ 'MSK_CLDPRB' ], 'min' : 0 , 'max' : 1e10 }, 'Product (MSK_CLDPRB)' , ) # ee.ImageCollection.mode returns the most common value. If multiple mode # values occur, the minimum mode value is returned. mode = col . mode () m . add_layer ( mode , { 'bands' : [ 'SCL' ], 'min' : 1 , 'max' : 11 }, 'Mode (pixel class)' ) # ee.ImageCollection.count returns the frequency of valid observations. Here, # image pixels are masked based on cloud probability to add valid observation # variability to the collection. Note that pixels with no valid observations # are masked out of the returned image. not_cloud_col = col . map ( lambda img : img . updateMask ( img . select ( 'MSK_CLDPRB' ) . lte ( 10 )) ) count = not_cloud_col . count () m . add_layer ( count , { 'min' : 1 , 'max' : 5 }, 'Count (not cloud observations)' ) # ee.ImageCollection.mosaic composites images according to their position in # the collection (priority is last to first) and pixel mask status, where # invalid (mask value 0) pixels are filled by preceding valid (mask value >0) # pixels. mosaic = not_cloud_col . mosaic () m . add_layer ( mosaic , vis_refl , 'Mosaic (B11, B8, B3)' ) m

