AI-generated Key Takeaways
-
The
ee.ImageCollection.fromImages()function creates an image collection from a given list of images. -
This function is particularly useful for coercing ambiguous image lists obtained from server-side objects into an image collection.
-
A common use case is converting an image list resulting from a
saveAlljoin operation into an image collection.
| Usage | Returns |
|---|---|
ee.ImageCollection.fromImages(images)
|
ImageCollection |
| Argument | Type | Details |
|---|---|---|
images
|
List | The images to include in the collection. |
Examples
Code Editor (JavaScript)
// A series of images. var img1 = ee . Image ( 0 ); var img2 = ee . Image ( 1 ); var img3 = ee . Image ( 2 ); // Convert the list of images into an image collection. var col = ee . ImageCollection . fromImages ([ img1 , img2 , img3 ]); print ( 'Collection from list of images' , col ); // The ee.ImageCollection.fromImages function is intended to coerce the image // list to a collection when the list is an ambiguous, computed object fetched // from the properties of a server-side object. For instance, a list // of images retrieved from a ee.Feature property. Here, we set an image // list as a property of a feature, retrieve it, and convert it to // a collection. Notice that the ee.ImageCollection constructor fails to coerce // the image list to a collection, but ee.ImageCollection.fromImages does. var feature = ee . Feature ( null ). set ( 'img_list' , [ img1 , img2 , img3 ]); var ambiguousImgList = feature . get ( 'img_list' ); print ( 'Coerced to collection' , ee . ImageCollection . fromImages ( ambiguousImgList )); print ( 'NOT coerced to collection' , ee . ImageCollection ( ambiguousImgList )); // A common use case is coercing an image list from a saveAll join to a // image collection, like in this example of building a collection of mean // annual NDVI images from a MODIS collection. var modisCol = ee . ImageCollection ( 'MODIS/006/MOD13A2' ) . filterDate ( '2017' , '2021' ) . select ( 'NDVI' ) . map ( function ( img ) { return img . set ( 'year' , img . date (). get ( 'year' ))}); var distinctYearCol = modisCol . distinct ( 'year' ); var joinedCol = ee . Join . saveAll ( 'img_list' ). apply ({ primary : distinctYearCol , secondary : modisCol , condition : ee . Filter . equals ({ 'leftField' : 'year' , 'rightField' : 'year' }) }); var annualNdviMean = joinedCol . map ( function ( img ) { return ee . ImageCollection . fromImages ( img . get ( 'img_list' )). mean () . copyProperties ( img , [ 'year' ]); }); print ( 'Mean annual NDVI collection' , annualNdviMean );
import ee import geemap.core as geemap
Colab (Python)
# A series of images. img1 = ee . Image ( 0 ) img2 = ee . Image ( 1 ) img3 = ee . Image ( 2 ) # Convert the list of images into an image collection. col = ee . ImageCollection . fromImages ([ img1 , img2 , img3 ]) display ( 'Collection from list of images:' , col ) # The ee.ImageCollection.fromImages function is intended to coerce the image # list to a collection when the list is an ambiguous, computed object fetched # from the properties of a server-side object. For instance, a list # of images retrieved from a ee.Feature property. Here, we set an image # list as a property of a feature, retrieve it, and convert it to # a collection. Notice that the ee.ImageCollection constructor fails to coerce # the image list to a collection, but ee.ImageCollection.fromImages does. feature = ee . Feature ( None ) . set ( 'img_list' , [ img1 , img2 , img3 ]) ambiguous_img_list = feature . get ( 'img_list' ) display ( 'Coerced to collection:' , ee . ImageCollection . fromImages ( ambiguous_img_list ), ) display ( 'NOT coerced to collection:' , ee . ImageCollection ( ambiguous_img_list ), ) # A common use case is coercing an image list from a saveAll join to a # image collection, like in this example of building a collection of mean # annual NDVI images from a MODIS collection. modis_col = ( ee . ImageCollection ( 'MODIS/006/MOD13A2' ) . filterDate ( '2017' , '2021' ) . select ( 'NDVI' ) . map ( lambda img : img . set ( 'year' , img . date () . get ( 'year' ))) ) distinct_year_col = modis_col . distinct ( 'year' ) joined_col = ee . Join . saveAll ( 'img_list' ) . apply ( primary = distinct_year_col , secondary = modis_col , condition = ee . Filter . equals ( leftField = 'year' , rightField = 'year' ), ) annual_ndvi_mean = joined_col . map ( lambda img : ee . ImageCollection . fromImages ( img . get ( 'img_list' )) . mean () . copyProperties ( img , [ 'year' ]) ) display ( 'Mean annual NDVI collection:' , annual_ndvi_mean )

