【问题标题】:Change window level(window center) and window width of the Image on Canvas更改画布上图像的窗口级别(窗口中心)和窗口宽度
【发布时间】:2024-04-11 10:05:19
【问题描述】:

我的服务器上有 Dicom 文件。我将像素数据转换(压缩)为 JPEG base64 字符串并将其发送到我的WebApplication.WebApplication 在画布上显示此字符串。完美运行。

我想在客户端执行窗口级别和窗口宽度更改操作。我怎样才能做到这一点?无论如何我可以分别将亮度和对比度与窗口水平和窗口宽度准确关联。我在客户端只有一个JPEG base64编码的字符串来实现这个场景。

【问题讨论】:

    标签: javascript html canvas dicom


    【解决方案1】:

    是的,看看基石库并使用它或从中借鉴想法:

    演示应用: http://chafey.github.io/cornerstoneDemo/

    核心库: https://github.com/chafey/cornerstone

    论坛: https://groups.google.com/forum/#!forum/cornerstone-platform

    【讨论】:

    • @Chris...我在画布上有一个简单的 jpeg base64 字符串。你的 ImageLoaders 中也有同样的情况吗??
    • 这些示例有图像加载器,其中嵌入了 16 位图像作为 base 64 字符串。我不建议使用 base64 字符串,因为浏览器可以有效地返回二进制数据。基石渲染到画布中
    • 抱歉回复晚了...您是否使用 js 在客户端执行 DICOM 文件的解析?...如果是这种情况,它不能满足我的目的,因为我在服务器上解析 DCM 文件,并且仅获取 jpeg 压缩的 base64 字符串客户端..您对此有何看法??
    • Cornerstone 旨在通过图像加载器机制以任何格式显示图像:github.com/chafey/cornerstone/wiki/ImageLoader
    • @ChrisHafey - 嘿,我现在正在使用基石并试图理解它,但我不知道您应用了哪个步骤/功能?我没有看到基于窗口宽度/中心值更改 imageDataData 变量(具有像素值)?另外,我想要相同的亮度/对比度条来控制图像和视频,对于图像,我将使用基石窗口级别来做到这一点,但对于视频,我将使用 css 过滤器来做到这一点。你知道将窗口宽度/中心转换为亮度/对比度(百分比值)的公式是什么吗?