@kepler.gl/deckgl-layers 3.3.0-alpha.0 → 3.3.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/3d-building-layer/3d-building-layer.js +66 -0
- package/dist/cjs/3d-building-layer/3d-building-utils.js +166 -0
- package/dist/cjs/3d-building-layer/types.js +6 -0
- package/dist/cjs/cluster-layer/cluster-layer.js +292 -0
- package/dist/cjs/column-layer/enhanced-column-layer.js +160 -0
- package/dist/{deckgl-extensions → cjs/deckgl-extensions}/filter-arrow-layer.js +1 -1
- package/dist/cjs/deckgl-extensions/filter-shader-module.js +26 -0
- package/dist/cjs/globe/atmosphere-layer.js +341 -0
- package/dist/cjs/globe/enhanced-multi-icon-layer.js +63 -0
- package/dist/cjs/globe/globe-depth-disk-layer.js +145 -0
- package/dist/cjs/globe/globe-layers.js +574 -0
- package/dist/cjs/globe/globe-stars-layer.js +99 -0
- package/dist/cjs/globe/globe-stars-layer.spec.js +42 -0
- package/dist/cjs/globe/globe-view.js +404 -0
- package/dist/cjs/globe/index.js +140 -0
- package/dist/cjs/globe/mvt-label-layer.js +190 -0
- package/dist/cjs/grid-layer/enhanced-cpu-grid-layer.js +116 -0
- package/dist/cjs/hexagon-layer/enhanced-hexagon-layer.js +134 -0
- package/dist/cjs/index.js +163 -0
- package/dist/cjs/layer-utils/aggregation-utils.js +181 -0
- package/dist/cjs/layer-utils/cluster-utils.js +95 -0
- package/dist/cjs/layer-utils/cpu-aggregator.js +798 -0
- package/dist/cjs/layer-utils/globe-cell-utils.js +203 -0
- package/dist/cjs/layer-utils/globe-cell-utils.spec.js +118 -0
- package/dist/cjs/layer-utils/shader-utils.js +38 -0
- package/dist/cjs/line-layer/line-layer.js +95 -0
- package/dist/cjs/raster/images.js +271 -0
- package/dist/cjs/raster/pipeline-validation-patch.js +101 -0
- package/dist/cjs/raster/raster-layer/raster-layer-shaders.js +163 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer.js +287 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +38 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer.js +321 -0
- package/dist/cjs/raster/raster-processing-uniforms.js +124 -0
- package/dist/cjs/raster/types.js +6 -0
- package/dist/cjs/raster/util.js +139 -0
- package/dist/cjs/raster/webgl/color/colormap.js +45 -0
- package/dist/cjs/raster/webgl/color/filter.js +58 -0
- package/dist/cjs/raster/webgl/color/gamma-contrast.js +68 -0
- package/dist/cjs/raster/webgl/color/linear-rescale.js +35 -0
- package/dist/cjs/raster/webgl/color/saturation.js +42 -0
- package/dist/cjs/raster/webgl/color/sigmoidal-contrast.js +68 -0
- package/dist/{raster → cjs/raster}/webgl/index.js +1 -1
- package/dist/cjs/raster/webgl/pansharpen/pansharpen-brovey.js +46 -0
- package/dist/cjs/raster/webgl/spectral-indices/evi.js +26 -0
- package/dist/cjs/raster/webgl/spectral-indices/msavi.js +25 -0
- package/dist/cjs/raster/webgl/spectral-indices/normalized-difference.js +19 -0
- package/dist/cjs/raster/webgl/spectral-indices/savi.js +21 -0
- package/dist/cjs/raster/webgl/texture/combine-bands.js +65 -0
- package/dist/cjs/raster/webgl/texture/mask.js +50 -0
- package/dist/cjs/raster/webgl/texture/reorder-bands.js +72 -0
- package/dist/cjs/raster/webgl/texture/rgba-image.js +34 -0
- package/dist/cjs/raster/webgl/types.js +6 -0
- package/dist/cjs/svg-icon-layer/scatterplot-icon-layer.js +88 -0
- package/dist/cjs/svg-icon-layer/svg-icon-layer.js +104 -0
- package/dist/cjs/wms/wms-layer.js +624 -0
- package/dist/esm/3d-building-layer/3d-building-layer.js +62 -0
- package/dist/esm/3d-building-layer/3d-building-utils.js +157 -0
- package/dist/esm/3d-building-layer/types.js +3 -0
- package/dist/esm/cluster-layer/cluster-layer.js +286 -0
- package/dist/esm/column-layer/enhanced-column-layer.js +156 -0
- package/dist/esm/deckgl-extensions/filter-arrow-layer.js +64 -0
- package/dist/esm/deckgl-extensions/filter-shader-module.js +20 -0
- package/dist/esm/globe/atmosphere-layer.js +335 -0
- package/dist/esm/globe/enhanced-multi-icon-layer.js +60 -0
- package/dist/esm/globe/globe-depth-disk-layer.js +140 -0
- package/dist/esm/globe/globe-layers.js +566 -0
- package/dist/esm/globe/globe-stars-layer.js +92 -0
- package/dist/esm/globe/globe-stars-layer.spec.js +40 -0
- package/dist/esm/globe/globe-view.js +398 -0
- package/dist/esm/globe/index.js +26 -0
- package/dist/esm/globe/mvt-label-layer.js +187 -0
- package/dist/esm/grid-layer/enhanced-cpu-grid-layer.js +112 -0
- package/dist/esm/hexagon-layer/enhanced-hexagon-layer.js +130 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/layer-utils/aggregation-utils.js +172 -0
- package/dist/esm/layer-utils/cluster-utils.js +89 -0
- package/dist/esm/layer-utils/cpu-aggregator.js +788 -0
- package/dist/esm/layer-utils/globe-cell-utils.js +197 -0
- package/dist/esm/layer-utils/globe-cell-utils.spec.js +115 -0
- package/dist/esm/layer-utils/shader-utils.js +32 -0
- package/dist/esm/line-layer/line-layer.js +91 -0
- package/dist/esm/raster/images.js +267 -0
- package/dist/esm/raster/pipeline-validation-patch.js +94 -0
- package/dist/esm/raster/raster-layer/raster-layer-shaders.js +153 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer.js +283 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +30 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer.js +318 -0
- package/dist/esm/raster/raster-processing-uniforms.js +118 -0
- package/dist/esm/raster/types.js +3 -0
- package/dist/esm/raster/util.js +134 -0
- package/dist/esm/raster/webgl/color/colormap.js +39 -0
- package/dist/esm/raster/webgl/color/filter.js +52 -0
- package/dist/esm/raster/webgl/color/gamma-contrast.js +62 -0
- package/dist/esm/raster/webgl/color/linear-rescale.js +29 -0
- package/dist/esm/raster/webgl/color/saturation.js +36 -0
- package/dist/esm/raster/webgl/color/sigmoidal-contrast.js +62 -0
- package/dist/esm/raster/webgl/index.js +26 -0
- package/dist/esm/raster/webgl/pansharpen/pansharpen-brovey.js +40 -0
- package/dist/esm/raster/webgl/spectral-indices/evi.js +20 -0
- package/dist/esm/raster/webgl/spectral-indices/msavi.js +19 -0
- package/dist/esm/raster/webgl/spectral-indices/normalized-difference.js +13 -0
- package/dist/esm/raster/webgl/spectral-indices/savi.js +15 -0
- package/dist/esm/raster/webgl/texture/combine-bands.js +58 -0
- package/dist/esm/raster/webgl/texture/mask.js +44 -0
- package/dist/esm/raster/webgl/texture/reorder-bands.js +65 -0
- package/dist/esm/raster/webgl/texture/rgba-image.js +28 -0
- package/dist/esm/raster/webgl/types.js +3 -0
- package/dist/esm/svg-icon-layer/scatterplot-icon-layer.js +84 -0
- package/dist/esm/svg-icon-layer/svg-icon-layer.js +101 -0
- package/dist/esm/wms/wms-layer.js +619 -0
- package/dist/globe/atmosphere-layer.d.ts +58 -0
- package/dist/globe/enhanced-multi-icon-layer.d.ts +6 -0
- package/dist/globe/globe-depth-disk-layer.d.ts +19 -0
- package/dist/globe/globe-layers.d.ts +108 -0
- package/dist/globe/globe-stars-layer.d.ts +10 -0
- package/dist/globe/globe-stars-layer.spec.d.ts +1 -0
- package/dist/globe/globe-view.d.ts +23 -0
- package/dist/globe/index.d.ts +8 -0
- package/dist/globe/mvt-label-layer.d.ts +7928 -0
- package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +145 -56
- package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +145 -56
- package/dist/index.d.ts +2 -0
- package/dist/layer-utils/aggregation-utils.d.ts +44 -0
- package/dist/layer-utils/cluster-utils.d.ts +6 -1
- package/dist/layer-utils/globe-cell-utils.d.ts +30 -0
- package/dist/layer-utils/globe-cell-utils.spec.d.ts +1 -0
- package/dist/layer-utils/shader-utils.d.ts +1 -0
- package/dist/raster/images.d.ts +10 -1
- package/dist/raster/raster-layer/raster-layer.d.ts +4 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.d.ts +4 -0
- package/dist/raster/raster-processing-uniforms.d.ts +38 -0
- package/dist/raster/util.d.ts +15 -0
- package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +4 -1
- package/dist/wms/wms-layer.d.ts +32 -2
- package/package.json +37 -25
- package/dist/3d-building-layer/3d-building-layer.js +0 -66
- package/dist/3d-building-layer/3d-building-utils.js +0 -166
- package/dist/3d-building-layer/types.js +0 -6
- package/dist/cluster-layer/cluster-layer.js +0 -296
- package/dist/column-layer/enhanced-column-layer.js +0 -135
- package/dist/deckgl-extensions/filter-shader-module.js +0 -26
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +0 -69
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +0 -87
- package/dist/index.js +0 -140
- package/dist/layer-utils/cluster-utils.js +0 -93
- package/dist/layer-utils/cpu-aggregator.js +0 -798
- package/dist/layer-utils/shader-utils.js +0 -29
- package/dist/line-layer/line-layer.js +0 -95
- package/dist/raster/images.js +0 -259
- package/dist/raster/pipeline-validation-patch.js +0 -60
- package/dist/raster/raster-layer/raster-layer-shaders.js +0 -129
- package/dist/raster/raster-layer/raster-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer.js +0 -256
- package/dist/raster/raster-mesh-layer/matrix.d.ts +0 -4
- package/dist/raster/raster-mesh-layer/matrix.js +0 -18
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +0 -38
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.js +0 -282
- package/dist/raster/types.js +0 -6
- package/dist/raster/util.js +0 -29
- package/dist/raster/webgl/color/colormap.js +0 -45
- package/dist/raster/webgl/color/filter.js +0 -58
- package/dist/raster/webgl/color/gamma-contrast.js +0 -68
- package/dist/raster/webgl/color/linear-rescale.js +0 -35
- package/dist/raster/webgl/color/saturation.js +0 -42
- package/dist/raster/webgl/color/sigmoidal-contrast.js +0 -68
- package/dist/raster/webgl/pansharpen/pansharpen-brovey.js +0 -46
- package/dist/raster/webgl/spectral-indices/evi.js +0 -26
- package/dist/raster/webgl/spectral-indices/msavi.js +0 -25
- package/dist/raster/webgl/spectral-indices/normalized-difference.js +0 -19
- package/dist/raster/webgl/spectral-indices/savi.js +0 -21
- package/dist/raster/webgl/texture/combine-bands.js +0 -65
- package/dist/raster/webgl/texture/mask.js +0 -50
- package/dist/raster/webgl/texture/reorder-bands.js +0 -72
- package/dist/raster/webgl/texture/rgba-image.js +0 -34
- package/dist/raster/webgl/types.js +0 -6
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +0 -51
- package/dist/svg-icon-layer/svg-icon-layer.js +0 -104
- package/dist/wms/wms-layer.js +0 -351
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.gammaContrast = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Gamma correction is a nonlinear operation that
|
|
11
|
-
// adjusts the image's channel values pixel-by-pixel according
|
|
12
|
-
// to a power-law:
|
|
13
|
-
//
|
|
14
|
-
// .. math:: pixel_{out} = pixel_{in} ^ {gamma}
|
|
15
|
-
//
|
|
16
|
-
// Setting gamma (:math:gamma) to be less than 1.0 darkens the image and
|
|
17
|
-
// setting gamma to be greater than 1.0 lightens it.
|
|
18
|
-
|
|
19
|
-
// Parameters
|
|
20
|
-
// ----------
|
|
21
|
-
// gamma (:math:gamma): float
|
|
22
|
-
// Reasonable values range from 0.8 to 2.4.
|
|
23
|
-
|
|
24
|
-
// NOTE: Input array must have float values between 0 and 1!
|
|
25
|
-
// NOTE: gamma must be >= 0
|
|
26
|
-
var fs = "#define epsilon 0.00000001\n\nuniform gamma_contrastUniforms {\n float gamma1;\n float gamma2;\n float gamma3;\n float gamma4;\n} gamma_contrast;\n\nfloat gammaContrastCalc(float arr, float g) {\n // Gamma must be > 0\n g = clamp(g, epsilon, g);\n\n return pow(arr, 1.0 / g);\n}\n\nvec4 gammaContrastCalc(vec4 arr, float g1, float g2, float g3, float g4) {\n arr.r = gammaContrastCalc(arr.r, g1);\n arr.g = gammaContrastCalc(arr.g, g2);\n arr.b = gammaContrastCalc(arr.b, g3);\n arr.a = gammaContrastCalc(arr.a, g4);\n\n return arr;\n}\n";
|
|
27
|
-
function getUniforms() {
|
|
28
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
-
var gammaContrastValue = opts.gammaContrastValue,
|
|
30
|
-
gammaContrastValue1 = opts.gammaContrastValue1,
|
|
31
|
-
gammaContrastValue2 = opts.gammaContrastValue2,
|
|
32
|
-
gammaContrastValue3 = opts.gammaContrastValue3,
|
|
33
|
-
gammaContrastValue4 = opts.gammaContrastValue4;
|
|
34
|
-
|
|
35
|
-
// Gamma must be > 0, so not using Number.isFinite is fine
|
|
36
|
-
|
|
37
|
-
if (gammaContrastValue) {
|
|
38
|
-
return {
|
|
39
|
-
gamma1: gammaContrastValue,
|
|
40
|
-
gamma2: gammaContrastValue,
|
|
41
|
-
gamma3: gammaContrastValue,
|
|
42
|
-
gamma4: gammaContrastValue
|
|
43
|
-
};
|
|
44
|
-
} else if (gammaContrastValue1 || gammaContrastValue2 || gammaContrastValue3 || gammaContrastValue4) {
|
|
45
|
-
return {
|
|
46
|
-
gamma1: gammaContrastValue1 || 1,
|
|
47
|
-
gamma2: gammaContrastValue2 || 1,
|
|
48
|
-
gamma3: gammaContrastValue3 || 1,
|
|
49
|
-
gamma4: gammaContrastValue4 || 1
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
var gammaContrast = exports.gammaContrast = {
|
|
55
|
-
name: 'gamma_contrast',
|
|
56
|
-
fs: fs,
|
|
57
|
-
uniformTypes: {
|
|
58
|
-
gamma1: 'f32',
|
|
59
|
-
gamma2: 'f32',
|
|
60
|
-
gamma3: 'f32',
|
|
61
|
-
gamma4: 'f32'
|
|
62
|
-
},
|
|
63
|
-
getUniforms: getUniforms,
|
|
64
|
-
inject: {
|
|
65
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = gammaContrastCalc(image, gamma_contrast.gamma1, gamma_contrast.gamma2, gamma_contrast.gamma3, gamma_contrast.gamma4);\n "
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImdhbW1hQ29udHJhc3RWYWx1ZSIsImdhbW1hQ29udHJhc3RWYWx1ZTEiLCJnYW1tYUNvbnRyYXN0VmFsdWUyIiwiZ2FtbWFDb250cmFzdFZhbHVlMyIsImdhbW1hQ29udHJhc3RWYWx1ZTQiLCJnYW1tYTEiLCJnYW1tYTIiLCJnYW1tYTMiLCJnYW1tYTQiLCJnYW1tYUNvbnRyYXN0IiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2NvbG9yL2dhbW1hLWNvbnRyYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBHYW1tYSBjb3JyZWN0aW9uIGlzIGEgbm9ubGluZWFyIG9wZXJhdGlvbiB0aGF0XG4vLyBhZGp1c3RzIHRoZSBpbWFnZSdzIGNoYW5uZWwgdmFsdWVzIHBpeGVsLWJ5LXBpeGVsIGFjY29yZGluZ1xuLy8gdG8gYSBwb3dlci1sYXc6XG4vL1xuLy8gLi4gbWF0aDo6IHBpeGVsX3tvdXR9ID0gcGl4ZWxfe2lufSBeIHtnYW1tYX1cbi8vXG4vLyBTZXR0aW5nIGdhbW1hICg6bWF0aDpnYW1tYSkgdG8gYmUgbGVzcyB0aGFuIDEuMCBkYXJrZW5zIHRoZSBpbWFnZSBhbmRcbi8vIHNldHRpbmcgZ2FtbWEgdG8gYmUgZ3JlYXRlciB0aGFuIDEuMCBsaWdodGVucyBpdC5cblxuLy8gUGFyYW1ldGVyc1xuLy8gLS0tLS0tLS0tLVxuLy8gZ2FtbWEgKDptYXRoOmdhbW1hKTogZmxvYXRcbi8vICAgICBSZWFzb25hYmxlIHZhbHVlcyByYW5nZSBmcm9tIDAuOCB0byAyLjQuXG5cbi8vIE5PVEU6IElucHV0IGFycmF5IG11c3QgaGF2ZSBmbG9hdCB2YWx1ZXMgYmV0d2VlbiAwIGFuZCAxIVxuLy8gTk9URTogZ2FtbWEgbXVzdCBiZSA+PSAwXG5jb25zdCBmcyA9IGBcXFxuI2RlZmluZSBlcHNpbG9uIDAuMDAwMDAwMDFcblxudW5pZm9ybSBnYW1tYV9jb250cmFzdFVuaWZvcm1zIHtcbiAgZmxvYXQgZ2FtbWExO1xuICBmbG9hdCBnYW1tYTI7XG4gIGZsb2F0IGdhbW1hMztcbiAgZmxvYXQgZ2FtbWE0O1xufSBnYW1tYV9jb250cmFzdDtcblxuZmxvYXQgZ2FtbWFDb250cmFzdENhbGMoZmxvYXQgYXJyLCBmbG9hdCBnKSB7XG4gIC8vIEdhbW1hIG11c3QgYmUgPiAwXG4gIGcgPSBjbGFtcChnLCBlcHNpbG9uLCBnKTtcblxuICByZXR1cm4gcG93KGFyciwgMS4wIC8gZyk7XG59XG5cbnZlYzQgZ2FtbWFDb250cmFzdENhbGModmVjNCBhcnIsIGZsb2F0IGcxLCBmbG9hdCBnMiwgZmxvYXQgZzMsIGZsb2F0IGc0KSB7XG4gIGFyci5yID0gZ2FtbWFDb250cmFzdENhbGMoYXJyLnIsIGcxKTtcbiAgYXJyLmcgPSBnYW1tYUNvbnRyYXN0Q2FsYyhhcnIuZywgZzIpO1xuICBhcnIuYiA9IGdhbW1hQ29udHJhc3RDYWxjKGFyci5iLCBnMyk7XG4gIGFyci5hID0gZ2FtbWFDb250cmFzdENhbGMoYXJyLmEsIGc0KTtcblxuICByZXR1cm4gYXJyO1xufVxuYDtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtcbiAgICBnYW1tYUNvbnRyYXN0VmFsdWU/OiBudW1iZXI7XG4gICAgZ2FtbWFDb250cmFzdFZhbHVlMT86IG51bWJlcjtcbiAgICBnYW1tYUNvbnRyYXN0VmFsdWUyPzogbnVtYmVyO1xuICAgIGdhbW1hQ29udHJhc3RWYWx1ZTM/OiBudW1iZXI7XG4gICAgZ2FtbWFDb250cmFzdFZhbHVlND86IG51bWJlcjtcbiAgfSA9IHt9XG4pOiBHZXRVbmlmb3Jtc091dHB1dCB7XG4gIGNvbnN0IHtcbiAgICBnYW1tYUNvbnRyYXN0VmFsdWUsXG4gICAgZ2FtbWFDb250cmFzdFZhbHVlMSxcbiAgICBnYW1tYUNvbnRyYXN0VmFsdWUyLFxuICAgIGdhbW1hQ29udHJhc3RWYWx1ZTMsXG4gICAgZ2FtbWFDb250cmFzdFZhbHVlNFxuICB9ID0gb3B0cztcblxuICAvLyBHYW1tYSBtdXN0IGJlID4gMCwgc28gbm90IHVzaW5nIE51bWJlci5pc0Zpbml0ZSBpcyBmaW5lXG5cbiAgaWYgKGdhbW1hQ29udHJhc3RWYWx1ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBnYW1tYTE6IGdhbW1hQ29udHJhc3RWYWx1ZSxcbiAgICAgIGdhbW1hMjogZ2FtbWFDb250cmFzdFZhbHVlLFxuICAgICAgZ2FtbWEzOiBnYW1tYUNvbnRyYXN0VmFsdWUsXG4gICAgICBnYW1tYTQ6IGdhbW1hQ29udHJhc3RWYWx1ZVxuICAgIH07XG4gIH0gZWxzZSBpZiAoXG4gICAgZ2FtbWFDb250cmFzdFZhbHVlMSB8fFxuICAgIGdhbW1hQ29udHJhc3RWYWx1ZTIgfHxcbiAgICBnYW1tYUNvbnRyYXN0VmFsdWUzIHx8XG4gICAgZ2FtbWFDb250cmFzdFZhbHVlNFxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2FtbWExOiBnYW1tYUNvbnRyYXN0VmFsdWUxIHx8IDEsXG4gICAgICBnYW1tYTI6IGdhbW1hQ29udHJhc3RWYWx1ZTIgfHwgMSxcbiAgICAgIGdhbW1hMzogZ2FtbWFDb250cmFzdFZhbHVlMyB8fCAxLFxuICAgICAgZ2FtbWE0OiBnYW1tYUNvbnRyYXN0VmFsdWU0IHx8IDFcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBnYW1tYUNvbnRyYXN0OiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdnYW1tYV9jb250cmFzdCcsXG4gIGZzLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBnYW1tYTE6ICdmMzInLFxuICAgIGdhbW1hMjogJ2YzMicsXG4gICAgZ2FtbWEzOiAnZjMyJyxcbiAgICBnYW1tYTQ6ICdmMzInXG4gIH0sXG4gIGdldFVuaWZvcm1zLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBpbWFnZSA9IGdhbW1hQ29udHJhc3RDYWxjKGltYWdlLCBnYW1tYV9jb250cmFzdC5nYW1tYTEsIGdhbW1hX2NvbnRyYXN0LmdhbW1hMiwgZ2FtbWFfY29udHJhc3QuZ2FtbWEzLCBnYW1tYV9jb250cmFzdC5nYW1tYTQpO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFNQSxFQUFFLDBpQkF5QlA7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBUUM7RUFBQSxJQVBuQkMsSUFNQyxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDLENBQUM7RUFFTixJQUNFRyxrQkFBa0IsR0FLaEJKLElBQUksQ0FMTkksa0JBQWtCO0lBQ2xCQyxtQkFBbUIsR0FJakJMLElBQUksQ0FKTkssbUJBQW1CO0lBQ25CQyxtQkFBbUIsR0FHakJOLElBQUksQ0FITk0sbUJBQW1CO0lBQ25CQyxtQkFBbUIsR0FFakJQLElBQUksQ0FGTk8sbUJBQW1CO0lBQ25CQyxtQkFBbUIsR0FDakJSLElBQUksQ0FETlEsbUJBQW1COztFQUdyQjs7RUFFQSxJQUFJSixrQkFBa0IsRUFBRTtJQUN0QixPQUFPO01BQ0xLLE1BQU0sRUFBRUwsa0JBQWtCO01BQzFCTSxNQUFNLEVBQUVOLGtCQUFrQjtNQUMxQk8sTUFBTSxFQUFFUCxrQkFBa0I7TUFDMUJRLE1BQU0sRUFBRVI7SUFDVixDQUFDO0VBQ0gsQ0FBQyxNQUFNLElBQ0xDLG1CQUFtQixJQUNuQkMsbUJBQW1CLElBQ25CQyxtQkFBbUIsSUFDbkJDLG1CQUFtQixFQUNuQjtJQUNBLE9BQU87TUFDTEMsTUFBTSxFQUFFSixtQkFBbUIsSUFBSSxDQUFDO01BQ2hDSyxNQUFNLEVBQUVKLG1CQUFtQixJQUFJLENBQUM7TUFDaENLLE1BQU0sRUFBRUosbUJBQW1CLElBQUksQ0FBQztNQUNoQ0ssTUFBTSxFQUFFSixtQkFBbUIsSUFBSTtJQUNqQyxDQUFDO0VBQ0g7RUFFQSxPQUFPLElBQUk7QUFDYjtBQUVPLElBQU1LLGFBQTJCLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHO0VBQ3pDRSxJQUFJLEVBQUUsZ0JBQWdCO0VBQ3RCakIsRUFBRSxFQUFGQSxFQUFFO0VBQ0ZrQixZQUFZLEVBQUU7SUFDWlAsTUFBTSxFQUFFLEtBQUs7SUFDYkMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsTUFBTSxFQUFFO0VBQ1YsQ0FBQztFQUNEYixXQUFXLEVBQVhBLFdBQVc7RUFDWGtCLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.linearRescale = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
var fs = "uniform linear_rescaleUniforms {\n float scaler;\n float offset;\n} linear_rescale;\n\n// Perform a linear rescaling of image\nvec4 linear_rescale_fn(vec4 arr, float scaler, float offset) {\n return arr * scaler + offset;\n}\n";
|
|
11
|
-
function getUniforms() {
|
|
12
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
-
var linearRescaleScaler = opts.linearRescaleScaler,
|
|
14
|
-
linearRescaleOffset = opts.linearRescaleOffset;
|
|
15
|
-
if (!Number.isFinite(linearRescaleScaler) && !Number.isFinite(linearRescaleOffset)) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
scaler: Number.isFinite(linearRescaleScaler) ? linearRescaleScaler : 1,
|
|
20
|
-
offset: Number.isFinite(linearRescaleOffset) ? linearRescaleOffset : 0
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
var linearRescale = exports.linearRescale = {
|
|
24
|
-
name: 'linear_rescale',
|
|
25
|
-
fs: fs,
|
|
26
|
-
uniformTypes: {
|
|
27
|
-
scaler: 'f32',
|
|
28
|
-
offset: 'f32'
|
|
29
|
-
},
|
|
30
|
-
getUniforms: getUniforms,
|
|
31
|
-
inject: {
|
|
32
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = linear_rescale_fn(image, linear_rescale.scaler, linear_rescale.offset);\n "
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxpbmVhclJlc2NhbGVTY2FsZXIiLCJsaW5lYXJSZXNjYWxlT2Zmc2V0IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJzY2FsZXIiLCJvZmZzZXQiLCJsaW5lYXJSZXNjYWxlIiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2NvbG9yL2xpbmVhci1yZXNjYWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBmcyA9IGBcXFxudW5pZm9ybSBsaW5lYXJfcmVzY2FsZVVuaWZvcm1zIHtcbiAgZmxvYXQgc2NhbGVyO1xuICBmbG9hdCBvZmZzZXQ7XG59IGxpbmVhcl9yZXNjYWxlO1xuXG4vLyBQZXJmb3JtIGEgbGluZWFyIHJlc2NhbGluZyBvZiBpbWFnZVxudmVjNCBsaW5lYXJfcmVzY2FsZV9mbih2ZWM0IGFyciwgZmxvYXQgc2NhbGVyLCBmbG9hdCBvZmZzZXQpIHtcbiAgcmV0dXJuIGFyciAqIHNjYWxlciArIG9mZnNldDtcbn1cbmA7XG5cbmZ1bmN0aW9uIGdldFVuaWZvcm1zKFxuICBvcHRzOiB7bGluZWFyUmVzY2FsZVNjYWxlcj86IG51bWJlcjsgbGluZWFyUmVzY2FsZU9mZnNldD86IG51bWJlcn0gPSB7fVxuKTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7bGluZWFyUmVzY2FsZVNjYWxlciwgbGluZWFyUmVzY2FsZU9mZnNldH0gPSBvcHRzO1xuXG4gIGlmICghTnVtYmVyLmlzRmluaXRlKGxpbmVhclJlc2NhbGVTY2FsZXIpICYmICFOdW1iZXIuaXNGaW5pdGUobGluZWFyUmVzY2FsZU9mZnNldCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc2NhbGVyOiBOdW1iZXIuaXNGaW5pdGUobGluZWFyUmVzY2FsZVNjYWxlcikgPyBsaW5lYXJSZXNjYWxlU2NhbGVyIDogMSxcbiAgICBvZmZzZXQ6IE51bWJlci5pc0Zpbml0ZShsaW5lYXJSZXNjYWxlT2Zmc2V0KSA/IGxpbmVhclJlc2NhbGVPZmZzZXQgOiAwXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJSZXNjYWxlOiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdsaW5lYXJfcmVzY2FsZScsXG4gIGZzLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBzY2FsZXI6ICdmMzInLFxuICAgIG9mZnNldDogJ2YzMidcbiAgfSxcbiAgZ2V0VW5pZm9ybXMsXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfTVVUQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gbGluZWFyX3Jlc2NhbGVfZm4oaW1hZ2UsIGxpbmVhcl9yZXNjYWxlLnNjYWxlciwgbGluZWFyX3Jlc2NhbGUub2Zmc2V0KTtcbiAgICBgXG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7O0FBSUEsSUFBTUEsRUFBRSwwT0FVUDtBQUVELFNBQVNDLFdBQVdBLENBQUEsRUFFQztFQUFBLElBRG5CQyxJQUFrRSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDLENBQUM7RUFFdkUsSUFBT0csbUJBQW1CLEdBQXlCSixJQUFJLENBQWhESSxtQkFBbUI7SUFBRUMsbUJBQW1CLEdBQUlMLElBQUksQ0FBM0JLLG1CQUFtQjtFQUUvQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDSCxtQkFBbUIsQ0FBQyxJQUFJLENBQUNFLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixtQkFBbUIsQ0FBQyxFQUFFO0lBQ2xGLE9BQU8sSUFBSTtFQUNiO0VBRUEsT0FBTztJQUNMRyxNQUFNLEVBQUVGLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDSCxtQkFBbUIsQ0FBQyxHQUFHQSxtQkFBbUIsR0FBRyxDQUFDO0lBQ3RFSyxNQUFNLEVBQUVILE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixtQkFBbUIsQ0FBQyxHQUFHQSxtQkFBbUIsR0FBRztFQUN2RSxDQUFDO0FBQ0g7QUFFTyxJQUFNSyxhQUEyQixHQUFBQyxPQUFBLENBQUFELGFBQUEsR0FBRztFQUN6Q0UsSUFBSSxFQUFFLGdCQUFnQjtFQUN0QmQsRUFBRSxFQUFGQSxFQUFFO0VBQ0ZlLFlBQVksRUFBRTtJQUNaTCxNQUFNLEVBQUUsS0FBSztJQUNiQyxNQUFNLEVBQUU7RUFDVixDQUFDO0VBQ0RWLFdBQVcsRUFBWEEsV0FBVztFQUNYZSxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.saturation = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Adjusts the saturation of a color.
|
|
12
|
-
* From cesium:
|
|
13
|
-
* https://github.com/CesiumGS/cesium/blob/master/Source/Shaders/Builtin/Functions/saturation.glsl
|
|
14
|
-
*
|
|
15
|
-
* @param {vec3} rgb The color.
|
|
16
|
-
* @param {float} adjustment The amount to adjust the saturation of the color. Usually between 0 and 2.
|
|
17
|
-
*
|
|
18
|
-
* @returns {vec3} The color with the saturation adjusted.
|
|
19
|
-
*/
|
|
20
|
-
var fs = "uniform saturationUniforms {\n float value;\n} saturation;\n\nvec3 saturate(vec3 rgb, float adjustment) {\n // Algorithm from Chapter 16 of OpenGL Shading Language\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, W));\n return mix(intensity, rgb, adjustment);\n}\n";
|
|
21
|
-
function getUniforms() {
|
|
22
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
23
|
-
var saturationValue = opts.saturationValue;
|
|
24
|
-
if (!saturationValue) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
value: Number.isFinite(saturationValue) ? saturationValue : 1
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
var saturation = exports.saturation = {
|
|
32
|
-
name: 'saturation',
|
|
33
|
-
fs: fs,
|
|
34
|
-
uniformTypes: {
|
|
35
|
-
value: 'f32'
|
|
36
|
-
},
|
|
37
|
-
getUniforms: getUniforms,
|
|
38
|
-
inject: {
|
|
39
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(saturate(image.rgb, saturation.value), image.a);\n "
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNhdHVyYXRpb25WYWx1ZSIsInZhbHVlIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJzYXR1cmF0aW9uIiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2NvbG9yL3NhdHVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtHZXRVbmlmb3Jtc091dHB1dCwgU2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgc2F0dXJhdGlvbiBvZiBhIGNvbG9yLlxuICogRnJvbSBjZXNpdW06XG4gKiBodHRwczovL2dpdGh1Yi5jb20vQ2VzaXVtR1MvY2VzaXVtL2Jsb2IvbWFzdGVyL1NvdXJjZS9TaGFkZXJzL0J1aWx0aW4vRnVuY3Rpb25zL3NhdHVyYXRpb24uZ2xzbFxuICpcbiAqIEBwYXJhbSB7dmVjM30gcmdiIFRoZSBjb2xvci5cbiAqIEBwYXJhbSB7ZmxvYXR9IGFkanVzdG1lbnQgVGhlIGFtb3VudCB0byBhZGp1c3QgdGhlIHNhdHVyYXRpb24gb2YgdGhlIGNvbG9yLiBVc3VhbGx5IGJldHdlZW4gMCBhbmQgMi5cbiAqXG4gKiBAcmV0dXJucyB7dmVjM30gVGhlIGNvbG9yIHdpdGggdGhlIHNhdHVyYXRpb24gYWRqdXN0ZWQuXG4gKi9cbmNvbnN0IGZzID0gYFxcXG51bmlmb3JtIHNhdHVyYXRpb25Vbmlmb3JtcyB7XG4gIGZsb2F0IHZhbHVlO1xufSBzYXR1cmF0aW9uO1xuXG52ZWMzIHNhdHVyYXRlKHZlYzMgcmdiLCBmbG9hdCBhZGp1c3RtZW50KSB7XG4gICAgLy8gQWxnb3JpdGhtIGZyb20gQ2hhcHRlciAxNiBvZiBPcGVuR0wgU2hhZGluZyBMYW5ndWFnZVxuICAgIGNvbnN0IHZlYzMgVyA9IHZlYzMoMC4yMTI1LCAwLjcxNTQsIDAuMDcyMSk7XG4gICAgdmVjMyBpbnRlbnNpdHkgPSB2ZWMzKGRvdChyZ2IsIFcpKTtcbiAgICByZXR1cm4gbWl4KGludGVuc2l0eSwgcmdiLCBhZGp1c3RtZW50KTtcbn1cbmA7XG5cbmZ1bmN0aW9uIGdldFVuaWZvcm1zKG9wdHM6IHtzYXR1cmF0aW9uVmFsdWU/OiBudW1iZXJ9ID0ge30pOiBHZXRVbmlmb3Jtc091dHB1dCB7XG4gIGNvbnN0IHtzYXR1cmF0aW9uVmFsdWV9ID0gb3B0cztcblxuICBpZiAoIXNhdHVyYXRpb25WYWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogTnVtYmVyLmlzRmluaXRlKHNhdHVyYXRpb25WYWx1ZSkgPyBzYXR1cmF0aW9uVmFsdWUgOiAxXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzYXR1cmF0aW9uOiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdzYXR1cmF0aW9uJyxcbiAgZnMsXG4gIHVuaWZvcm1UeXBlczoge1xuICAgIHZhbHVlOiAnZjMyJ1xuICB9LFxuICBnZXRVbmlmb3JtcyxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9NVVRBVEVfQ09MT1InOiBgXG4gICAgaW1hZ2UgPSB2ZWM0KHNhdHVyYXRlKGltYWdlLnJnYiwgc2F0dXJhdGlvbi52YWx1ZSksIGltYWdlLmEpO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLEVBQUUseVRBV1A7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBQTJEO0VBQUEsSUFBMURDLElBQWdDLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUN4RCxJQUFPRyxlQUFlLEdBQUlKLElBQUksQ0FBdkJJLGVBQWU7RUFFdEIsSUFBSSxDQUFDQSxlQUFlLEVBQUU7SUFDcEIsT0FBTyxJQUFJO0VBQ2I7RUFFQSxPQUFPO0lBQ0xDLEtBQUssRUFBRUMsTUFBTSxDQUFDQyxRQUFRLENBQUNILGVBQWUsQ0FBQyxHQUFHQSxlQUFlLEdBQUc7RUFDOUQsQ0FBQztBQUNIO0FBRU8sSUFBTUksVUFBd0IsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLEdBQUc7RUFDdENFLElBQUksRUFBRSxZQUFZO0VBQ2xCWixFQUFFLEVBQUZBLEVBQUU7RUFDRmEsWUFBWSxFQUFFO0lBQ1pOLEtBQUssRUFBRTtFQUNULENBQUM7RUFDRE4sV0FBVyxFQUFYQSxXQUFXO0VBQ1hhLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sigmoidalContrast = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// From mapbox/rio-color under the MIT License
|
|
11
|
-
//
|
|
12
|
-
// Sigmoidal contrast is a type of contrast control that
|
|
13
|
-
// adjusts the contrast without saturating highlights or shadows.
|
|
14
|
-
// It allows control over two factors:
|
|
15
|
-
// the contrast range from light to dark, and where the middle value
|
|
16
|
-
// of the mid-tones falls. The result is a non-linear and smooth
|
|
17
|
-
// contrast change.
|
|
18
|
-
// Parameters
|
|
19
|
-
// ----------
|
|
20
|
-
// arr : ndarray, float, 0 .. 1
|
|
21
|
-
// Array of color values to adjust
|
|
22
|
-
// contrast : integer
|
|
23
|
-
// Enhances the intensity differences between the lighter and darker
|
|
24
|
-
// elements of the image. For example, 0 is none, 3 is typical and
|
|
25
|
-
// 20 is a lot.
|
|
26
|
-
// bias : float, between 0 and 1
|
|
27
|
-
// Threshold level for the contrast function to center on
|
|
28
|
-
// (typically centered at 0.5)
|
|
29
|
-
// Notes
|
|
30
|
-
// ----------
|
|
31
|
-
// Sigmoidal contrast is based on the sigmoidal transfer function:
|
|
32
|
-
// .. math:: g(u) = ( 1/(1 + e^{- \alpha * u + \beta)})
|
|
33
|
-
// This sigmoid function is scaled so that the output is bound by
|
|
34
|
-
// the interval [0, 1].
|
|
35
|
-
// .. math:: ( 1/(1 + e^(\beta * (\alpha - u))) - 1/(1 + e^(\beta * \alpha)))/
|
|
36
|
-
// ( 1/(1 + e^(\beta*(\alpha - 1))) - 1/(1 + e^(\beta * \alpha)) )
|
|
37
|
-
// Where :math: `\alpha` is the threshold level, and :math: `\beta` the
|
|
38
|
-
// contrast factor to be applied.
|
|
39
|
-
// References
|
|
40
|
-
// ----------
|
|
41
|
-
// .. [CT] Hany Farid "Fundamentals of Image Processing"
|
|
42
|
-
// http://www.cs.dartmouth.edu/farid/downloads/tutorials/fip.pdf
|
|
43
|
-
var fs = "#define epsilon 0.00000001\n\nuniform sigmoidalContrastUniforms {\n float contrast;\n float bias;\n} sigmoidalContrast;\n\n// NOTE: Input array must have float values between 0 and 1!\n// NOTE: bias must be a scalar float between 0 and 1!\nvec4 calculateSigmoidalContrast(vec4 arr, float contrast, float bias) {\n // We use the names alpha and beta to match documentation.\n float alpha = bias;\n float beta = contrast;\n\n // alpha must be >= 0\n alpha = clamp(alpha, epsilon, alpha);\n\n if (beta > 0.) {\n vec4 numerator = 1. / (1. + exp(beta * (alpha - arr))) - 1. / (\n 1. + exp(beta * alpha)\n );\n float denominator = 1. / (1. + exp(beta * (alpha - 1.))) - 1. / (\n 1. + exp(beta * alpha)\n );\n arr = numerator / denominator;\n } else if (beta < 0.) {\n arr = (\n (beta * alpha) - log(\n (\n 1.0 / (\n (arr / (1.0 + exp((beta * alpha) - beta))) -\n (arr / (1.0 + exp(beta * alpha))) +\n (1.0 / (1.0 + exp(beta * alpha)))\n )\n ) - 1.0)\n ) / beta;\n }\n\n return arr;\n}\n";
|
|
44
|
-
function getUniforms() {
|
|
45
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
46
|
-
var sigmoidalContrast = opts.sigmoidalContrast,
|
|
47
|
-
sigmoidalBias = opts.sigmoidalBias;
|
|
48
|
-
if (!(Number.isFinite(sigmoidalContrast) || Number.isFinite(sigmoidalBias))) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
contrast: Number.isFinite(sigmoidalContrast) ? sigmoidalContrast : 0,
|
|
53
|
-
bias: Number.isFinite(sigmoidalBias) ? sigmoidalBias : 0.5
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
var sigmoidalContrast = exports.sigmoidalContrast = {
|
|
57
|
-
name: 'sigmoidalContrast',
|
|
58
|
-
fs: fs,
|
|
59
|
-
uniformTypes: {
|
|
60
|
-
contrast: 'f32',
|
|
61
|
-
bias: 'f32'
|
|
62
|
-
},
|
|
63
|
-
getUniforms: getUniforms,
|
|
64
|
-
inject: {
|
|
65
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = calculateSigmoidalContrast(image, sigmoidalContrast.contrast, sigmoidalContrast.bias);\n "
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNpZ21vaWRhbENvbnRyYXN0Iiwic2lnbW9pZGFsQmlhcyIsIk51bWJlciIsImlzRmluaXRlIiwiY29udHJhc3QiLCJiaWFzIiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL2NvbG9yL3NpZ21vaWRhbC1jb250cmFzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0dldFVuaWZvcm1zT3V0cHV0LCBTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gRnJvbSBtYXBib3gvcmlvLWNvbG9yIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuLy9cbi8vIFNpZ21vaWRhbCBjb250cmFzdCBpcyBhIHR5cGUgb2YgY29udHJhc3QgY29udHJvbCB0aGF0XG4vLyBhZGp1c3RzIHRoZSBjb250cmFzdCB3aXRob3V0IHNhdHVyYXRpbmcgaGlnaGxpZ2h0cyBvciBzaGFkb3dzLlxuLy8gSXQgYWxsb3dzIGNvbnRyb2wgb3ZlciB0d28gZmFjdG9yczpcbi8vIHRoZSBjb250cmFzdCByYW5nZSBmcm9tIGxpZ2h0IHRvIGRhcmssIGFuZCB3aGVyZSB0aGUgbWlkZGxlIHZhbHVlXG4vLyBvZiB0aGUgbWlkLXRvbmVzIGZhbGxzLiBUaGUgcmVzdWx0IGlzIGEgbm9uLWxpbmVhciBhbmQgc21vb3RoXG4vLyBjb250cmFzdCBjaGFuZ2UuXG4vLyBQYXJhbWV0ZXJzXG4vLyAtLS0tLS0tLS0tXG4vLyBhcnIgOiBuZGFycmF5LCBmbG9hdCwgMCAuLiAxXG4vLyAgICAgQXJyYXkgb2YgY29sb3IgdmFsdWVzIHRvIGFkanVzdFxuLy8gY29udHJhc3QgOiBpbnRlZ2VyXG4vLyAgICAgRW5oYW5jZXMgdGhlIGludGVuc2l0eSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBsaWdodGVyIGFuZCBkYXJrZXJcbi8vICAgICBlbGVtZW50cyBvZiB0aGUgaW1hZ2UuIEZvciBleGFtcGxlLCAwIGlzIG5vbmUsIDMgaXMgdHlwaWNhbCBhbmRcbi8vICAgICAyMCBpcyBhIGxvdC5cbi8vIGJpYXMgOiBmbG9hdCwgYmV0d2VlbiAwIGFuZCAxXG4vLyAgICAgVGhyZXNob2xkIGxldmVsIGZvciB0aGUgY29udHJhc3QgZnVuY3Rpb24gdG8gY2VudGVyIG9uXG4vLyAgICAgKHR5cGljYWxseSBjZW50ZXJlZCBhdCAwLjUpXG4vLyBOb3Rlc1xuLy8gLS0tLS0tLS0tLVxuLy8gU2lnbW9pZGFsIGNvbnRyYXN0IGlzIGJhc2VkIG9uIHRoZSBzaWdtb2lkYWwgdHJhbnNmZXIgZnVuY3Rpb246XG4vLyAuLiBtYXRoOjogZyh1KSA9ICggMS8oMSArIGVeey0gXFxhbHBoYSAqIHUgKyBcXGJldGEpfSlcbi8vIFRoaXMgc2lnbW9pZCBmdW5jdGlvbiBpcyBzY2FsZWQgc28gdGhhdCB0aGUgb3V0cHV0IGlzIGJvdW5kIGJ5XG4vLyB0aGUgaW50ZXJ2YWwgWzAsIDFdLlxuLy8gLi4gbWF0aDo6ICggMS8oMSArIGVeKFxcYmV0YSAqIChcXGFscGhhIC0gdSkpKSAtIDEvKDEgKyBlXihcXGJldGEgKiBcXGFscGhhKSkpL1xuLy8gICAgICggMS8oMSArIGVeKFxcYmV0YSooXFxhbHBoYSAtIDEpKSkgLSAxLygxICsgZV4oXFxiZXRhICogXFxhbHBoYSkpIClcbi8vIFdoZXJlIDptYXRoOiBgXFxhbHBoYWAgaXMgdGhlIHRocmVzaG9sZCBsZXZlbCwgYW5kIDptYXRoOiBgXFxiZXRhYCB0aGVcbi8vIGNvbnRyYXN0IGZhY3RvciB0byBiZSBhcHBsaWVkLlxuLy8gUmVmZXJlbmNlc1xuLy8gLS0tLS0tLS0tLVxuLy8gLi4gW0NUXSBIYW55IEZhcmlkIFwiRnVuZGFtZW50YWxzIG9mIEltYWdlIFByb2Nlc3NpbmdcIlxuLy8gICAgICAgICBodHRwOi8vd3d3LmNzLmRhcnRtb3V0aC5lZHUvZmFyaWQvZG93bmxvYWRzL3R1dG9yaWFscy9maXAucGRmXG5jb25zdCBmcyA9IGBcXFxuI2RlZmluZSBlcHNpbG9uIDAuMDAwMDAwMDFcblxudW5pZm9ybSBzaWdtb2lkYWxDb250cmFzdFVuaWZvcm1zIHtcbiAgZmxvYXQgY29udHJhc3Q7XG4gIGZsb2F0IGJpYXM7XG59IHNpZ21vaWRhbENvbnRyYXN0O1xuXG4vLyBOT1RFOiBJbnB1dCBhcnJheSBtdXN0IGhhdmUgZmxvYXQgdmFsdWVzIGJldHdlZW4gMCBhbmQgMSFcbi8vIE5PVEU6IGJpYXMgbXVzdCBiZSBhIHNjYWxhciBmbG9hdCBiZXR3ZWVuIDAgYW5kIDEhXG52ZWM0IGNhbGN1bGF0ZVNpZ21vaWRhbENvbnRyYXN0KHZlYzQgYXJyLCBmbG9hdCBjb250cmFzdCwgZmxvYXQgYmlhcykge1xuICAvLyBXZSB1c2UgdGhlIG5hbWVzIGFscGhhIGFuZCBiZXRhIHRvIG1hdGNoIGRvY3VtZW50YXRpb24uXG4gIGZsb2F0IGFscGhhID0gYmlhcztcbiAgZmxvYXQgYmV0YSA9IGNvbnRyYXN0O1xuXG4gIC8vIGFscGhhIG11c3QgYmUgPj0gMFxuICBhbHBoYSA9IGNsYW1wKGFscGhhLCBlcHNpbG9uLCBhbHBoYSk7XG5cbiAgaWYgKGJldGEgPiAwLikge1xuICAgIHZlYzQgbnVtZXJhdG9yID0gMS4gLyAoMS4gKyBleHAoYmV0YSAqIChhbHBoYSAtIGFycikpKSAtIDEuIC8gKFxuICAgICAgMS4gKyBleHAoYmV0YSAqIGFscGhhKVxuICAgICk7XG4gICAgZmxvYXQgZGVub21pbmF0b3IgPSAxLiAvICgxLiArIGV4cChiZXRhICogKGFscGhhIC0gMS4pKSkgLSAxLiAvIChcbiAgICAgIDEuICsgZXhwKGJldGEgKiBhbHBoYSlcbiAgICApO1xuICAgIGFyciA9IG51bWVyYXRvciAvIGRlbm9taW5hdG9yO1xuICB9IGVsc2UgaWYgKGJldGEgPCAwLikge1xuICAgIGFyciA9IChcbiAgICAgIChiZXRhICogYWxwaGEpIC0gbG9nKFxuICAgICAgICAoXG4gICAgICAgICAgMS4wIC8gKFxuICAgICAgICAgICAgKGFyciAvICgxLjAgKyBleHAoKGJldGEgKiBhbHBoYSkgLSBiZXRhKSkpIC1cbiAgICAgICAgICAgIChhcnIgLyAoMS4wICsgZXhwKGJldGEgKiBhbHBoYSkpKSArXG4gICAgICAgICAgICAoMS4wIC8gKDEuMCArIGV4cChiZXRhICogYWxwaGEpKSlcbiAgICAgICAgICApXG4gICAgICAgICkgLSAxLjApXG4gICAgKSAvIGJldGE7XG4gIH1cblxuICByZXR1cm4gYXJyO1xufVxuYDtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtzaWdtb2lkYWxDb250cmFzdD86IG51bWJlcjsgc2lnbW9pZGFsQmlhcz86IG51bWJlcn0gPSB7fVxuKTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7c2lnbW9pZGFsQ29udHJhc3QsIHNpZ21vaWRhbEJpYXN9ID0gb3B0cztcblxuICBpZiAoIShOdW1iZXIuaXNGaW5pdGUoc2lnbW9pZGFsQ29udHJhc3QpIHx8IE51bWJlci5pc0Zpbml0ZShzaWdtb2lkYWxCaWFzKSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY29udHJhc3Q6IE51bWJlci5pc0Zpbml0ZShzaWdtb2lkYWxDb250cmFzdCkgPyBzaWdtb2lkYWxDb250cmFzdCA6IDAsXG4gICAgYmlhczogTnVtYmVyLmlzRmluaXRlKHNpZ21vaWRhbEJpYXMpID8gc2lnbW9pZGFsQmlhcyA6IDAuNVxuICB9O1xufVxuXG5leHBvcnQgY29uc3Qgc2lnbW9pZGFsQ29udHJhc3Q6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3NpZ21vaWRhbENvbnRyYXN0JyxcbiAgZnMsXG4gIHVuaWZvcm1UeXBlczoge1xuICAgIGNvbnRyYXN0OiAnZjMyJyxcbiAgICBiaWFzOiAnZjMyJ1xuICB9LFxuICBnZXRVbmlmb3JtcyxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9NVVRBVEVfQ09MT1InOiBgXG4gICAgaW1hZ2UgPSBjYWxjdWxhdGVTaWdtb2lkYWxDb250cmFzdChpbWFnZSwgc2lnbW9pZGFsQ29udHJhc3QuY29udHJhc3QsIHNpZ21vaWRhbENvbnRyYXN0LmJpYXMpO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQSxFQUFFLHlrQ0F5Q1A7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBRUM7RUFBQSxJQURuQkMsSUFBMEQsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBRS9ELElBQU9HLGlCQUFpQixHQUFtQkosSUFBSSxDQUF4Q0ksaUJBQWlCO0lBQUVDLGFBQWEsR0FBSUwsSUFBSSxDQUFyQkssYUFBYTtFQUV2QyxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDSCxpQkFBaUIsQ0FBQyxJQUFJRSxNQUFNLENBQUNDLFFBQVEsQ0FBQ0YsYUFBYSxDQUFDLENBQUMsRUFBRTtJQUMzRSxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEcsUUFBUSxFQUFFRixNQUFNLENBQUNDLFFBQVEsQ0FBQ0gsaUJBQWlCLENBQUMsR0FBR0EsaUJBQWlCLEdBQUcsQ0FBQztJQUNwRUssSUFBSSxFQUFFSCxNQUFNLENBQUNDLFFBQVEsQ0FBQ0YsYUFBYSxDQUFDLEdBQUdBLGFBQWEsR0FBRztFQUN6RCxDQUFDO0FBQ0g7QUFFTyxJQUFNRCxpQkFBK0IsR0FBQU0sT0FBQSxDQUFBTixpQkFBQSxHQUFHO0VBQzdDTyxJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCYixFQUFFLEVBQUZBLEVBQUU7RUFDRmMsWUFBWSxFQUFFO0lBQ1pKLFFBQVEsRUFBRSxLQUFLO0lBQ2ZDLElBQUksRUFBRTtFQUNSLENBQUM7RUFDRFYsV0FBVyxFQUFYQSxXQUFXO0VBQ1hjLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.pansharpenBrovey = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Brovey Method: Each resampled, multispectral pixel is
|
|
11
|
-
// multiplied by the ratio of the corresponding
|
|
12
|
-
// panchromatic pixel intensity to the sum of all the
|
|
13
|
-
// multispectral intensities.
|
|
14
|
-
// Original code from https://github.com/mapbox/rio-pansharpen
|
|
15
|
-
//
|
|
16
|
-
var fs1 = "uniform sampler2D bitmapTexturePan;\n\nuniform pansharpen_broveyUniforms {\n float panWeight;\n} pansharpen_brovey;\n\nfloat pansharpen_brovey_ratio(vec4 rgb, float pan, float weight) {\n return pan / ((rgb.r + rgb.g + rgb.b * weight) / (2. + weight));\n}\n\nvec4 pansharpen_brovey_calc(vec4 rgb, float pan, float weight) {\n float ratio = pansharpen_brovey_ratio(rgb, pan, weight);\n return ratio * rgb;\n}\n";
|
|
17
|
-
var fs2 = "precision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTexturePan;\n#else\n uniform sampler2D bitmapTexturePan;\n#endif\n\nuniform pansharpen_broveyUniforms {\n float panWeight;\n} pansharpen_brovey;\n\nfloat pansharpen_brovey_ratio(vec4 rgb, float pan, float weight) {\n return pan / ((rgb.r + rgb.g + rgb.b * weight) / (2. + weight));\n}\n\nvec4 pansharpen_brovey_calc(vec4 rgb, float pan, float weight) {\n float ratio = pansharpen_brovey_ratio(rgb, pan, weight);\n return ratio * rgb;\n}\n";
|
|
18
|
-
function getUniforms() {
|
|
19
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
20
|
-
var imagePan = opts.imagePan,
|
|
21
|
-
_opts$panWeight = opts.panWeight,
|
|
22
|
-
panWeight = _opts$panWeight === void 0 ? 0.2 : _opts$panWeight;
|
|
23
|
-
if (!imagePan) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return {
|
|
27
|
-
bitmapTexturePan: imagePan,
|
|
28
|
-
panWeight: panWeight
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
var pansharpenBrovey = exports.pansharpenBrovey = {
|
|
32
|
-
name: 'pansharpen_brovey',
|
|
33
|
-
fs1: fs1,
|
|
34
|
-
fs2: fs2,
|
|
35
|
-
uniformTypes: {
|
|
36
|
-
panWeight: 'f32'
|
|
37
|
-
},
|
|
38
|
-
defines: {
|
|
39
|
-
SAMPLER_TYPE: 'sampler2D'
|
|
40
|
-
},
|
|
41
|
-
getUniforms: getUniforms,
|
|
42
|
-
inject: {
|
|
43
|
-
'fs:DECKGL_MUTATE_COLOR': "\n float pan_band = float(texture(bitmapTexturePan, coord).r);\n image = pansharpen_brovey_calc(image, pan_band, pansharpen_brovey.panWeight);\n "
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmczEiLCJmczIiLCJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZVBhbiIsIl9vcHRzJHBhbldlaWdodCIsInBhbldlaWdodCIsImJpdG1hcFRleHR1cmVQYW4iLCJwYW5zaGFycGVuQnJvdmV5IiwiZXhwb3J0cyIsIm5hbWUiLCJ1bmlmb3JtVHlwZXMiLCJkZWZpbmVzIiwiU0FNUExFUl9UWVBFIiwiaW5qZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC9wYW5zaGFycGVuL3BhbnNoYXJwZW4tYnJvdmV5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBCcm92ZXkgTWV0aG9kOiBFYWNoIHJlc2FtcGxlZCwgbXVsdGlzcGVjdHJhbCBwaXhlbCBpc1xuLy8gbXVsdGlwbGllZCBieSB0aGUgcmF0aW8gb2YgdGhlIGNvcnJlc3BvbmRpbmdcbi8vIHBhbmNocm9tYXRpYyBwaXhlbCBpbnRlbnNpdHkgdG8gdGhlIHN1bSBvZiBhbGwgdGhlXG4vLyBtdWx0aXNwZWN0cmFsIGludGVuc2l0aWVzLlxuLy8gT3JpZ2luYWwgY29kZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvcmlvLXBhbnNoYXJwZW5cbi8vXG5jb25zdCBmczEgPSBgXFxcbnVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVQYW47XG5cbnVuaWZvcm0gcGFuc2hhcnBlbl9icm92ZXlVbmlmb3JtcyB7XG4gIGZsb2F0IHBhbldlaWdodDtcbn0gcGFuc2hhcnBlbl9icm92ZXk7XG5cbmZsb2F0IHBhbnNoYXJwZW5fYnJvdmV5X3JhdGlvKHZlYzQgcmdiLCBmbG9hdCBwYW4sIGZsb2F0IHdlaWdodCkge1xuICByZXR1cm4gcGFuIC8gKChyZ2IuciArIHJnYi5nICsgcmdiLmIgKiB3ZWlnaHQpIC8gKDIuICsgd2VpZ2h0KSk7XG59XG5cbnZlYzQgcGFuc2hhcnBlbl9icm92ZXlfY2FsYyh2ZWM0IHJnYiwgZmxvYXQgcGFuLCBmbG9hdCB3ZWlnaHQpIHtcbiAgZmxvYXQgcmF0aW8gPSBwYW5zaGFycGVuX2Jyb3ZleV9yYXRpbyhyZ2IsIHBhbiwgd2VpZ2h0KTtcbiAgcmV0dXJuIHJhdGlvICogcmdiO1xufVxuYDtcblxuY29uc3QgZnMyID0gYFxcXG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVQYW47XG4jZWxzZVxuICB1bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUGFuO1xuI2VuZGlmXG5cbnVuaWZvcm0gcGFuc2hhcnBlbl9icm92ZXlVbmlmb3JtcyB7XG4gIGZsb2F0IHBhbldlaWdodDtcbn0gcGFuc2hhcnBlbl9icm92ZXk7XG5cbmZsb2F0IHBhbnNoYXJwZW5fYnJvdmV5X3JhdGlvKHZlYzQgcmdiLCBmbG9hdCBwYW4sIGZsb2F0IHdlaWdodCkge1xuICByZXR1cm4gcGFuIC8gKChyZ2IuciArIHJnYi5nICsgcmdiLmIgKiB3ZWlnaHQpIC8gKDIuICsgd2VpZ2h0KSk7XG59XG5cbnZlYzQgcGFuc2hhcnBlbl9icm92ZXlfY2FsYyh2ZWM0IHJnYiwgZmxvYXQgcGFuLCBmbG9hdCB3ZWlnaHQpIHtcbiAgZmxvYXQgcmF0aW8gPSBwYW5zaGFycGVuX2Jyb3ZleV9yYXRpbyhyZ2IsIHBhbiwgd2VpZ2h0KTtcbiAgcmV0dXJuIHJhdGlvICogcmdiO1xufVxuYDtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMob3B0czoge2ltYWdlUGFuPzogVGV4dHVyZTsgcGFuV2VpZ2h0PzogbnVtYmVyfSA9IHt9KTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7aW1hZ2VQYW4sIHBhbldlaWdodCA9IDAuMn0gPSBvcHRzO1xuXG4gIGlmICghaW1hZ2VQYW4pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYml0bWFwVGV4dHVyZVBhbjogaW1hZ2VQYW4sXG4gICAgcGFuV2VpZ2h0XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBwYW5zaGFycGVuQnJvdmV5OiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdwYW5zaGFycGVuX2Jyb3ZleScsXG4gIGZzMSxcbiAgZnMyLFxuICB1bmlmb3JtVHlwZXM6IHtcbiAgICBwYW5XZWlnaHQ6ICdmMzInXG4gIH0sXG4gIGRlZmluZXM6IHtcbiAgICBTQU1QTEVSX1RZUEU6ICdzYW1wbGVyMkQnXG4gIH0sXG4gIGdldFVuaWZvcm1zLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBmbG9hdCBwYW5fYmFuZCA9IGZsb2F0KHRleHR1cmUoYml0bWFwVGV4dHVyZVBhbiwgY29vcmQpLnIpO1xuICAgIGltYWdlID0gcGFuc2hhcnBlbl9icm92ZXlfY2FsYyhpbWFnZSwgcGFuX2JhbmQsIHBhbnNoYXJwZW5fYnJvdmV5LnBhbldlaWdodCk7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLEdBQUcsa2FBZVI7QUFFRCxJQUFNQyxHQUFHLG1oQkFxQlI7QUFFRCxTQUFTQyxXQUFXQSxDQUFBLEVBQXlFO0VBQUEsSUFBeEVDLElBQThDLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUN0RSxJQUFPRyxRQUFRLEdBQXFCSixJQUFJLENBQWpDSSxRQUFRO0lBQUFDLGVBQUEsR0FBcUJMLElBQUksQ0FBdkJNLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxlQUFBLGNBQUcsR0FBRyxHQUFBQSxlQUFBO0VBRWhDLElBQUksQ0FBQ0QsUUFBUSxFQUFFO0lBQ2IsT0FBTyxJQUFJO0VBQ2I7RUFFQSxPQUFPO0lBQ0xHLGdCQUFnQixFQUFFSCxRQUFRO0lBQzFCRSxTQUFTLEVBQVRBO0VBQ0YsQ0FBQztBQUNIO0FBRU8sSUFBTUUsZ0JBQThCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRztFQUM1Q0UsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QmIsR0FBRyxFQUFIQSxHQUFHO0VBQ0hDLEdBQUcsRUFBSEEsR0FBRztFQUNIYSxZQUFZLEVBQUU7SUFDWkwsU0FBUyxFQUFFO0VBQ2IsQ0FBQztFQUNETSxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCLENBQUM7RUFDRGQsV0FBVyxFQUFYQSxXQUFXO0VBQ1hlLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUkxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.enhancedVegetationIndex = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Calculate enhanced vegetation index
|
|
11
|
-
// Expected to be ordered:
|
|
12
|
-
// red: Landsat 8 band 5
|
|
13
|
-
// green: Landsat 8 band 4
|
|
14
|
-
// blue: Landsat 8 band 2
|
|
15
|
-
//
|
|
16
|
-
// EVI = 2.5 * ((Band 5 – Band 4) / (Band 5 + 6 * Band 4 – 7.5 * Band 2 + 1))
|
|
17
|
-
// https://www.usgs.gov/land-resources/nli/landsat/landsat-enhanced-vegetation-index
|
|
18
|
-
var fs = "float enhanced_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n float band2 = image.b;\n\n float numerator = band5 - band4;\n float denominator = band5 + (6. * band4) - (7.5 * band2) + 1.;\n return 2.5 * (numerator / denominator);\n}\n";
|
|
19
|
-
var enhancedVegetationIndex = exports.enhancedVegetationIndex = {
|
|
20
|
-
name: 'enhanced_vegetation_index',
|
|
21
|
-
fs: fs,
|
|
22
|
-
inject: {
|
|
23
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(enhanced_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImVuaGFuY2VkVmVnZXRhdGlvbkluZGV4IiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvZXZpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIENhbGN1bGF0ZSBlbmhhbmNlZCB2ZWdldGF0aW9uIGluZGV4XG4vLyBFeHBlY3RlZCB0byBiZSBvcmRlcmVkOlxuLy8gcmVkOiBMYW5kc2F0IDggYmFuZCA1XG4vLyBncmVlbjogTGFuZHNhdCA4IGJhbmQgNFxuLy8gYmx1ZTogTGFuZHNhdCA4IGJhbmQgMlxuLy9cbi8vIEVWSSA9IDIuNSAqICgoQmFuZCA1IOKAkyBCYW5kIDQpIC8gKEJhbmQgNSArIDYgKiBCYW5kIDQg4oCTIDcuNSAqIEJhbmQgMiArIDEpKVxuLy8gaHR0cHM6Ly93d3cudXNncy5nb3YvbGFuZC1yZXNvdXJjZXMvbmxpL2xhbmRzYXQvbGFuZHNhdC1lbmhhbmNlZC12ZWdldGF0aW9uLWluZGV4XG5jb25zdCBmcyA9IGBcXFxuZmxvYXQgZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKHZlYzQgaW1hZ2UpIHtcbiAgZmxvYXQgYmFuZDUgPSBpbWFnZS5yO1xuICBmbG9hdCBiYW5kNCA9IGltYWdlLmc7XG4gIGZsb2F0IGJhbmQyID0gaW1hZ2UuYjtcblxuICBmbG9hdCBudW1lcmF0b3IgPSBiYW5kNSAtIGJhbmQ0O1xuICBmbG9hdCBkZW5vbWluYXRvciA9IGJhbmQ1ICsgKDYuICogYmFuZDQpIC0gKDcuNSAqIGJhbmQyKSArIDEuO1xuICByZXR1cm4gMi41ICogKG51bWVyYXRvciAvIGRlbm9taW5hdG9yKTtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBlbmhhbmNlZFZlZ2V0YXRpb25JbmRleDogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleCcsXG4gIGZzLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBpbWFnZSA9IHZlYzQoZW5oYW5jZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKGltYWdlKSwgMC4sIDAuLCAwLik7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQSxFQUFFLDZSQVVQO0FBRU0sSUFBTUMsdUJBQXFDLEdBQUFDLE9BQUEsQ0FBQUQsdUJBQUEsR0FBRztFQUNuREUsSUFBSSxFQUFFLDJCQUEyQjtFQUNqQ0gsRUFBRSxFQUFGQSxFQUFFO0VBQ0ZJLE1BQU0sRUFBRTtJQUNOLHdCQUF3QjtFQUcxQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.modifiedSoilAdjustedVegetationIndex = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Calculate modified soil-adjusted vegetation index
|
|
11
|
-
// Expected to be ordered:
|
|
12
|
-
// red: Landsat 8 band 5
|
|
13
|
-
// green: Landsat 8 band 4
|
|
14
|
-
//
|
|
15
|
-
// MSAVI = (2 * Band 5 + 1 – sqrt ((2 * Band 5 + 1)^2 – 8 * (Band 5 – Band 4))) / 2
|
|
16
|
-
// https://www.usgs.gov/land-resources/nli/landsat/landsat-modified-soil-adjusted-vegetation-index
|
|
17
|
-
var fs = "float modified_soil_adjusted_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n\n float to_sqrt = ((2. * band5 + 1.) * (2. * band5 + 1.)) - (8. * (band5 - band4));\n return ((2. * band5) + 1. - sqrt(to_sqrt)) / 2.;\n}\n";
|
|
18
|
-
var modifiedSoilAdjustedVegetationIndex = exports.modifiedSoilAdjustedVegetationIndex = {
|
|
19
|
-
name: 'modified_soil_adjusted_vegetation_index',
|
|
20
|
-
fs: fs,
|
|
21
|
-
inject: {
|
|
22
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(modified_soil_adjusted_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIm1vZGlmaWVkU29pbEFkanVzdGVkVmVnZXRhdGlvbkluZGV4IiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvbXNhdmkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gQ2FsY3VsYXRlIG1vZGlmaWVkIHNvaWwtYWRqdXN0ZWQgdmVnZXRhdGlvbiBpbmRleFxuLy8gRXhwZWN0ZWQgdG8gYmUgb3JkZXJlZDpcbi8vIHJlZDogTGFuZHNhdCA4IGJhbmQgNVxuLy8gZ3JlZW46IExhbmRzYXQgOCBiYW5kIDRcbi8vXG4vLyBNU0FWSSA9ICgyICogQmFuZCA1ICsgMSDigJMgc3FydCAoKDIgKiBCYW5kIDUgKyAxKV4yIOKAkyA4ICogKEJhbmQgNSDigJMgQmFuZCA0KSkpIC8gMlxuLy8gaHR0cHM6Ly93d3cudXNncy5nb3YvbGFuZC1yZXNvdXJjZXMvbmxpL2xhbmRzYXQvbGFuZHNhdC1tb2RpZmllZC1zb2lsLWFkanVzdGVkLXZlZ2V0YXRpb24taW5kZXhcbmNvbnN0IGZzID0gYFxcXG5mbG9hdCBtb2RpZmllZF9zb2lsX2FkanVzdGVkX3ZlZ2V0YXRpb25faW5kZXhfY2FsYyh2ZWM0IGltYWdlKSB7XG4gIGZsb2F0IGJhbmQ1ID0gaW1hZ2UucjtcbiAgZmxvYXQgYmFuZDQgPSBpbWFnZS5nO1xuXG4gIGZsb2F0IHRvX3NxcnQgPSAoKDIuICogYmFuZDUgKyAxLikgKiAoMi4gKiBiYW5kNSArIDEuKSkgLSAoOC4gKiAoYmFuZDUgLSBiYW5kNCkpO1xuICByZXR1cm4gKCgyLiAqIGJhbmQ1KSArIDEuIC0gc3FydCh0b19zcXJ0KSkgLyAyLjtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBtb2RpZmllZFNvaWxBZGp1c3RlZFZlZ2V0YXRpb25JbmRleDogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnbW9kaWZpZWRfc29pbF9hZGp1c3RlZF92ZWdldGF0aW9uX2luZGV4JyxcbiAgZnMsXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfTVVUQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gdmVjNChtb2RpZmllZF9zb2lsX2FkanVzdGVkX3ZlZ2V0YXRpb25faW5kZXhfY2FsYyhpbWFnZSksIDAuLCAwLiwgMC4pO1xuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1BLEVBQUUseVFBUVA7QUFFTSxJQUFNQyxtQ0FBaUQsR0FBQUMsT0FBQSxDQUFBRCxtQ0FBQSxHQUFHO0VBQy9ERSxJQUFJLEVBQUUseUNBQXlDO0VBQy9DSCxFQUFFLEVBQUZBLEVBQUU7RUFDRkksTUFBTSxFQUFFO0lBQ04sd0JBQXdCO0VBRzFCO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.normalizedDifference = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Calculate standard normalized difference
|
|
11
|
-
var fs = "float normalized_difference_calc(vec4 image) {\n return ((image.r - image.g) / (image.r + image.g));\n}\n";
|
|
12
|
-
var normalizedDifference = exports.normalizedDifference = {
|
|
13
|
-
name: 'normalized_difference',
|
|
14
|
-
fs: fs,
|
|
15
|
-
inject: {
|
|
16
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(normalized_difference_calc(image), 0., 0., 0.);\n "
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIm5vcm1hbGl6ZWREaWZmZXJlbmNlIiwiZXhwb3J0cyIsIm5hbWUiLCJpbmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3NwZWN0cmFsLWluZGljZXMvbm9ybWFsaXplZC1kaWZmZXJlbmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIENhbGN1bGF0ZSBzdGFuZGFyZCBub3JtYWxpemVkIGRpZmZlcmVuY2VcbmNvbnN0IGZzID0gYFxcXG5mbG9hdCBub3JtYWxpemVkX2RpZmZlcmVuY2VfY2FsYyh2ZWM0IGltYWdlKSB7XG4gIHJldHVybiAoKGltYWdlLnIgLSBpbWFnZS5nKSAvIChpbWFnZS5yICsgaW1hZ2UuZykpO1xufVxuYDtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZWREaWZmZXJlbmNlOiBTaGFkZXJNb2R1bGUgPSB7XG4gIG5hbWU6ICdub3JtYWxpemVkX2RpZmZlcmVuY2UnLFxuICBmcyxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9NVVRBVEVfQ09MT1InOiBgXG4gICAgaW1hZ2UgPSB2ZWM0KG5vcm1hbGl6ZWRfZGlmZmVyZW5jZV9jYWxjKGltYWdlKSwgMC4sIDAuLCAwLik7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUlBO0FBQ0EsSUFBTUEsRUFBRSwrR0FJUDtBQUVNLElBQU1DLG9CQUFrQyxHQUFBQyxPQUFBLENBQUFELG9CQUFBLEdBQUc7RUFDaERFLElBQUksRUFBRSx1QkFBdUI7RUFDN0JILEVBQUUsRUFBRkEsRUFBRTtFQUNGSSxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.soilAdjustedVegetationIndex = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
// Calculate soil-adjusted vegetation index
|
|
11
|
-
// SAVI = ((Band 5 – Band 4) / (Band 5 + Band 4 + 0.5)) * (1.5).
|
|
12
|
-
// https://www.usgs.gov/land-resources/nli/landsat/landsat-soil-adjusted-vegetation-index
|
|
13
|
-
var fs = "float soil_adjusted_vegetation_index_calc(vec4 image) {\n float band5 = image.r;\n float band4 = image.g;\n\n float numerator = band5 - band4;\n float denominator = (band5 + band4 + 0.5) * 1.5;\n return numerator / denominator;\n}\n";
|
|
14
|
-
var soilAdjustedVegetationIndex = exports.soilAdjustedVegetationIndex = {
|
|
15
|
-
name: 'soil_adjusted_vegetation_index',
|
|
16
|
-
fs: fs,
|
|
17
|
-
inject: {
|
|
18
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = vec4(soil_adjusted_vegetation_index_calc(image), 0., 0., 0.);\n "
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsInNvaWxBZGp1c3RlZFZlZ2V0YXRpb25JbmRleCIsImV4cG9ydHMiLCJuYW1lIiwiaW5qZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC9zcGVjdHJhbC1pbmRpY2VzL3NhdmkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gQ2FsY3VsYXRlIHNvaWwtYWRqdXN0ZWQgdmVnZXRhdGlvbiBpbmRleFxuLy8gU0FWSSA9ICgoQmFuZCA1IOKAkyBCYW5kIDQpIC8gKEJhbmQgNSArIEJhbmQgNCArIDAuNSkpICogKDEuNSkuXG4vLyBodHRwczovL3d3dy51c2dzLmdvdi9sYW5kLXJlc291cmNlcy9ubGkvbGFuZHNhdC9sYW5kc2F0LXNvaWwtYWRqdXN0ZWQtdmVnZXRhdGlvbi1pbmRleFxuY29uc3QgZnMgPSBgXFxcbmZsb2F0IHNvaWxfYWRqdXN0ZWRfdmVnZXRhdGlvbl9pbmRleF9jYWxjKHZlYzQgaW1hZ2UpIHtcbiAgZmxvYXQgYmFuZDUgPSBpbWFnZS5yO1xuICBmbG9hdCBiYW5kNCA9IGltYWdlLmc7XG5cbiAgZmxvYXQgbnVtZXJhdG9yID0gYmFuZDUgLSBiYW5kNDtcbiAgZmxvYXQgZGVub21pbmF0b3IgPSAoYmFuZDUgKyBiYW5kNCArIDAuNSkgKiAxLjU7XG4gIHJldHVybiBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjtcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBzb2lsQWRqdXN0ZWRWZWdldGF0aW9uSW5kZXg6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3NvaWxfYWRqdXN0ZWRfdmVnZXRhdGlvbl9pbmRleCcsXG4gIGZzLFxuICBpbmplY3Q6IHtcbiAgICAnZnM6REVDS0dMX01VVEFURV9DT0xPUic6IGBcbiAgICBpbWFnZSA9IHZlYzQoc29pbF9hZGp1c3RlZF92ZWdldGF0aW9uX2luZGV4X2NhbGMoaW1hZ2UpLCAwLiwgMC4sIDAuKTtcbiAgICBgXG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsRUFBRSxrUEFTUDtBQUVNLElBQU1DLDJCQUF5QyxHQUFBQyxPQUFBLENBQUFELDJCQUFBLEdBQUc7RUFDdkRFLElBQUksRUFBRSxnQ0FBZ0M7RUFDdENILEVBQUUsRUFBRkEsRUFBRTtFQUNGSSxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.combineBandsUint = exports.combineBandsInt = exports.combineBandsFloat = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
// SPDX-License-Identifier: MIT
|
|
13
|
-
// Copyright contributors to the kepler.gl project
|
|
14
|
-
|
|
15
|
-
function getUniforms() {
|
|
16
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17
|
-
var imageBands = opts.imageBands;
|
|
18
|
-
if (!imageBands || imageBands.length === 0) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
var _imageBands = (0, _slicedToArray2["default"])(imageBands, 4),
|
|
22
|
-
bitmapTextureR = _imageBands[0],
|
|
23
|
-
bitmapTextureG = _imageBands[1],
|
|
24
|
-
bitmapTextureB = _imageBands[2],
|
|
25
|
-
bitmapTextureA = _imageBands[3];
|
|
26
|
-
|
|
27
|
-
// return default values to prevent deck.gl validation warnings.
|
|
28
|
-
// Note: all bands must be set for the shadow effect to work as expected.
|
|
29
|
-
return {
|
|
30
|
-
bitmapTextureR: bitmapTextureR || bitmapTextureR,
|
|
31
|
-
bitmapTextureG: bitmapTextureG || bitmapTextureR,
|
|
32
|
-
bitmapTextureB: bitmapTextureB || bitmapTextureR,
|
|
33
|
-
bitmapTextureA: bitmapTextureA || bitmapTextureR
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
var fs1 = "uniform sampler2D bitmapTextureR;\nuniform sampler2D bitmapTextureG;\nuniform sampler2D bitmapTextureB;\nuniform sampler2D bitmapTextureA;\n";
|
|
37
|
-
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureR;\n uniform SAMPLER_TYPE bitmapTextureG;\n uniform SAMPLER_TYPE bitmapTextureB;\n uniform SAMPLER_TYPE bitmapTextureA;\n#else\n uniform sampler2D bitmapTextureR;\n uniform sampler2D bitmapTextureG;\n uniform sampler2D bitmapTextureB;\n uniform sampler2D bitmapTextureA;\n#endif\n";
|
|
38
|
-
var combineBands = {
|
|
39
|
-
name: 'combine-bands',
|
|
40
|
-
fs1: fs1,
|
|
41
|
-
fs2: fs2,
|
|
42
|
-
getUniforms: getUniforms,
|
|
43
|
-
defines: {
|
|
44
|
-
SAMPLER_TYPE: 'sampler2D'
|
|
45
|
-
},
|
|
46
|
-
inject: {
|
|
47
|
-
'fs:DECKGL_CREATE_COLOR': "\n float channel1 = float(texture2D(bitmapTextureR, coord).r);\n float channel2 = float(texture2D(bitmapTextureG, coord).r);\n float channel3 = float(texture2D(bitmapTextureB, coord).r);\n float channel4 = float(texture2D(bitmapTextureA, coord).r);\n\n image = vec4(channel1, channel2, channel3, channel4);\n "
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
var combineBandsFloat = exports.combineBandsFloat = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
51
|
-
name: 'combine-bands-float'
|
|
52
|
-
});
|
|
53
|
-
var combineBandsUint = exports.combineBandsUint = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
54
|
-
name: 'combine-bands-uint',
|
|
55
|
-
defines: {
|
|
56
|
-
SAMPLER_TYPE: 'usampler2D'
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
var combineBandsInt = exports.combineBandsInt = _objectSpread(_objectSpread({}, combineBands), {}, {
|
|
60
|
-
name: 'combine-bands-int',
|
|
61
|
-
defines: {
|
|
62
|
-
SAMPLER_TYPE: 'isampler2D'
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZUJhbmRzIiwiX2ltYWdlQmFuZHMiLCJfc2xpY2VkVG9BcnJheTIiLCJiaXRtYXBUZXh0dXJlUiIsImJpdG1hcFRleHR1cmVHIiwiYml0bWFwVGV4dHVyZUIiLCJiaXRtYXBUZXh0dXJlQSIsImZzMSIsImZzMiIsImNvbWJpbmVCYW5kcyIsIm5hbWUiLCJkZWZpbmVzIiwiU0FNUExFUl9UWVBFIiwiaW5qZWN0IiwiY29tYmluZUJhbmRzRmxvYXQiLCJleHBvcnRzIiwiX29iamVjdFNwcmVhZCIsImNvbWJpbmVCYW5kc1VpbnQiLCJjb21iaW5lQmFuZHNJbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmFzdGVyL3dlYmdsL3RleHR1cmUvY29tYmluZS1iYW5kcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgdHlwZSB7VGV4dHVyZX0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5pbXBvcnQge0dldFVuaWZvcm1zT3V0cHV0LCBTaGFkZXJNb2R1bGV9IGZyb20gJy4uL3R5cGVzJztcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMob3B0czoge2ltYWdlQmFuZHM/OiBUZXh0dXJlW119ID0ge30pOiBHZXRVbmlmb3Jtc091dHB1dCB7XG4gIGNvbnN0IHtpbWFnZUJhbmRzfSA9IG9wdHM7XG5cbiAgaWYgKCFpbWFnZUJhbmRzIHx8IGltYWdlQmFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBbYml0bWFwVGV4dHVyZVIsIGJpdG1hcFRleHR1cmVHLCBiaXRtYXBUZXh0dXJlQiwgYml0bWFwVGV4dHVyZUFdID0gaW1hZ2VCYW5kcztcblxuICAvLyByZXR1cm4gZGVmYXVsdCB2YWx1ZXMgdG8gcHJldmVudCBkZWNrLmdsIHZhbGlkYXRpb24gd2FybmluZ3MuXG4gIC8vIE5vdGU6IGFsbCBiYW5kcyBtdXN0IGJlIHNldCBmb3IgdGhlIHNoYWRvdyBlZmZlY3QgdG8gd29yayBhcyBleHBlY3RlZC5cbiAgcmV0dXJuIHtcbiAgICBiaXRtYXBUZXh0dXJlUjogYml0bWFwVGV4dHVyZVIgfHwgYml0bWFwVGV4dHVyZVIsXG4gICAgYml0bWFwVGV4dHVyZUc6IGJpdG1hcFRleHR1cmVHIHx8IGJpdG1hcFRleHR1cmVSLFxuICAgIGJpdG1hcFRleHR1cmVCOiBiaXRtYXBUZXh0dXJlQiB8fCBiaXRtYXBUZXh0dXJlUixcbiAgICBiaXRtYXBUZXh0dXJlQTogYml0bWFwVGV4dHVyZUEgfHwgYml0bWFwVGV4dHVyZVJcbiAgfTtcbn1cblxuY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUjtcbnVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVHO1xudW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZUI7XG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlQTtcbmA7XG5cbmNvbnN0IGZzMiA9IGBcXFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5wcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVSO1xuICB1bmlmb3JtIFNBTVBMRVJfVFlQRSBiaXRtYXBUZXh0dXJlRztcbiAgdW5pZm9ybSBTQU1QTEVSX1RZUEUgYml0bWFwVGV4dHVyZUI7XG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVBO1xuI2Vsc2VcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZVI7XG4gIHVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVHO1xuICB1bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlQjtcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZUE7XG4jZW5kaWZcbmA7XG5cbmNvbnN0IGNvbWJpbmVCYW5kczogU2hhZGVyTW9kdWxlID0ge1xuICBuYW1lOiAnY29tYmluZS1iYW5kcycsXG4gIGZzMSxcbiAgZnMyLFxuICBnZXRVbmlmb3JtcyxcbiAgZGVmaW5lczoge1xuICAgIFNBTVBMRVJfVFlQRTogJ3NhbXBsZXIyRCdcbiAgfSxcbiAgaW5qZWN0OiB7XG4gICAgJ2ZzOkRFQ0tHTF9DUkVBVEVfQ09MT1InOiBgXG4gICAgZmxvYXQgY2hhbm5lbDEgPSBmbG9hdCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZVIsIGNvb3JkKS5yKTtcbiAgICBmbG9hdCBjaGFubmVsMiA9IGZsb2F0KHRleHR1cmUyRChiaXRtYXBUZXh0dXJlRywgY29vcmQpLnIpO1xuICAgIGZsb2F0IGNoYW5uZWwzID0gZmxvYXQodGV4dHVyZTJEKGJpdG1hcFRleHR1cmVCLCBjb29yZCkucik7XG4gICAgZmxvYXQgY2hhbm5lbDQgPSBmbG9hdCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZUEsIGNvb3JkKS5yKTtcblxuICAgIGltYWdlID0gdmVjNChjaGFubmVsMSwgY2hhbm5lbDIsIGNoYW5uZWwzLCBjaGFubmVsNCk7XG4gICAgYFxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZUJhbmRzRmxvYXQ6IFNoYWRlck1vZHVsZSA9IHtcbiAgLi4uY29tYmluZUJhbmRzLFxuICBuYW1lOiAnY29tYmluZS1iYW5kcy1mbG9hdCdcbn07XG5leHBvcnQgY29uc3QgY29tYmluZUJhbmRzVWludDogU2hhZGVyTW9kdWxlID0ge1xuICAuLi5jb21iaW5lQmFuZHMsXG4gIG5hbWU6ICdjb21iaW5lLWJhbmRzLXVpbnQnLFxuICBkZWZpbmVzOiB7XG4gICAgU0FNUExFUl9UWVBFOiAndXNhbXBsZXIyRCdcbiAgfVxufTtcbmV4cG9ydCBjb25zdCBjb21iaW5lQmFuZHNJbnQ6IFNoYWRlck1vZHVsZSA9IHtcbiAgLi4uY29tYmluZUJhbmRzLFxuICBuYW1lOiAnY29tYmluZS1iYW5kcy1pbnQnLFxuICBkZWZpbmVzOiB7XG4gICAgU0FNUExFUl9UWVBFOiAnaXNhbXBsZXIyRCdcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUtBLFNBQVNBLFdBQVdBLENBQUEsRUFBeUQ7RUFBQSxJQUF4REMsSUFBOEIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBQ3RELElBQU9HLFVBQVUsR0FBSUosSUFBSSxDQUFsQkksVUFBVTtFQUVqQixJQUFJLENBQUNBLFVBQVUsSUFBSUEsVUFBVSxDQUFDRixNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQzFDLE9BQU8sSUFBSTtFQUNiO0VBRUEsSUFBQUcsV0FBQSxPQUFBQyxlQUFBLGFBQXlFRixVQUFVO0lBQTVFRyxjQUFjLEdBQUFGLFdBQUE7SUFBRUcsY0FBYyxHQUFBSCxXQUFBO0lBQUVJLGNBQWMsR0FBQUosV0FBQTtJQUFFSyxjQUFjLEdBQUFMLFdBQUE7O0VBRXJFO0VBQ0E7RUFDQSxPQUFPO0lBQ0xFLGNBQWMsRUFBRUEsY0FBYyxJQUFJQSxjQUFjO0lBQ2hEQyxjQUFjLEVBQUVBLGNBQWMsSUFBSUQsY0FBYztJQUNoREUsY0FBYyxFQUFFQSxjQUFjLElBQUlGLGNBQWM7SUFDaERHLGNBQWMsRUFBRUEsY0FBYyxJQUFJSDtFQUNwQyxDQUFDO0FBQ0g7QUFFQSxJQUFNSSxHQUFHLGlKQUtSO0FBRUQsSUFBTUMsR0FBRyxnYkFnQlI7QUFFRCxJQUFNQyxZQUEwQixHQUFHO0VBQ2pDQyxJQUFJLEVBQUUsZUFBZTtFQUNyQkgsR0FBRyxFQUFIQSxHQUFHO0VBQ0hDLEdBQUcsRUFBSEEsR0FBRztFQUNIYixXQUFXLEVBQVhBLFdBQVc7RUFDWGdCLE9BQU8sRUFBRTtJQUNQQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQztFQUNEQyxNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFRMUI7QUFDRixDQUFDO0FBRU0sSUFBTUMsaUJBQStCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBQ3ZDUCxZQUFZO0VBQ2ZDLElBQUksRUFBRTtBQUFxQixFQUM1QjtBQUNNLElBQU1PLGdCQUE4QixHQUFBRixPQUFBLENBQUFFLGdCQUFBLEdBQUFELGFBQUEsQ0FBQUEsYUFBQSxLQUN0Q1AsWUFBWTtFQUNmQyxJQUFJLEVBQUUsb0JBQW9CO0VBQzFCQyxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCO0FBQUMsRUFDRjtBQUNNLElBQU1NLGVBQTZCLEdBQUFILE9BQUEsQ0FBQUcsZUFBQSxHQUFBRixhQUFBLENBQUFBLGFBQUEsS0FDckNQLFlBQVk7RUFDZkMsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QkMsT0FBTyxFQUFFO0lBQ1BDLFlBQVksRUFBRTtFQUNoQjtBQUFDLEVBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.maskUint = exports.maskInt = exports.maskFloat = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
var inf = Math.pow(2, 62);
|
|
11
|
-
function getUniforms() {
|
|
12
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
-
var imageMask = opts.imageMask,
|
|
14
|
-
maskKeepMin = opts.maskKeepMin,
|
|
15
|
-
maskKeepMax = opts.maskKeepMax;
|
|
16
|
-
if (!imageMask) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
bitmapTextureMask: imageMask,
|
|
21
|
-
keepMin: Number.isFinite(maskKeepMin) ? maskKeepMin : -inf,
|
|
22
|
-
keepMax: Number.isFinite(maskKeepMax) ? maskKeepMax : inf
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
var maskUniformTypes = {
|
|
26
|
-
keepMin: 'f32',
|
|
27
|
-
keepMax: 'f32'
|
|
28
|
-
};
|
|
29
|
-
function makeMaskModule(name, samplerType) {
|
|
30
|
-
var blockDecl = "uniform ".concat(name, "Uniforms {\n float keepMin;\n float keepMax;\n} ").concat(name, ";\n");
|
|
31
|
-
var fs1 = "uniform sampler2D bitmapTextureMask;\n".concat(blockDecl, "\n");
|
|
32
|
-
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureMask;\n#else\n uniform sampler2D bitmapTextureMask;\n#endif\n\n".concat(blockDecl, "\n");
|
|
33
|
-
return {
|
|
34
|
-
name: name,
|
|
35
|
-
fs1: fs1,
|
|
36
|
-
fs2: fs2,
|
|
37
|
-
uniformTypes: maskUniformTypes,
|
|
38
|
-
getUniforms: getUniforms,
|
|
39
|
-
defines: {
|
|
40
|
-
SAMPLER_TYPE: samplerType
|
|
41
|
-
},
|
|
42
|
-
inject: {
|
|
43
|
-
'fs:DECKGL_CREATE_COLOR': "\n float mask_value = float(texture(bitmapTextureMask, coord).r);\n if (mask_value < ".concat(name, ".keepMin) discard;\n if (mask_value > ").concat(name, ".keepMax) discard;\n ")
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
var maskFloat = exports.maskFloat = makeMaskModule('mask_image_float', 'sampler2D');
|
|
48
|
-
var maskUint = exports.maskUint = makeMaskModule('mask_image_uint', 'usampler2D');
|
|
49
|
-
var maskInt = exports.maskInt = makeMaskModule('mask_image_int', 'isampler2D');
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmYiLCJNYXRoIiwicG93IiwiZ2V0VW5pZm9ybXMiLCJvcHRzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaW1hZ2VNYXNrIiwibWFza0tlZXBNaW4iLCJtYXNrS2VlcE1heCIsImJpdG1hcFRleHR1cmVNYXNrIiwia2VlcE1pbiIsIk51bWJlciIsImlzRmluaXRlIiwia2VlcE1heCIsIm1hc2tVbmlmb3JtVHlwZXMiLCJtYWtlTWFza01vZHVsZSIsIm5hbWUiLCJzYW1wbGVyVHlwZSIsImJsb2NrRGVjbCIsImNvbmNhdCIsImZzMSIsImZzMiIsInVuaWZvcm1UeXBlcyIsImRlZmluZXMiLCJTQU1QTEVSX1RZUEUiLCJpbmplY3QiLCJtYXNrRmxvYXQiLCJleHBvcnRzIiwibWFza1VpbnQiLCJtYXNrSW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC90ZXh0dXJlL21hc2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHR5cGUge1RleHR1cmV9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHtHZXRVbmlmb3Jtc091dHB1dCwgU2hhZGVyTW9kdWxlfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGluZiA9IE1hdGgucG93KDIsIDYyKTtcblxuZnVuY3Rpb24gZ2V0VW5pZm9ybXMoXG4gIG9wdHM6IHtpbWFnZU1hc2s/OiBUZXh0dXJlOyBtYXNrS2VlcE1pbj86IG51bWJlcjsgbWFza0tlZXBNYXg/OiBudW1iZXJ9ID0ge31cbik6IEdldFVuaWZvcm1zT3V0cHV0IHtcbiAgY29uc3Qge2ltYWdlTWFzaywgbWFza0tlZXBNaW4sIG1hc2tLZWVwTWF4fSA9IG9wdHM7XG4gIGlmICghaW1hZ2VNYXNrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJpdG1hcFRleHR1cmVNYXNrOiBpbWFnZU1hc2ssXG4gICAga2VlcE1pbjogTnVtYmVyLmlzRmluaXRlKG1hc2tLZWVwTWluKSA/IG1hc2tLZWVwTWluIDogLWluZixcbiAgICBrZWVwTWF4OiBOdW1iZXIuaXNGaW5pdGUobWFza0tlZXBNYXgpID8gbWFza0tlZXBNYXggOiBpbmZcbiAgfTtcbn1cblxuY29uc3QgbWFza1VuaWZvcm1UeXBlcyA9IHtcbiAga2VlcE1pbjogJ2YzMicsXG4gIGtlZXBNYXg6ICdmMzInXG59O1xuXG5mdW5jdGlvbiBtYWtlTWFza01vZHVsZShuYW1lOiBzdHJpbmcsIHNhbXBsZXJUeXBlOiBzdHJpbmcpOiBTaGFkZXJNb2R1bGUge1xuICBjb25zdCBibG9ja0RlY2wgPSBgXFxcbnVuaWZvcm0gJHtuYW1lfVVuaWZvcm1zIHtcbiAgZmxvYXQga2VlcE1pbjtcbiAgZmxvYXQga2VlcE1heDtcbn0gJHtuYW1lfTtcbmA7XG5cbiAgY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlTWFzaztcbiR7YmxvY2tEZWNsfVxuYDtcblxuICBjb25zdCBmczIgPSBgXFxcbnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xucHJlY2lzaW9uIG1lZGl1bXAgaW50O1xucHJlY2lzaW9uIG1lZGl1bXAgdXNhbXBsZXIyRDtcblxuI2lmZGVmIFNBTVBMRVJfVFlQRVxuICB1bmlmb3JtIFNBTVBMRVJfVFlQRSBiaXRtYXBUZXh0dXJlTWFzaztcbiNlbHNlXG4gIHVuaWZvcm0gc2FtcGxlcjJEIGJpdG1hcFRleHR1cmVNYXNrO1xuI2VuZGlmXG5cbiR7YmxvY2tEZWNsfVxuYDtcblxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgZnMxLFxuICAgIGZzMixcbiAgICB1bmlmb3JtVHlwZXM6IG1hc2tVbmlmb3JtVHlwZXMsXG4gICAgZ2V0VW5pZm9ybXMsXG4gICAgZGVmaW5lczoge1xuICAgICAgU0FNUExFUl9UWVBFOiBzYW1wbGVyVHlwZVxuICAgIH0sXG4gICAgaW5qZWN0OiB7XG4gICAgICAnZnM6REVDS0dMX0NSRUFURV9DT0xPUic6IGBcbiAgICBmbG9hdCBtYXNrX3ZhbHVlID0gZmxvYXQodGV4dHVyZShiaXRtYXBUZXh0dXJlTWFzaywgY29vcmQpLnIpO1xuICAgIGlmIChtYXNrX3ZhbHVlIDwgJHtuYW1lfS5rZWVwTWluKSBkaXNjYXJkO1xuICAgIGlmIChtYXNrX3ZhbHVlID4gJHtuYW1lfS5rZWVwTWF4KSBkaXNjYXJkO1xuICAgIGBcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBtYXNrRmxvYXQ6IFNoYWRlck1vZHVsZSA9IG1ha2VNYXNrTW9kdWxlKCdtYXNrX2ltYWdlX2Zsb2F0JywgJ3NhbXBsZXIyRCcpO1xuZXhwb3J0IGNvbnN0IG1hc2tVaW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV91aW50JywgJ3VzYW1wbGVyMkQnKTtcbmV4cG9ydCBjb25zdCBtYXNrSW50OiBTaGFkZXJNb2R1bGUgPSBtYWtlTWFza01vZHVsZSgnbWFza19pbWFnZV9pbnQnLCAnaXNhbXBsZXIyRCcpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUtBLElBQU1BLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUUzQixTQUFTQyxXQUFXQSxDQUFBLEVBRUM7RUFBQSxJQURuQkMsSUFBdUUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBRTVFLElBQU9HLFNBQVMsR0FBOEJKLElBQUksQ0FBM0NJLFNBQVM7SUFBRUMsV0FBVyxHQUFpQkwsSUFBSSxDQUFoQ0ssV0FBVztJQUFFQyxXQUFXLEdBQUlOLElBQUksQ0FBbkJNLFdBQVc7RUFDMUMsSUFBSSxDQUFDRixTQUFTLEVBQUU7SUFDZCxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEcsaUJBQWlCLEVBQUVILFNBQVM7SUFDNUJJLE9BQU8sRUFBRUMsTUFBTSxDQUFDQyxRQUFRLENBQUNMLFdBQVcsQ0FBQyxHQUFHQSxXQUFXLEdBQUcsQ0FBQ1QsR0FBRztJQUMxRGUsT0FBTyxFQUFFRixNQUFNLENBQUNDLFFBQVEsQ0FBQ0osV0FBVyxDQUFDLEdBQUdBLFdBQVcsR0FBR1Y7RUFDeEQsQ0FBQztBQUNIO0FBRUEsSUFBTWdCLGdCQUFnQixHQUFHO0VBQ3ZCSixPQUFPLEVBQUUsS0FBSztFQUNkRyxPQUFPLEVBQUU7QUFDWCxDQUFDO0FBRUQsU0FBU0UsY0FBY0EsQ0FBQ0MsSUFBWSxFQUFFQyxXQUFtQixFQUFnQjtFQUN2RSxJQUFNQyxTQUFTLGNBQUFDLE1BQUEsQ0FDUEgsSUFBSSx3REFBQUcsTUFBQSxDQUdWSCxJQUFJLFFBQ1A7RUFFQyxJQUFNSSxHQUFHLDRDQUFBRCxNQUFBLENBRVRELFNBQVMsT0FDVjtFQUVDLElBQU1HLEdBQUcsa05BQUFGLE1BQUEsQ0FXVEQsU0FBUyxPQUNWO0VBRUMsT0FBTztJQUNMRixJQUFJLEVBQUpBLElBQUk7SUFDSkksR0FBRyxFQUFIQSxHQUFHO0lBQ0hDLEdBQUcsRUFBSEEsR0FBRztJQUNIQyxZQUFZLEVBQUVSLGdCQUFnQjtJQUM5QmIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hzQixPQUFPLEVBQUU7TUFDUEMsWUFBWSxFQUFFUDtJQUNoQixDQUFDO0lBQ0RRLE1BQU0sRUFBRTtNQUNOLHdCQUF3QixnR0FBQU4sTUFBQSxDQUVQSCxJQUFJLCtDQUFBRyxNQUFBLENBQ0pILElBQUk7SUFFdkI7RUFDRixDQUFDO0FBQ0g7QUFFTyxJQUFNVSxTQUF1QixHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBR1gsY0FBYyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztBQUMvRSxJQUFNYSxRQUFzQixHQUFBRCxPQUFBLENBQUFDLFFBQUEsR0FBR2IsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQztBQUM5RSxJQUFNYyxPQUFxQixHQUFBRixPQUFBLENBQUFFLE9BQUEsR0FBR2QsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.constructPermutationMatrix = constructPermutationMatrix;
|
|
7
|
-
exports.reorderBands = void 0;
|
|
8
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
9
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
-
// SPDX-License-Identifier: MIT
|
|
12
|
-
// Copyright contributors to the kepler.gl project
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Reorder image bands on GPU
|
|
16
|
-
* Uses a permutation matrix to reorder a vec4
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
var fs = "uniform reorder_bandsUniforms {\n mat4 ordering;\n} reorder_bands;\n\nvec4 reorder_image(vec4 image, mat4 ordering) {\n return image.rgba * ordering;\n}\n";
|
|
20
|
-
function getUniforms() {
|
|
21
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
-
var ordering = opts.ordering;
|
|
23
|
-
if (!ordering) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return {
|
|
27
|
-
ordering: constructPermutationMatrix(ordering)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Construct permutation matrix from vector
|
|
33
|
-
*
|
|
34
|
-
* @param vector Vector describing how to reorder bands
|
|
35
|
-
*
|
|
36
|
-
* @return a mat4 permutation matrix representing how to reorder bands
|
|
37
|
-
*/
|
|
38
|
-
function constructPermutationMatrix(vector) {
|
|
39
|
-
var mat4 = Array(16).fill(0);
|
|
40
|
-
var row = 0;
|
|
41
|
-
var _iterator = _createForOfIteratorHelper(vector),
|
|
42
|
-
_step;
|
|
43
|
-
try {
|
|
44
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45
|
-
var index = _step.value;
|
|
46
|
-
mat4[row * 4 + index] = 1;
|
|
47
|
-
row += 1;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// If input vector wasn't of length 4, add identity in final places
|
|
51
|
-
} catch (err) {
|
|
52
|
-
_iterator.e(err);
|
|
53
|
-
} finally {
|
|
54
|
-
_iterator.f();
|
|
55
|
-
}
|
|
56
|
-
for (var r = row; r < 4; r++) {
|
|
57
|
-
mat4[r * 4 + r] = 1;
|
|
58
|
-
}
|
|
59
|
-
return mat4;
|
|
60
|
-
}
|
|
61
|
-
var reorderBands = exports.reorderBands = {
|
|
62
|
-
name: 'reorder_bands',
|
|
63
|
-
fs: fs,
|
|
64
|
-
uniformTypes: {
|
|
65
|
-
ordering: 'mat4x4<f32>'
|
|
66
|
-
},
|
|
67
|
-
getUniforms: getUniforms,
|
|
68
|
-
inject: {
|
|
69
|
-
'fs:DECKGL_MUTATE_COLOR': "\n image = reorder_image(image, reorder_bands.ordering);\n "
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsImdldFVuaWZvcm1zIiwib3B0cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm9yZGVyaW5nIiwiY29uc3RydWN0UGVybXV0YXRpb25NYXRyaXgiLCJ2ZWN0b3IiLCJtYXQ0IiwiQXJyYXkiLCJmaWxsIiwicm93IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImluZGV4IiwidmFsdWUiLCJlcnIiLCJlIiwiZiIsInIiLCJyZW9yZGVyQmFuZHMiLCJleHBvcnRzIiwibmFtZSIsInVuaWZvcm1UeXBlcyIsImluamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yYXN0ZXIvd2ViZ2wvdGV4dHVyZS9yZW9yZGVyLWJhbmRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7U2hhZGVyTW9kdWxlLCBHZXRVbmlmb3Jtc091dHB1dH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFJlb3JkZXIgaW1hZ2UgYmFuZHMgb24gR1BVXG4gKiBVc2VzIGEgcGVybXV0YXRpb24gbWF0cml4IHRvIHJlb3JkZXIgYSB2ZWM0XG4gKi9cblxuY29uc3QgZnMgPSBgXFxcbnVuaWZvcm0gcmVvcmRlcl9iYW5kc1VuaWZvcm1zIHtcbiAgbWF0NCBvcmRlcmluZztcbn0gcmVvcmRlcl9iYW5kcztcblxudmVjNCByZW9yZGVyX2ltYWdlKHZlYzQgaW1hZ2UsIG1hdDQgb3JkZXJpbmcpIHtcbiAgcmV0dXJuIGltYWdlLnJnYmEgKiBvcmRlcmluZztcbn1cbmA7XG5cbmZ1bmN0aW9uIGdldFVuaWZvcm1zKG9wdHM6IHtvcmRlcmluZz86IG51bWJlcltdfSA9IHt9KTogR2V0VW5pZm9ybXNPdXRwdXQge1xuICBjb25zdCB7b3JkZXJpbmd9ID0gb3B0cztcblxuICBpZiAoIW9yZGVyaW5nKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG9yZGVyaW5nOiBjb25zdHJ1Y3RQZXJtdXRhdGlvbk1hdHJpeChvcmRlcmluZylcbiAgfTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgcGVybXV0YXRpb24gbWF0cml4IGZyb20gdmVjdG9yXG4gKlxuICogQHBhcmFtIHZlY3RvciAgVmVjdG9yIGRlc2NyaWJpbmcgaG93IHRvIHJlb3JkZXIgYmFuZHNcbiAqXG4gKiBAcmV0dXJuIGEgbWF0NCBwZXJtdXRhdGlvbiBtYXRyaXggcmVwcmVzZW50aW5nIGhvdyB0byByZW9yZGVyIGJhbmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RQZXJtdXRhdGlvbk1hdHJpeCh2ZWN0b3I6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICBjb25zdCBtYXQ0ID0gQXJyYXkoMTYpLmZpbGwoMCk7XG4gIGxldCByb3cgPSAwO1xuICBmb3IgKGNvbnN0IGluZGV4IG9mIHZlY3Rvcikge1xuICAgIG1hdDRbcm93ICogNCArIGluZGV4XSA9IDE7XG4gICAgcm93ICs9IDE7XG4gIH1cblxuICAvLyBJZiBpbnB1dCB2ZWN0b3Igd2Fzbid0IG9mIGxlbmd0aCA0LCBhZGQgaWRlbnRpdHkgaW4gZmluYWwgcGxhY2VzXG4gIGZvciAobGV0IHIgPSByb3c7IHIgPCA0OyByKyspIHtcbiAgICBtYXQ0W3IgKiA0ICsgcl0gPSAxO1xuICB9XG5cbiAgcmV0dXJuIG1hdDQ7XG59XG5cbmV4cG9ydCBjb25zdCByZW9yZGVyQmFuZHM6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3Jlb3JkZXJfYmFuZHMnLFxuICBmcyxcbiAgdW5pZm9ybVR5cGVzOiB7XG4gICAgb3JkZXJpbmc6ICdtYXQ0eDQ8ZjMyPidcbiAgfSxcbiAgZ2V0VW5pZm9ybXMsXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfTVVUQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gcmVvcmRlcl9pbWFnZShpbWFnZSwgcmVvcmRlcl9iYW5kcy5vcmRlcmluZyk7XG4gICAgYFxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFNQSxFQUFFLGlLQVFQO0FBRUQsU0FBU0MsV0FBV0EsQ0FBQSxFQUFzRDtFQUFBLElBQXJEQyxJQUEyQixHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDLENBQUM7RUFDbkQsSUFBT0csUUFBUSxHQUFJSixJQUFJLENBQWhCSSxRQUFRO0VBRWYsSUFBSSxDQUFDQSxRQUFRLEVBQUU7SUFDYixPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEEsUUFBUSxFQUFFQywwQkFBMEIsQ0FBQ0QsUUFBUTtFQUMvQyxDQUFDO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQywwQkFBMEJBLENBQUNDLE1BQWdCLEVBQVk7RUFDckUsSUFBTUMsSUFBSSxHQUFHQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDOUIsSUFBSUMsR0FBRyxHQUFHLENBQUM7RUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBQ1FOLE1BQU07SUFBQU8sS0FBQTtFQUFBO0lBQTFCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBQyxJQUFBLEdBQTRCO01BQUEsSUFBakJDLEtBQUssR0FBQUosS0FBQSxDQUFBSyxLQUFBO01BQ2RYLElBQUksQ0FBQ0csR0FBRyxHQUFHLENBQUMsR0FBR08sS0FBSyxDQUFDLEdBQUcsQ0FBQztNQUN6QlAsR0FBRyxJQUFJLENBQUM7SUFDVjs7SUFFQTtFQUFBLFNBQUFTLEdBQUE7SUFBQVIsU0FBQSxDQUFBUyxDQUFBLENBQUFELEdBQUE7RUFBQTtJQUFBUixTQUFBLENBQUFVLENBQUE7RUFBQTtFQUNBLEtBQUssSUFBSUMsQ0FBQyxHQUFHWixHQUFHLEVBQUVZLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO0lBQzVCZixJQUFJLENBQUNlLENBQUMsR0FBRyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxHQUFHLENBQUM7RUFDckI7RUFFQSxPQUFPZixJQUFJO0FBQ2I7QUFFTyxJQUFNZ0IsWUFBMEIsR0FBQUMsT0FBQSxDQUFBRCxZQUFBLEdBQUc7RUFDeENFLElBQUksRUFBRSxlQUFlO0VBQ3JCM0IsRUFBRSxFQUFGQSxFQUFFO0VBQ0Y0QixZQUFZLEVBQUU7SUFDWnRCLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREwsV0FBVyxFQUFYQSxXQUFXO0VBQ1g0QixNQUFNLEVBQUU7SUFDTix3QkFBd0I7RUFHMUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|