|
| 1 | +//VERSION=3 |
| 2 | +// To set custom max and min values, set |
| 3 | +// defaultVis to false and choose your max and |
| 4 | +// min values. The color map will then be scaled |
| 5 | +// to those max and min values |
| 6 | +const defaultVis = true; |
| 7 | +const max = 175; |
| 8 | +const min = 0; |
| 9 | + |
| 10 | +function setup() { |
| 11 | + return { |
| 12 | + input: ["ACD", "dataMask"], |
| 13 | + output: [ |
| 14 | + { id: "default", bands: 4 }, |
| 15 | + { id: "index", bands: 1, sampleType: "INT16" }, |
| 16 | + { id: "eobrowserStats", bands: 1, sampleType: "FLOAT32" }, |
| 17 | + { id: "dataMask", bands: 1 }, |
| 18 | + ], |
| 19 | + }; |
| 20 | +} |
| 21 | + |
| 22 | +function updateMap(max, min) { |
| 23 | + const numIntervals = map.length; |
| 24 | + const intervalLength = (max - min) / (numIntervals - 1); |
| 25 | + for (let i = 0; i < numIntervals; i++) { |
| 26 | + map[i][0] = max - intervalLength * i; |
| 27 | + } |
| 28 | +} |
| 29 | + |
| 30 | +const map = [ |
| 31 | + [175, 0xe5dd26], |
| 32 | + [155, 0xced62f], |
| 33 | + [140, 0x9ec54a], |
| 34 | + [125, 0x63b16e], |
| 35 | + [110, 0x38a183], |
| 36 | + [95, 0x1b8583], |
| 37 | + [80, 0x1e8589], |
| 38 | + [65, 0x206378], |
| 39 | + [50, 0x2e4c67], |
| 40 | + [35, 0x2a3f62], |
| 41 | + [20, 0x2d1a4e], |
| 42 | + [5, 0x2e164c], |
| 43 | + [0, 0x360245], |
| 44 | +]; |
| 45 | + |
| 46 | +const visualizer = new ColorRampVisualizer(map, min, max); |
| 47 | + |
| 48 | +function evaluatePixel(sample) { |
| 49 | + let val = sample.ACD; |
| 50 | + let imgVals = visualizer.process(val); |
| 51 | + |
| 52 | + return { |
| 53 | + default: imgVals.concat(sample.dataMask), |
| 54 | + index: [val], |
| 55 | + eobrowserStats: [val], |
| 56 | + dataMask: [sample.dataMask], |
| 57 | + }; |
| 58 | +} |
0 commit comments