Untitled
unknown
javascript
3 years ago
2.5 kB
11
Indexable
// ===================== normalization function ============================================================================//
var region = geometry
var scale = image_scale
function normalization(image,region,scale){
var mean_std = image.reduceRegion({
reducer: ee.Reducer.mean()
.combine(ee.Reducer.stdDev(),null, true),
geometry: region,
scale: scale,
maxPixels: 10e9,
// tileScale: 16
});
// use unit scale to normalize the pixel values
var unitScale = ee.ImageCollection.fromImages(
image.bandNames().map(function(name){
name = ee.String(name);
var band = image.select(name);
var mean=ee.Number(mean_std.get(name.cat('_mean')));
var std=ee.Number(mean_std.get(name.cat('_stdDev')));
var max=mean.add(std.multiply(3))
var min=mean.subtract(std.multiply(3))
var band1=ee.Image(min).multiply(band.lt(min)).add(ee.Image(max).multiply(band.gt(max)))
.add(band.multiply(ee.Image(1).subtract(band.lt(min)).subtract(band.gt(max))))
var result_band=band1.subtract(min).divide(max.subtract(min));
return result_band;
})).toBands().rename(image.bandNames());
return unitScale
// .multiply(100)
;
}
function normalization_100(image,region,scale){
var mean_std = image.reduceRegion({
reducer: ee.Reducer.mean()
.combine(ee.Reducer.stdDev(),null, true),
geometry: region,
scale: scale,
maxPixels: 10e9,
// tileScale: 16
});
// use unit scale to normalize the pixel values
var unitScale = ee.ImageCollection.fromImages(
image.bandNames().map(function(name){
name = ee.String(name);
var band = image.select(name);
var mean=ee.Number(mean_std.get(name.cat('_mean')));
var std=ee.Number(mean_std.get(name.cat('_stdDev')));
var max=mean.add(std.multiply(3))
var min=mean.subtract(std.multiply(3))
var band1=ee.Image(min).multiply(band.lt(min)).add(ee.Image(max).multiply(band.gt(max)))
.add(band.multiply(ee.Image(1).subtract(band.lt(min)).subtract(band.gt(max))))
var result_band=band1.subtract(min).divide(max.subtract(min));
return result_band;
})).toBands().rename(image.bandNames());
return unitScale
.multiply(100)
;
}
// Normalize BI and AVI
var BI = normalization_100(bsi,region, scale)
var AVI = normalization_100(avi,region, scale)
// Map.addLayer(AVI, imageVisParam5, 'AVI_Nom')
// Map.addLayer(BI, imageVisParam6, 'BI_Nom', 0)
//
// Editor is loading...