UNPKG

pixel-utils

Version:
91 lines (90 loc) 4.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = rawToRgba; var _quickScale = require("quick-scale"); var _makeNoDataRgba = _interopRequireDefault(require("../make-no-data-rgba")); var _makeNoDataRgbaString = _interopRequireDefault(require("../make-no-data-rgba-string")); var _convertSingle = _interopRequireDefault(require("./convert-single")); var _convertSingleStr = _interopRequireDefault(require("./convert-single-str")); var _convertDouble = _interopRequireDefault(require("./convert-double")); var _convertDoubleStr = _interopRequireDefault(require("./convert-double-str")); var _convertDoubleAll = _interopRequireDefault(require("./convert-double-all")); var _convertDoubleAllStr = _interopRequireDefault(require("./convert-double-all-str")); var _convertMultiband = _interopRequireDefault(require("./convert-multiband")); var _convertMultibandStr = _interopRequireDefault(require("./convert-multiband-str")); var _convertMultibandAll = _interopRequireDefault(require("./convert-multiband-all")); var _convertMultibandAllStr = _interopRequireDefault(require("./convert-multiband-all-str")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function rawToRgba({ debug_level = 0, format = "array", ranges, flip = false, new_no_data_value, no_data_strategy, no_range_value, no_range_value_strategy, old_no_data_value }) { if (debug_level >= 1) console.log("[pixel-utils/raw-to-rgba] ranges:", ranges); const nbands = ranges.length; const new_range = [0 === new_no_data_value ? 1 : 0, 255 === new_no_data_value ? 254 : 255]; if (debug_level >= 1) console.log("[pixel-utils/raw-to-rgba] new_range:", new_range); const options = { no_data_value: new_no_data_value, flip, no_range_value, no_range_value_strategy, round: true }; if (debug_level >= 1) console.log("[pixel-utils/raw-to-rgba] options:", options); const scalefns = ranges.slice(0, 3).map(rng => (0, _quickScale.createScaleFunction)(rng, new_range, options)); if (nbands === 1) { if (format === "string") { // @ts-ignore return _convertSingleStr.default.bind(null, old_no_data_value, (0, _makeNoDataRgbaString.default)(new_no_data_value !== null && new_no_data_value !== void 0 ? new_no_data_value : "null"), scalefns[0]); } else if (format === "array") { // @ts-ignore return _convertSingle.default.bind(null, old_no_data_value, (0, _makeNoDataRgba.default)(new_no_data_value), scalefns[0]); } } else if (nbands === 2) { if (no_data_strategy === "all") { if (format === "string") { // @ts-ignore return _convertDoubleAllStr.default.bind(null, old_no_data_value, (0, _makeNoDataRgbaString.default)(new_no_data_value !== null && new_no_data_value !== void 0 ? new_no_data_value : "null"), ...scalefns); } else if (format === "array") { // @ts-ignore return _convertDoubleAll.default.bind(null, old_no_data_value, (0, _makeNoDataRgba.default)(new_no_data_value), ...scalefns); } } else { if (format === "string") { // @ts-ignore return _convertDoubleStr.default.bind(null, old_no_data_value, new_no_data_value !== null && new_no_data_value !== void 0 ? new_no_data_value : "null", ...scalefns); } else if (format === "array") { // @ts-ignore return _convertDouble.default.bind(null, old_no_data_value, new_no_data_value, ...scalefns); } } } else if (nbands >= 3) { if (no_data_strategy === "all") { if (format === "string") { // @ts-ignore return _convertMultibandAllStr.default.bind(null, old_no_data_value, (0, _makeNoDataRgbaString.default)(new_no_data_value), ...scalefns); } else if (format === "array") { // @ts-ignore return _convertMultibandAll.default.bind(null, old_no_data_value, (0, _makeNoDataRgba.default)(new_no_data_value), ...scalefns); } } else { if (format === "string") { // @ts-ignore return _convertMultibandStr.default.bind(null, old_no_data_value, new_no_data_value, ...scalefns); } else if (format === "array") { // @ts-ignore return _convertMultiband.default.bind(null, old_no_data_value, new_no_data_value, ...scalefns); } } } throw Error("uh oh"); }