问题标签 [fo-dicom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
312 浏览

c# - c# Lambda 表达式到 VB.Net

我想转换

到 VB.Net

但是,既不

也不

事情有效..我怎样才能转换它?

0 投票
2 回答
1171 浏览

c# - FO-DICOM:在 C# Windows 窗体应用程序中使用呈现的位图调整窗口大小会导致崩溃

我最近开始评估 fo-dicom 作为未来项目可能的 DICOM 库,所以我对它很陌生。

我构建了一个基本的 C# Windows Forms 应用程序,它只读取一个 DICOM 文件,将其转换为 aSystem.Drawing.Bitmap并显示在 a 中PictureBox

这段代码起作用,但如果我开始调整表单大小,异常来得比以后更早:

System.ArgumentException:参数无效。

在 System.Drawing.Image.get_RawFormat()
在 System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
在 System.Drawing.Graphics.DrawImage(Image image, Rectangle rect)
在System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
在 System.Windows.Forms.Control.WmPaint(Message& m)
在 System.Windows.Forms .Control.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

异常实际上发生在Main()

但我无法添加一个功能try/catch来调查有效发生的事情。

我通过 NuGet 添加了对 fo-dicom 3.0.2 的引用(项目的目标框架是 4.6.1)。环境:Windows 10 专业版,VS 2017。

有趣的是,如果我生成如上面代码所示的位图,然后将其存储,并在应用程序中读取它(不参考 DICOM)并放入图片框中,则不会发生类似情况。这使我认为问题出在位图本身,但我无法发现,是什么。

我还有一个用 fo-dicom.1.0.37 制作的旧测试应用程序,它在调整大小时不会崩溃。

我很好奇可能是什么原因,如何摆脱这种影响或/以及我可能做错了什么。

(测试应用程序可以从http://jmp.sh/UGOg8Ai下载——我希望如此)。

0 投票
1 回答
1203 浏览

c# - 如何从服务器加载 Dicom 图像(路径包含 https://)

如何从服务器加载 Dicom 图像(路径包含 https://)我正在使用 fo-Diocm 库。

如果 filePath 来自本地目录,它工作正常。如果 filePath 来自服务器(如https://example.com/filepath.dcm),它会抛出“Dicom.DicomFileException”,表示指定的路径值不正确。从服务器加载 DicomImage 的正确方法是什么?

0 投票
1 回答
970 浏览

dicom - 在 fo-dicom 1.x 中获取未压缩的原始像素数据

我正在开发一个 DICOM 解决方案,该解决方案需要以 .Net 4.0 为目标并访问原始像素数据以进行注释。因此,我正在使用结束标记来编译我的程序。我正在使用来自 Philip Xcelera R4.1 L1 系统的美国 Echo 图像。光度解释在标题中显示为 RGB,传输语法为 JPEG Baseline 1.2.840.10008.1.2.4.50。当我在 fo-dicom 中打开文件时,如何访问原始 RGB 数据?我需要将注释直接放在像素数据上并将其保存为基础。

当我打开它并查看调试器时, var img = new DicomImage(fullImagePath);DICOM 图像显示它是 YBR-FULL:422。我不确定它是从哪里得到的?图像标题显示 RGB。这是图像的问题还是旧版本的库中存在错误?

谢谢。

编辑:光度解释问题实际上不是问题。查看器 MicroDicom 显示的 RGB 值是错误的,当我实际查看字节时,它是 YBR-FULL:422 并且一切都匹配。但是我仍然想回答如何获取像素数据。

0 投票
1 回答
710 浏览

fo-dicom - Fo-dicom 如何在 Main 中调用我的 Output.dcm 文件

我是 Fo-Dicom 的新手,我正在尝试在 Dicom Dump 中调用我的 output.dcm 文件,我正在尝试使用 fo-dicom 添加私有标签

此代码运行良好,但我的私人标签未以显示形式显示。

0 投票
1 回答
456 浏览

dicom - Fo-Dicom 添加更新、删除和搜索标题标签

有没有人可以帮助我使用 fo-dicom 在 Dicom 标题中添加更新、删除和搜索功能。我想将图像像素数据保存在 dicom 标头中。

我在https://github.com/fo-dicom/fo-dicom工作

在桌面 C#

0 投票
0 回答
320 浏览

c# - 当我使用 fo-dicom 更新 DICOM 标记时,C# 表单会更改大小

我对 C# 形式的 fo-dicom 有疑问。
当我使用 fo-dicom 更新 DICOM 标记时,表单会更改大小,并且所有内容都会变小。
当我使用数据集
时出现问题。 添加我创建了一个示例,其中只有一个带有按钮的简单表单,这就是所有代码:

是单击按钮之前的表单,以及之后的表单。

仅当我在调试/发布模式下从 Visual Studio GUI 执行表单时才会出现该问题,但如果我直接运行 exe,则不会出现此问题。

在这里上传了我的代码。

我的配置是:

  • 视窗 10
  • .Net 框架 4.7.1
  • Visual Studio 2017 最新版本 (15.6.5)
  • fo-dicom 3.0.2

谢谢你的帮助,
戴维德

0 投票
1 回答
1504 浏览

c# - C# System.Drawing.Image.get_Width() 在 WinForms 窗体最大化时抛出异常

我编写应该在控件Windows Forms Application上显示图像的应用程序。PictureBox

要从DICOMDIR文件中检索此图像,我使用fo-dicom库(由指南驱动):

当图像检索一切正常。但maximize我一MainForm收到消息:System.ArgumentExceptionParameter is not valid

System.ArgumentException

看起来这是一个 .NET Framework 错误,但也许有办法通过控制方法来override修复OnPaint()PictureBox

有没有人以前看到过这个错误?

提前致谢。

PS 在开发这个项目期间,我使用以下软件:

  1. 视窗 10 x64
  2. Visual Studio 2017 社区版
  3. .NET 框架 4.5.1
  4. fo-dicom 版本 3.0.2

编辑#1

Panel与而不是相同的问题PictureBox

参数异常

0 投票
0 回答
640 浏览

c# - 如何为 fo-dicom 配置 log4net appender?

有什么问题?

我无法弄清楚如何为记录 fo-dicom 请求/响应数据设置适当的文件附加程序。我想将所有调试级数据记录到文本文件中,由在log4net.config文件中配置的标准 RollingFileAppender 处理,但我不知道如何将fo-dicom log4net 连接器(来自 Nuget 包)与我的 FileAppender 连接。

我想达到什么目的?

将之前打印在诊断控制台上的所有调试数据记录到由 log4net.config 配置的文本文件中(文件位置、消息格式等的含义)

当前代码:

这是简单的连接器激活,如手册中所述:

和 log4net.config 里面的 appender:

我有点困惑,因为我找不到此类连接器的完整工作配置的任何示例。

0 投票
1 回答
3162 浏览

c# - 在 C# 中使用 fo-dicom 处理和转换 CT 图像的 PixelData

对于一些测试,我正在尝试操作PixelData以 dicom 格式存储的 CT 图像的元素,并将其写回到C# 中的Fellow Oak Dicom文件中。经过一番研究,我发现我要处理的矩阵是Buffer存储PixelData在一个byte-array 中的。所以我写了以下代码:

这是我的第一次尝试,我得到了一个ExceptionatAddOrUpdate命令,因为它无法将byte-array 转换为 OB。阅读例如 Pianykh 的关于 DICOM 的书,OB 表示Other Byte String。但到目前为止,我无法将操纵的byte-array 转换为 OB。当我尝试此代码段时:

Exception仍然要求AddOrUpdate无法将项目转换为 OB 。在 stackoverflow、git 中的 fo-dicom 文档或 google 中搜索,我仍然不知道如何处理它。所以我想知道如何将我的操纵矩阵转换为 OB,因为我认为DicomOtherByte是 OB。

编辑:这Exception是“无法使用 Dicom.DicomOtherByte 类型的值创建 OB 类型的 DICOM 元素” - System.InvalidOperationException

提前致谢。