是否有其他方法可以在 C# 中使用 WPF 处理 DICOM 图像而无需任何第三方/库?

2024-06-23

我开始从事一个充满挑战的新项目。我正在从事一个医疗项目,我必须读取 DICOM 图像并利用其属性处理图像。我收集了一些关于 DICOM 和 PACS 的基本知识。由于我在 WPF 上工作了大约 2 年的职业生涯,因此我选择使用 C# 和 WPF 来完成这个项目。我用谷歌搜索了很多,甚至我浏览了 SO 和 codeproject 中的许多文章,我发现他们在每个地方都使用了一些库/第三方工具,例如:

gdcm , 铅工具 , 透明画布

任何机构都可以建议我在不使用任何第三方/库的情况下进行 DICOM 图像处理的任何替代方法,或者不使用库/第三方就不可能吗?

我已经经历过the link https://stackoverflow.com/questions/1287127/net-dicom-libraries选择一个最适合 DICOM 图像处理的库,但正在寻找替代方法来解决此问题。仅当没有任何替代方法来实现该任务时,请随时从上面的列表中建议哪个是最好的、更灵活的库。

任何想法、链接、建议或任何启动都将不胜感激,提前致谢。


无论如何,第三方库也是从头开始创建的,因此当然可以在不依赖任何第三方库的情况下创建 DICOM 图像处理解决方案。不过,使用整个或部分开源库肯定会让您在更短的时间内获得功能解决方案。

您引用的链接中提到的一个第三方库是mdcm https://github.com/rcd/mdcm。这是一个相对轻量级的开源库,支持 WPF(和 Silverlight)。如果您愿意,我非常确定您应该能够从该库中提取与您的项目相关的那些部分。

另一个轻量级库是邪恶的DICOM http://evildicom.rexcardan.com/。不过,我并不完全确定这个库具有很多图像处理功能。

5 月 31 日更新:讨论摘要

mdcm https://github.com/rcd/mdcm是 LGPL 许可下的开源库。 SL.DicomToXml (Silverlight) 应用程序中给出了图像渲染用法的示例,同样适用于 WPF 应用程序。在里面主页的代码隐藏 https://github.com/rcd/mdcm/blob/master/SL.DicomToXml/MainPage.xaml.cs, fileNameButton_Click方法中,有代码演示 DICOM 图像文件加载和渲染。

目前没有可用的 mdcm 的最新二进制发行版,但从解决方案中构建所需的库应该相当容易mdcm https://github.com/rcd/mdcm存储库。源代码可以使用Git http://git-scm.com/客户端或通过单击下载最新版本ZIP存储库主页上的按钮。

如果您需要更多地了解 DICOM 图像处理细节,最好首先查看 DICOM 标准本身,并解析 DICOM 图像文件以了解它包含哪些信息。一个好的起点是DICOM 官方主页 http://medical.nema.org/。给出了带有软件链接的快速介绍here http://www.mccauslandcenter.sc.edu/mricro/dicom/index.html。还有一个通用的、更冗长的教程可用here http://dicomiseasy.blogspot.se/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有其他方法可以在 C# 中使用 WPF 处理 DICOM 图像而无需任何第三方/库? 的相关文章

  • gets 和 scanf 有什么区别?

    如果代码是 scanf s n message vs gets message 有什么区别 似乎两者都获取消息的输入 基本区别 参考您的特定场景 scanf 遇到一个时结束接受输入whitespace newline or EOF gets
  • OWIN AuthenticationOptions 在 mvc5 应用程序中运行时更新

    Hi 情况如下 我在 iis 7 上有一个带有 Identity 2 的 MVC 5 应用程序 该应用程序为多个网站提供服务 主机名是某些网站的关键 网站 另一个网站 等等 我决定在我的所有网站上使用谷歌外部登录 每个网站都应该是带有个人
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

    我目前正在使用一个 C 应用程序 该应用程序有一个将生成 Excel 文件的类 一切都很顺利 Excel 工作表上填充的数据具有 Times New Roman 字体 我想将其更改为其他字体 Calibari 我怎样才能以编程方式做到这一点
  • 运行时两个注册之间的简单注入器基于动态上下文的注入

    我有一个使用 Simple Injector 进行命令处理程序注册的中介应用程序 并且注入和处理程序均已设置并完美运行 class DoWashingCommandHandler IRequestHandler
  • 外部剃刀视图看不到外部模型

    我对外部剃刀视图有疑问 在我的项目中 我有主 mvc Web 程序集和动态加载的外部类库程序集 来自 DB 及其自己的控制器 视图和模型 这些程序集在运行时不会直接引用和加载 我能够通过为控制器创建自定义控制器工厂 为视图创建自定义虚拟路径
  • 命令中带空格的 Windows C 系统调用

    我无法使用名称和参数中的空格进行系统调用 例如 system c program files something example exe c my files example txt 我尝试过各种我知道的方法来逃避 但没有任何效果 我努力了
  • 使用私有构造函数的 C# 单元测试类?

    好吧 我刚刚收到一个作业 我必须对具有私有构造函数的类执行单元测试 现在 当所有方法也都是非静态时 我该如何在不初始化类的情况下进行单元测试 有什么方法可以对具有私有构造函数的类进行单元测试 无需反射 如果您无法将类公开 您仍然可以通过以下
  • 用于 C/C++ 的独立跨平台 (Windows/Linux) 文件压缩?

    我正在寻找一个 最好是小的 C 或 C 开源库 我可以将其包含在我的 MIT 许可项目中 托管在 google 代码上 我是一名业余爱好 C C 程序员 所以我并不那么先进 但我只知道为名为 SA MP 的应用程序 适用于 Windows
  • 如何在 WCF 中反序列化自定义 SOAP 标头?

    我正在尝试向通过 WCF 的所有 SOAP 请求添加自定义标头 我发现这篇精彩的文章 http blogs msdn com b mohamedg archive 2012 10 21 adding custom soap headers
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • OpenMP 循环数组访问中的错误共享

    我想利用 OpenMP 来并行执行我的任务 我需要将数组的所有元素减去相同的数量并将结果写入另一个向量中 两个数组都是动态分配的malloc第一个填充了文件中的值 每个元素都有类型uint64 t pragma omp parallel f
  • 除法时的小数舍入误差 (C#)

    我基本上有四个数字 比如 100 200 300 400 我需要计算概率为 100 100 200 300 400 200 100 200 300 400 等等在 当我使用小数数据类型来存储这些概率时 由于舍入问题 它们不会达到 1 在不使
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • 链接错误:xxx 已在 *****.LIB 中定义:: 究竟出了什么问题?

    Problem 我正在尝试使用一个名为DCMTK http dicom offis de dcmtk它使用了一些其他外部库 zlib libtiff libpng libxml2 libiconv 我已经从同一网站下载了这些外部库 LIB
  • 合并大文件的最佳方法是什么?

    我必须合并数千个大文件 每个大约 200MB 我想知道合并这些文件的最佳方法是什么 行将有条件地复制到合并文件中 可以使用 File AppendAllLines 或使用 Stream CopyTo 吗 使用 File AppendAllL
  • 更快的 WinSock sendto()

    我使用的是 Windows Server 2008 我的程序是用 C 编写的 我在 while true 循环中使用 WinSock2 和 sendto 来发送数据包 代码如下 while true if c snd gt max c sn
  • 如何以一对一/零关系更新员工和身份用户

    我正在尝试更新员工记录 也想更新身份用户 如果我先单独更新身份用户 例如 UserManager Update user Context Entry employee State System Data Entity EntityState
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似
  • RC4 实现与 openssl 输出不匹配

    我的目标是在 C C 中实现 RC4 流密码 并确保它产生与使用时相同的输出openssl命令 按照伪代码维基百科 https en wikipedia org wiki RC4 该实现似乎有效 因为它可以加密和解密内容 但是 加密的输出与

随机推荐