问题标签 [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 回答
2411 浏览

c# - 使用 Fo-Dicom 渲染 JPEG 2000 图像压缩 Dicom

我正在尝试创建一个简单的 WinForms 查看器来显示在 NOVARAD pacs 系统中生成的 DICOM 文件。我正在使用他们GitHub 页面中的以下代码:

当我运行代码时,出现以下错误:

Dicom.Imaging.Codec.DicomCodecException:“使用传输语法解码数据集:不支持 JPEG 2000 图像压缩(仅限无损)。”

我假设我需要从 JPEG 2000 解压缩。这不能用 fi-dicom 完成吗?

我试图玩弄 GDCM 库,但我找不到 C# 包装器,并注意到有几条评论说他们将它放入 fo-dicom。

有什么建议么 ?

谢谢

0 投票
1 回答
1053 浏览

c# - 将 jpg 图像作为 jpg 图像添加到 DICOM 文件

再会,

我正在读取 jpg 图像并尝试将其作为 jpg 存储在 DICOM 文件中。我希望尽可能少的操作以防止任何丢失或 ICC 配置文件更改。

我试过了:

它似乎将图像存储为 BMP,因为 DICOM 文件的大小膨胀得令人难以置信。

我尝试了 DicomTag.TransferSyntaxUID 的不同组合:

想法?

(注意:这也是在 fo-dicom 用户组上提出的)

0 投票
1 回答
722 浏览

c# - 尝试获取 DicomDataset 时获取“DicomTag 不支持值”

升级到 fo-dicom 4.0 后,我DicomDataException: 'DicomTag doesn't support values'在尝试从 DICOMDIR 文件中获取 DicomDataset 时开始出现问题。

代码如下:

使用以前的版本(3.?)我正在做var dicomImage = imageRecord.Get<DicomSequence>(DicomTag.IconImageSequence).Items.First();并且它工作得很好,但是升级后我收到了一个过时的警告,所以我将它更改为推荐的方法,即 GetValue。

如何使用当前版本的 fo-dicom 获取数据集?

0 投票
1 回答
2893 浏览

c# - 如何使用 fo-DICOM 替换 DICOM 文件的像素数据?

我想用另一个替换 DICOM 文件的像素数据。我使用了这段代码:

输出的 DICOM 文件丢失了许多影响图像显示的标签。

我参考了这个答案。但是该AddOrUpdatePixelData答案中使用的方法在我正在使用的 v4.0.0-rc1 版本中已弃用。所以这个答案对我没有帮助。

有没有其他方法可以使用 fo-DICOM 更改 DICOM 文件的像素数据?

0 投票
1 回答
1564 浏览

c# - How to create a DICOMDIR properly with fo-dicom?

I've been trying to find a way to use fo-dicom to create a DICOMDIR file, and have it reference several files that contain image series, but so far I can't.

I've successfully read DICOMDIRs, series and even rendered images. From that, I was able to understand that the DicomDirectory has a RootDirectoryRecordCollection for Patients, and from there you have LowerLevelDirectoryRecordCollection for Studies, then Series, and then Images. But when it comes to building that structure (for example, to create DICOMDIR and Series files for new studies) I can't find a way to set those LowerLeverDirectoryRecords; RootDirectoryRecordCollection has an Add method, but it takes a DicomItem, so I take it it's for DicomDataset or DicomTag/Value, and its property LowerLevelDirectoryRecordCollection is an IEnumerable, so no Add there. I've also seen the AddFile method, but there's no hierarchy there, so I supposed that's for the series files.

Has anybody succesfully created a DICOMDIR and had it reference several series files with fo-dicom? How? Thanks

0 投票
2 回答
589 浏览

c# - WorklistQuery (C-FIND) 返回 C-Find 响应 [2]: Optional Keys Not Supported

特定 PACS 的 C-Find(请求工作列表)返回“不支持可选密钥”并且不返回任何数据。我还尝试使用空字符串“”而不是 null 来表示患者 ID、现有的患者 ID 等等,结果相同。该请求适用于其他 PACS。

这里发生了什么,如何解决?

请求代码(使用 Fellow Oak DICOM fo-dicom):

这是日志。

0 投票
1 回答
492 浏览

c# - 使用 fo-dicom 保存后 DICOMDir 文件损坏

我在将文件添加到 DICOMDir 时遇到问题。基于此示例,我已成功创建并保存到磁盘系列中的图像。然后,我尝试将该文件添加到 DICOMDIR,以便 Dir 引用新文件,虽然保存成功,但当我尝试再次打开 DICOMDir 及其系列时,我得到一个“标签:(0088,0200 ) 在数据集中找不到”异常。

代码如下:

这是系列打开方法:

我不知道我是否遗漏了有关保存 DICOMDir 文件的内容,或者是否是错误。

0 投票
1 回答
1534 浏览

c# - CFind 在研究级别失败 - 不支持 SOP 类或没有为抽象语法找到可接受的表示上下文

该应用程序尝试在患者级别进行 CFind,获取研究,进行研究,获取系列,最后获取图像。

该代码在查询两个不同的 PACS 实现时有效,但在第三个研究级别上失败。

发出患者请求的代码部分

而对于学习水平

似乎通过检查日志并比较来自工具的日志,应该有一个抽象语法列表,而不仅仅是一个?或者是什么问题?

来自 jdicom 的日志,可以在学习级别执行 cfind 请求

编辑,
这是一致性声明。 https://sectramedical.blob.core.windows.net/uploads/2018/04/pacs-dicom-conformance-statement-20.1.pdf

但是如果不支持 CFind,那么用什么方法来检索研究和系列呢?我在这里有点迷路,但我真的很感谢你花时间给出提示。

这是来自其他工具的日志(由于帖子的最大长度而被截断),该工具设法列出患者和研究以及一些显示它是可能的屏幕截图。Radiant还有一个屏幕截图,它也可以连接、显示患者和显示图像。

] 日志被截断,达到帖子的最大长度。
病人 学习 系列 图片 光芒四射

0 投票
1 回答
575 浏览

c# - 如何在 Fellow-Oak Dicom 中为客户设置证书?

Deak 伙计们,我正在尝试使用 Fellow Oak Dicom 库设置 Dicom 客户端。我使用 DicomClient 类成功地完成了所有查询,如他们的 github 页面https://github.com/fo-dicom/fo-dicom中所示。

但是,如何指定用于验证我的客户的证书?

我发现这就是你通常在 C# 中所做的事情,https://www.medo64.com/2014/09/client-authenticated-tls-in-c/ 我看到这正是 Fo-Dicom 库的内容正在做。我找不到指定我的证书的方法。

0 投票
1 回答
456 浏览

c# - Fo-dicom代码编译但不执行

我正在尝试以下代码将 dicom 文件转换为 jpeg:

我正在使用以下命令编译它:

该代码编译没有任何错误,但在运行 exe 文件时,它会给出以下错误:

问题出在哪里,如何解决?谢谢你的帮助。

编辑:我在另一个库中遇到了类似的问题,我已经发布了另一个问题。这是使用不同的库,错误也不同。我怀疑这些问题的答案会有所不同,因此这些不是重复的问题。而且,另一个问题还没有任何答案。