ee.ImageCollection.fromImages
Returns the image collection containing the given images.
Usage | Returns |
---|
ee.ImageCollection.fromImages(images) | ImageCollection |
Argument | Type | Details |
---|
images | List | The images to include in the collection. |
Examples
// 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);
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
# 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])
print('Collection from list of images:', col.getInfo())
# 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')
print(
'Coerced to collection:',
ee.ImageCollection.fromImages(ambiguous_img_list).getInfo(),
)
print(
'NOT coerced to collection:',
ee.ImageCollection(ambiguous_img_list).getInfo(),
)
# 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'])
)
print('Mean annual NDVI collection:', annual_ndvi_mean.getInfo())
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["`ee.ImageCollection.fromImages()` creates an `ImageCollection` from a list of `ee.Image` objects."],["This function is particularly useful for converting ambiguous, server-side image lists into `ImageCollection` objects."],["A common use case is processing image lists obtained from `ee.Join.saveAll()`."],["`ee.ImageCollection.fromImages()` enables efficient manipulation and analysis of image data within Earth Engine."]]],["`ee.ImageCollection.fromImages(images)` converts a list of images into an ImageCollection. This function is crucial for handling ambiguous, computed image lists, like those retrieved from server-side object properties. It successfully coerces image lists into collections, unlike the standard `ee.ImageCollection` constructor. A common use case is processing lists generated by `ee.Join.saveAll`, demonstrated by building a collection of mean annual NDVI images from MODIS data, efficiently grouping images and calculating yearly averages.\n"]]