function integerBufferToColorizedImageData(
eUint32,
lutBuffer,
{ stretch = true, colorSpace = DEFAULT_IMAGEDATA_COLOR_SPACE } = {}
) {
let { width, height, buffer, min, max, bitDepth } = eUint32;
let range = stretch ? max - min : 1 << bitDepth;
let scaleSteps = lutBuffer.length / 4;
let factor = range / scaleSteps;
let rgb = new ImageData(width, height, { colorSpace });
buffer.forEach((v, i) => {
const colorIndex =
Math.floor(stretch ? (v - min) / factor : v / factor) * 4;
const vRGB = lutBuffer.subarray(colorIndex, colorIndex + 4);
rgb.data.set(vRGB, i * 4);
});
return rgb;
}