// Sentinel-3 data Visualization V1.0.0// Twitter: Pierre Markuse (@pierre_markuse)// Website: https://pierre-markuse.net/// CC BY 4.0 International - https://creativecommons.org/licenses/by/4.0/functionstretch(val,min,max){return(val-min)/(max-min);}functionblend(bArr1,bArr2,opa1,opa2){returnbArr1.map(function(num,index){return(num/100*opa1+bArr2[index]/100*opa2);});}varNaturalColors1=[1.0*B07+1.4*B09-0.1*B14,1.1*B05+1.4*B06-0.2*B14,(2.6*B04-B14*0.6)*1.00];varNaturalColors2=[1.0*B07+1.4*B09-0.2*B14,1.0*B05+1.5*B06-0.45*B14,(2.6*B04-B14*1.0)*1.02];varNaturalColors3=[1.0*B07+1.4*B09-0.3*B14,1.0*B05+1.5*B06-0.6*B14,(2.6*B04-B14*1.2)*1.03];varNIR=[2.0*B14,2.0*B07,2.0*B04];varAC=[2*B14,2*B14,2*B14];varlayer1=NaturalColors1;// Visualization layer 1varlayer2=NIR;// Visualization layer 2varlayer1Amount=100;// Amount layer 1varlayer2Amount=0;// Amount layer 2varstretchMin=0.15;//Change black pointvarstretchMax=0.80;//Change white pointvarsaturation=0.00;//Change saturation in percentvarbrightness=1.50;//Brightness, default=1.5varmanualCorrection=[0.00,0.00,0.00];//Manual correction of RGB valuesvarvisualization=blend(layer1,layer2,layer1Amount,layer2Amount);varresult=[visualization[0]*brightness,visualization[1]*brightness,visualization[2]*brightness];result=[stretch(result[0],stretchMin,stretchMax)+manualCorrection[0],stretch(result[1],stretchMin,stretchMax)+manualCorrection[1],stretch(result[2],stretchMin,stretchMax)+manualCorrection[2]];varavg=(result[0]+result[1]+result[2])/3;saturation=saturation*(-1);if(result[0]>avg){result[0]=result[0]-(result[0]-avg)/100*saturation}else{result[0]=result[0]+(avg-result[0])/100*saturation};if(result[1]>avg){result[1]=result[1]-(result[1]-avg)/100*saturation}else{result[1]=result[1]+(avg-result[1])/100*saturation};if(result[2]>avg){result[2]=result[2]-(result[2]-avg)/100*saturation}else{result[2]=result[2]+(avg-result[2])/100*saturation};returnresult;
This script offers different true color visualizations, a NIR visualization, and the ability to easily add more visualizations. Variables allow you to influence the resulting image regarding, brightness, contrast, and saturation. More info here.