I am trying to stack a 3 band image (2 NDVI bands and 1 MDPI band). There is some error when I am trying to visualise the MDPI band (which is appearing as masked in the Inspector) and hence the stacked image is also not appearing. Where am I going wrong?
var sent2_1=ee.ImageCollection("COPERNICUS/S2")
.filterBounds(roi)
.filterDate('2019-11-15','2019-11-17')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 40))
.mean();
var sent2_2=ee.ImageCollection("COPERNICUS/S2")
.filterBounds(roi)
.filterDate('2019-01-10','2019-01-19')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 40))
.mean();
Map.addLayer(roi);
print(sent2_2,'sent2');
Map.addLayer(sent2_2,{min:0,max:3000,bands:['B8','B4','B3']},'sent2');
//Map.centerObject(roi,13);
var sent1=ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
.filter(ee.Filter.eq('instrumentMode', 'IW'))
.filterDate('2020-03-09','2020-03-10')
.filterBounds(roi)
.mean();
print(sent1,'sent1');
Map.addLayer(sent1,{min: [-25, -20, -25], max: [0, 10, 0]},'SAR');
var ndvi=function(image){
var ndvi_2_2=image.normalizedDifference(['B8', 'B4']).rename('NDVI');
return image.addBands(ndvi_2_2);
};
var ndvi_1 = ndvi(sent2_1);
print(ndvi_1,'ndvi_1');
var ndvi_2 = ndvi(sent2_2);
print(ndvi_2,'ndvi_2');
var im2 = ndvi_1.select('NDVI');
var im1 = ndvi_2.select('NDVI');
var mpdi_fun=function(image){
var mpdi=image.normalizedDifference(['VV', 'VH']).rename('MPDI');
return image.addBands(mpdi);
};
var mpdi = mpdi_fun(sent1);
print(mpdi,'mpdi');
var mpdi_1=mpdi.select('MDPI')
print(mpdi_1,'mpdi_only')
Map.addLayer(mpdi_1,{min:-1, max:1},'MPDI')
var stack=im1.addBands(im2).addBands(mpdi.select('MPDI'));
Map.addLayer(stack,{max:1,min:-1},'stack');
print(stack,'stack');