问题标签 [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 投票
2 回答
996 浏览

c# - 如何确定单帧 DICOM 是否实际上是 MRI 切片?

我正在编写一个计算医疗记录的应用程序。该应用程序将计算页数并将其除以 20,以确定为客户打印记录所需的胶片数量。我有一个壁橱案例,当扫描 MRI 时(特别是如果它们显示为 SC),它只会是一帧,但电影已经是 20 帧 MRI。

如何确定单个 DICOM 是否实际上是多帧 MRI?

如果我尝试对文件进行帧计数,我会得到1. 这是其中一个文件的 DICOM 转储:

以下是帧数、高度和宽度的代码:

给我:

帧数:1

宽度:2040

身高:2500

0 投票
1 回答
192 浏览

c# - 是否有内置方法可以拒绝 fo-DICOM 服务器上的某些 SOP 类?

我想运行一个返回DicomStatus SOPClassNotSupportedif 的 fo-DICOM 服务器,例如我尝试CStoreRequest使用封装 PDF 文档的 SOP 类对其进行操作。我可以将 SOP 类定义为预先拒绝,而不必在OnCStoreRequest()方法中明确拒绝它吗?

到目前为止我所拥有的:

上面的代码有效,但如果有一些官方/内置的方式来定义要拒绝的 SOP 类,我会采取不同的做法。

0 投票
1 回答
590 浏览

c# - 将灰度软拷贝呈现状态与 fo-dicom 结合使用

我想使用灰度软拷贝演示状态 IOD 为 DICOM 图像(例如,绘图或文本注释)添加标记。

我创建了一个这样的 DICOM 图像对象:

然后我创建了一个灰度软拷贝表示状态对象,如下所示:

我真的不明白这两个对象是如何相互连接的?

0 投票
1 回答
485 浏览

dicom - 连接 PACS 服务器时出错 Dicom.Network.DicomAssociationRejectedException:“[原因:CallingAENotRecognized]”

我是处理 DICOM 的新手,我试图从公共远程服务器获取一些与患者相关的 dicom 文件:
https ://www.dicomserver.co.uk 。使用fo-dicom并且工作正常,但是当我切换到私人服务器时,它在执行呼叫时向我显示以下错误:
Dicom.Network.DicomAssociationRejectedException: 'Association denied [result: Permanent; 来源:服务用户;原因:CallingAENotRecognized]'
,这是一个很酷的片段:

0 投票
1 回答
804 浏览

c# - 如何在我正在创建的服务器上设置 AE 标题?

我正在制作一个非常简单的 STORE 服务器,它不打算做任何类似 DICOM 的事情,而不是回显和接收数据。我从父类继承DicomCEchoProvider并让父类为我完成大部分工作:到目前为止,唯一有计划使用的方法是DicomCStoreResponse()OnCStoreRequestException(),来自IDicomCStoreProvider接口。

我的测试机器似乎根本不关心 AET,但我不能假设其他所有机器都会如此适应。如何将 AE 标题设置为我选择的内容?

0 投票
1 回答
239 浏览

fo-dicom - 如何在 fo dicom 中向 DicomDirectory 添加结构化报告?

对于 C# 中的 Fo-Dicom,我正在尝试使用 AddFile API 将结构化报告添加到 DicomDirectory 对象。但是报告被添加为图像,有什么办法可以纠正这个问题吗?如果根本不可能通过手动将 DicomTags 信息添加到 DicomDirectory 类对象来做到这一点?你能举一些例子吗?

0 投票
2 回答
396 浏览

c# - fo-DICOM:如何在 DicomClient 中指定本地传出端口?

有一种TcpClient分配本地传出端口的方法,如此所述。

fo-DICOM 是否可以具有相同的功能DicomClient

这是必要的,因为服务器仅侦听来自特定客户端端口的连接。

0 投票
2 回答
980 浏览

c# - 如何使用 fo-DICOM 删除或更新私有标签?

我有很多 DICOM 数据集,其中有一个私有标签,其中包含我不想保留在标题中的信息。这个标签的值会随着每个数据集的变化而变化,所以我不知道这个值。这是我想要更新或删除的私人创建者和私人标签的示例。

我希望能够完全删除0033,1016或使用新值更新它。我尝试过的一切要么什么都不做,要么会添加另一个0033,1016标签,创建两个0033,1016标签。一个是原件,一个是我尝试更新原件时添加的。

如果我再次运行代码,我可以更新0033,1016具有 value的标签FOO,但我永远无法更改0033,1016带有 value 的标签Dummy^Data^G^

以下是我的代码:

0 投票
1 回答
264 浏览

c# - 获取 Multiframe (PaletteColor) Dicom 文件的 PixelData。fo-dicom

目前,当我从这个 dicom 文件中获取像素数据时,它似乎与提供的图像分辨率不匹配。

例如,图像的宽度和高度可能是:W: 600, H:430 这会让我认为预期的总大小是 258,000 个元素,但是当我得到像素数据时它只有 50104 个元素。

令我困惑的是,数组中的元素比文件分辨率少。我期待如果存在不匹配,这可能是因为所有帧都被分组到同一个缓冲区中,我可能需要按帧数细分像素数据,但没有足够的元素来覆盖图像解析度?我有点不知所措。

此类提供的 dicom 文件像素数据:

https://fo-dicom.github.io/html/cfa9fe02-c413-ea1f-52df-dd1a6f5b71cf.htm

其中每个像素都是一个字节,用于查找颜色查找表的索引。

代码示例

期望的行为
使用 fo-dicom 库打开和渲染具有光度解释 PaletteColor 的多帧 dicom 图像。

0 投票
1 回答
191 浏览

fo-dicom - fo-dicom C-Move Query 不调用 CStoreRequestCallback

var client = new DicomClient();

在上面的代码片段中,如果 AEClient 和 QRServer 相同/相同 AETitle ,CMoveResponse 成功但没有得到任何 CStoreRequest

如果 AEClient 和 QRServer 不同,则会出现 Move destination Unknown 之类的错误