【发布时间】:2018-10-20 09:06:37
【问题描述】:
我正在使用 XTK 库做一个 DICOM 项目。现在我需要从输入的 DICOM 文件创建一个缩略图列表(输出图像可以是 PNG 或 JPG)。
在渲染过程中,XTK 在每个 DICOM 文件的Uint16Array 中提供像素数据数组。但我不知道将这些像素数据转换为画布。
我搜索了一些相关的文章或问题,但一无所获。
【问题讨论】:
标签: javascript canvas dicom xtk uint16
我正在使用 XTK 库做一个 DICOM 项目。现在我需要从输入的 DICOM 文件创建一个缩略图列表(输出图像可以是 PNG 或 JPG)。
在渲染过程中,XTK 在每个 DICOM 文件的Uint16Array 中提供像素数据数组。但我不知道将这些像素数据转换为画布。
我搜索了一些相关的文章或问题,但一无所获。
【问题讨论】:
标签: javascript canvas dicom xtk uint16
如今,ImageData has become a constructor,您可以轻松地将其置于 2d 上下文中。
它期望作为参数的是一个 UInt8ClampedArray、一个宽度和一个高度。
所以从表示 rgba 像素数据的 Uint16Array 中,你只需要这样做
var data = your_uint16array;
var u8 = new Uint8ClampedArray(data.buffer);
var img = new ImageData(u8, width, height);
ctx.putImageData(img, 0,0);
但是根据你的截图,你实际上是一个 Uint16Array 的数组,所以你可能必须首先将所有这些 Uint16Array 合并为一个。
另请注意,Uint16Array 是 rgba 像素数据的奇怪视图,Uint32Array 更传统(#ffff 与 #ffffffff)。
【讨论】: