在 Web 应用程序上查看 DICOM 图像

发布于 2024-10-08 21:28:15 字数 141 浏览 5 评论 0原文

我需要知道DICOM图像是否需要在浏览器上显示,应该采用哪种方法? 我的图像服务器位于云上的其他位置。需要访问 dicom 图像,在画布上绘画,如果用户编辑,则将编辑后的图像上传到服务器。 还需要有良好的性能,因为 DICOM 图像非常大(~1GB) 哪种方法最好?

I need to know if DICOM image needs to be shown on Browser, which approach should be followed?
My Image server is some where else on cloud. need to access the dicom image, paint in canvas, if user edits then upload the edited image to server.
Need to have good performance as well, as DICOM images are very huge in size(~1gb)
Which is the best way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挖个坑埋了你 2024-10-15 21:28:15

1) DICOM 图像通常不被用户修改。 (也许是注释或窗口/中心值),但它是不同的。

2) 大多数 DICOM 图像约为 1Mb,因此您的图像非常特别。我怀疑大多数标准观众会加载它们。

3) 没有显示器能够一次显示 1Gb,因此发送小分辨率版本的图像(最大 1mpx)就足够了,并且只需发送缩放区域的更新。

鉴于这一切,您必须更好地解释您的问题。

1) DICOM images aren't usually modified by users. (maybe annotations or window/center values), but it's different.

2) Most DICOM images are ~1Mb, so yours are very special. I doubt that most standard viewers would load them.

3) No display is able to show 1Gb at a time, so it's enough to send a small-resolution version of image (max 1mpx), and just send updates for zoomed areas.

Given all this, you'll have to explain better your question.

初吻给了烟 2024-10-15 21:28:15

DICOM 并不是真正为这种用例而设计的。这不仅是 DICOM 图像通常不会被用户修改(尽管这是事实)。当您更改像素数据时,更改图像的标识符(SOPInstanceUID)可能是有意义的,并且您应该更改图像的类型以表明它现在是派生图像。

如果您要修改像素数据,创建新图像可能是最安全的,因为 DICOM 图像通常是医学图像,是患者医疗记录的一部分。它们应该被修改。例如,如果原件上的肿瘤图像被删除,因为放射科医生在初步诊断中遗漏了这些图像,而有一项悬而未决的诉讼,该怎么办?

如果您不进行医学图像处理……您应该避免使用 DICOM。在其预期用途中,这是一个很棒的协议,但它并不是真正意义上的通用分布式图像编辑协议。

我所知道的 1GB 方法的唯一医学图像是病理图像。为此,您可以考虑使用 JPIP 查看图像(甚至在 DICOM 规范中也是如此)。但这对编辑部分没有帮助,因为 JPIP 用于使用图像,而不是增量修改它们。

DICOM wasn't really designed for this use case. It's not only that DICOM images aren't usually modified by users (although that's true). When you change the pixel data it may make sense to change the image's identifiers (the SOPInstanceUID) and you should change the image's type indicate that it's now a derived image.

If you're modifying pixel data it's probably safest to create a new image since DICOM images are typically medical images which are part of a patient's medical record. They should not be modified. What if (for example) there were images of tumors on the original that were removed because there was a pending lawsuit for the radiologist who had missed these in the initial diagnosis?

If you're not doing medical image processing.. you should avoid DICOM. It's a wonderful protocol within its intended use but it's not really meant as a general distributed image editing protocol.

The only medical images that I know of that approach 1GB are pathology images. For that purpose you might consider JPIP for viewing the images (this is even in the DICOM spec). But that doesn't help with the editing portion because JPIP is for consuming images, not incrementally modifying them.

把时间冻结 2024-10-15 21:28:15

正如 ruslik 提到的,DICOM 图像的大小和性质使其成为一个棘手的技术问题。业内人士使用多种方法来构建 Web 查看器: 使用

  • Flash、Silverlight 或 Active X(过去)等客户端技术来制作可以自行完成大部分图像处理的客户端。客户端从服务器接收图像,然后在图像的客户端上进行一些操作。诸如车窗水平广告注释之类的事情都是在客户端完成的。
  • 使用零占用空间客户端,其中完成服务器端渲染,并且当用户与图像交互时,简单的 JPEG 图像根据需要发送到客户端。客户端全部用 Javascript 和/或 HTML5 完成,可以在任何浏览器上运行。
  • 前两者的组合,使用 Flash 或 Silverlight 等客户端技术,但也进行服务器端渲染以简化客户端。 JPEG 或 PNG 图像被发送到客户端。

我认为您很可能会选择这些解决方案之一。最后一点,当新的 医疗保健 IT Stack Exchange 站点访问时,这将是一个很好的问题测试版。

As ruslik mentioned, the size and nature of DICOM images makes this a tough technical problem. there are a couple of methods that people in the industry are using to build web viewers:

  • Client technology such as Flash, Silverlight, or Active X (in the old days) is used to make a client that can do most of the image manipulation itself. The client receives the images from the server, and then does some amount of manipulation on the client of the images. Things like window leveling ad annotations are done on the client.
  • A zero footprint client is used, where server side rendering is done, and simple JPEG images are sent to the client on demand as the user interacts with the images. The client is all done in Javascript and/or HTML5 and can run on any browser.
  • A combination of the first two, where a client technology such as Flash or Silverlight is used, but server side rendering is also done to simplify the client. JPEG or PNG images are sent to the client.

I'd think more than likely you'd choose one of these solutions. One final note, this would make a great question for the new Healthcare IT Stack Exchange site when it goes to beta.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文