В настоящее время ImageData стал конструктором , который вы можете легко поместить в 2d-контекст.
То, что он ожидает в качестве аргументов, - это UInt8ClampedArray, ширина и высота.
Итак, из Uint16Array, представляющего пиксельные данные rgba, вам просто нужно будет сделать
var data = your_uint16array;
var u8 = new Uint8ClampedArray(data.buffer);
var img = new ImageData(u8, width, height);
ctx.putImageData(img, 0,0);
Но согласно вашему скриншоту, у вас есть массив Uint16Array, так что вы будетевероятно, сначала нужно объединить все эти Uint16Arrays в один.
Также обратите внимание, что Uint16Array - это странное представление данных пикселя rgba, Uint32Array - более обычный (#ffff vs #ffffffff).