问题标签 [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.
c# - c# Lambda 表达式到 VB.Net
我想转换
到 VB.Net
但是,既不
也不
事情有效..我怎样才能转换它?
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下载——我希望如此)。
c# - 如何从服务器加载 Dicom 图像(路径包含 https://)
如何从服务器加载 Dicom 图像(路径包含 https://)我正在使用 fo-Diocm 库。
如果 filePath 来自本地目录,它工作正常。如果 filePath 来自服务器(如https://example.com/filepath.dcm),它会抛出“Dicom.DicomFileException”,表示指定的路径值不正确。从服务器加载 DicomImage 的正确方法是什么?
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 并且一切都匹配。但是我仍然想回答如何获取像素数据。
fo-dicom - Fo-dicom 如何在 Main 中调用我的 Output.dcm 文件
我是 Fo-Dicom 的新手,我正在尝试在 Dicom Dump 中调用我的 output.dcm 文件,我正在尝试使用 fo-dicom 添加私有标签
此代码运行良好,但我的私人标签未以显示形式显示。
dicom - Fo-Dicom 添加更新、删除和搜索标题标签
有没有人可以帮助我使用 fo-dicom 在 Dicom 标题中添加更新、删除和搜索功能。我想将图像像素数据保存在 dicom 标头中。
我在https://github.com/fo-dicom/fo-dicom工作
在桌面 C#
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
谢谢你的帮助,
戴维德
c# - C# System.Drawing.Image.get_Width() 在 WinForms 窗体最大化时抛出异常
我编写应该在控件Windows Forms Application
上显示图像的应用程序。PictureBox
要从DICOMDIR
文件中检索此图像,我使用fo-dicom
库(由本指南驱动):
当图像检索一切正常。但maximize
我一MainForm
收到消息:System.ArgumentException
Parameter is not valid
看起来这是一个 .NET Framework 错误,但也许有办法通过控制方法来override
修复OnPaint()
它PictureBox
?
有没有人以前看到过这个错误?
提前致谢。
PS 在开发这个项目期间,我使用以下软件:
- 视窗 10 x64
- Visual Studio 2017 社区版
- .NET 框架 4.5.1
- fo-dicom 版本 3.0.2
编辑#1
Panel
与而不是相同的问题PictureBox
:
c# - 如何为 fo-dicom 配置 log4net appender?
有什么问题?
我无法弄清楚如何为记录 fo-dicom 请求/响应数据设置适当的文件附加程序。我想将所有调试级数据记录到文本文件中,由在log4net.config文件中配置的标准 RollingFileAppender 处理,但我不知道如何将fo-dicom log4net 连接器(来自 Nuget 包)与我的 FileAppender 连接。
我想达到什么目的?
将之前打印在诊断控制台上的所有调试数据记录到由 log4net.config 配置的文本文件中(文件位置、消息格式等的含义)
当前代码:
这是简单的连接器激活,如手册中所述:
和 log4net.config 里面的 appender:
我有点困惑,因为我找不到此类连接器的完整工作配置的任何示例。
c# - 在 C# 中使用 fo-dicom 处理和转换 CT 图像的 PixelData
对于一些测试,我正在尝试操作PixelData
以 dicom 格式存储的 CT 图像的元素,并将其写回到C# 中的Fellow Oak Dicom文件中。经过一番研究,我发现我要处理的矩阵是Buffer
存储PixelData
在一个byte
-array 中的。所以我写了以下代码:
这是我的第一次尝试,我得到了一个Exception
atAddOrUpdate
命令,因为它无法将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
提前致谢。