问题标签 [dcmtk]

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 回答
1491 浏览

c++ - DCMTK 中的 findAndGetString() 为标记返回 null

我正在开发一个快速DICOM viewer使用方法DCMTK library,我正在遵循此链接中提供的示例。

对于任何标签 ID,来自 的缓冲区API总是返回 null,例如:DCM_PatientName。但是findAndGetOFString() API工作正常,但只返回标签的第一个字符,ASCII这是这个 API 应该如何工作的吗?

有人可以让我知道为什么缓冲区之前的 API 是空的吗?

同样DicomImage API也是同样的问题。

片段1:

在上面的代码片段name中,ASCII 值为“50”,实际名称为“PATIENT”。

片段 2:

在上面的代码片段中,缓冲区为空。它不读名字。

笔记:

这只是一个样本。我只是为了学习目的而玩弄 API。

0 投票
1 回答
126 浏览

c++ - DCMTK 的奇怪库行为

我在部署我的软件时遇到了一个奇怪的问题。

我已经编译了一个库,用于在后端使用DCMTK打开 Dicom 文件。还链接了Qt5和一小部分 Boost 库。当我在我的系统上使用该库时,一切正常,就像在团队中其他开发人员的系统上一样。

现在谈到部署。由于前端使用 Python,我在库周围创建了一个包装器(Boost Python),并且一切正常。但是,一旦我将库转移到另一个系统(与我用于开发的相同 Mac OS X 系统,即相同的 Mac,相同的操作系统版本),事情就开始变得奇怪了。

我可以打开 DICOM 集,除了一个:因此,库的 DCMTK 部分抱怨它在打开各种 DicomTags 时找不到合理的值(.bad()交付true),实际上,大多数值是 0 或相应的最大值。当使用相同系统的同一同事从头开始编译库时,一切正常。

为了创建库,我首先将我的源与DCMTK链接以创建一个状态库。然后将其链接到作为共享库的 Boost Python 模块。

我希望有人知道我可以在哪里搜索,因为我在这里迷路了。

同一个库怎么会在同一个系统上产生不同的结果?不知何故,我认为,编译步骤改变了一些东西,但我不知道在哪里看。

非常感谢任何帮助。

0 投票
1 回答
456 浏览

dicom - OFFIS DICOM - dcmdump v3.6.0 - (0002,0010) 传输语法 UID

我使用 OFFIS DICOM dcmdump 工具从 DICOM 图像中提取信息:http: //support.dcmtk.org/docs/dcmdump.html

dcmdump.exe -M -L +Qn用来转储 DICOM 信息。

输出看起来像

Dicom 文件格式

为什么 dcmdump 将 (0002,0010) 转换为值JPEGLSLossless而不是1.2.840.10008.1.2.4.80

有什么开关可以这样做吗?

0 投票
2 回答
3942 浏览

dicom - 在 echoscu 中调用 AE Title Not Recognized 错误

我试图测试 dcmqrscp 的连通性。我使用以下命令启动 dcmqrscp。

dcmqrscp --config C:\Dicom\config\dcmqrscp.cfg

请找到我使用的以下配置文件。

在运行 dcmqrscp 命令之前,我也创建了 C:\Dicom\echo。以下 echoscu 命令用于测试 dcmqrscp 的连通性: echoscu -d localhost 11113 -aec ACME_STORE -aet ACME1

但我收到以下错误:

我的观察之一:在正常的 echoscu 操作中,数据字典加载正确。但是在 echoscu 的上述日志中,我们找不到任何数据字典加载操作。

你能帮我解决这个问题吗?

0 投票
2 回答
2578 浏览

dicom - DCMTK movecu 不适用于文件检索

我是 DICOM 和 DCMTK 的新手。我试图使用 movecu 命令从公共测试服务器( http://www.dicomserver.co.uk )检索 dcm 文件。但它不起作用。我能够成功运行 findscu ,但这只是为了获取数据。这是我尝试过的:

它有效,但同样的事情不适用于 movecu 像这样:

输出:

我没有运行任何本地 DICOM 服务器或其他任何东西。实现这一目标的正确方法是什么?

0 投票
1 回答
229 浏览

dicom - Windows下dcmqrscp中的接收值callingPresentationAddress不正确

TL;博士

当我dcmqrscp在 Windows 7 x64(官方当前 3.6.2 二进制文件)下运行时,服务器无法识别传入echoscu客户端的 IP。取而代之的是,根据与连接关联的以太网接口,将 的值callingPresentationAddress设置为www或。name_of_localhost

详细描述

dcmqrscp配置文件内容:

我从 145.146.51.82 上的 Debian 机器连接到服务器:

服务器的输出如下:

如果我将呼叫 AE 切换echoscuCLIENT2,答案是肯定的。这是因为配置文件中的行client2 = (CLIENT2, www, 12345)

如果echoscu是在同一台 Windows 机器上运行,而不是localhostor ,则127.0.0.1值为。这个问题在这个问题中有所描述。callingPresentationAddressname_of_localhost

在相反的方向(echoscu在 Windows,dcmqrscp在 Debian)一切都是正确的:

我怀疑这个问题与我的 Windows 配置错误有关,但我不知道应该如何修复它。

0 投票
0 回答
131 浏览

c++ - 使用 msvc2010 构建 dcmtk,未解析的外部符号(库中定义的全局变量)

我正在使用 msvc2010 将 dcmtk 3.6.3 构建到单个 dll 中,并使用 lib 链接到我的程序,并且库中定义的全局变量都报告未解析的外部符号。我使用 dumpbin 工具检查了 dll 和 lib 文件,发现这些全局变量实际上是导出的。导出的函数可以链接。

任何帮助表示赞赏。谢谢

这是 dcmtk.lib 文件中一个变量的转储文件

这是 dcmtk.dll 文件中一个变量的转储文件

这是 msvs2010 错误:

在库中,.h 文件是:

在 .cc 文件中是:

0 投票
1 回答
321 浏览

node.js - 如何在 JavaScript 中使用 DCMTK 类

我知道如何在 shell 程序中使用 findscu、echoscu 等,也知道如何在程序代码中从 shell 中获取输出,即使用 node.js child_process spawn 等。但在官方网站上,也有可用的类,即DcmDateTime等. 我如何在我的程序中使用它们?

0 投票
1 回答
183 浏览

lnk2019 - 如何在 Visual Studio 系列中自行解决错误 LNK2019

在 dcmtk 学习期间,我遇到了数百个错误“LNK2019”。每次我只能谷歌它,寻找有人告诉我应该添加哪个库。我想知道我是否可以自己找到我需要的库。

我的工作IDE是Visual Studio 2015,今天的代码如下。

此代码中的错误 这是我的附加链接器

准确地说,这个问题已经在混乱中解决了,我只是在代码中添加了大量额外的库。

我曾经在stackoverflow中发现有人提出了一种方法来解决这个问题。然而,他的方法是使用 bash 或其他 Visual Studio 无法做到的东西。所以这就是我在这里寻求帮助的原因。感谢任何人都可以来帮助!

0 投票
1 回答
343 浏览

c++ - 如何同时在 Debug 和 Release 版本中安装 Dcmtk

大家好~我正在做一些关于测试我的程序的工作,该程序使用DCMTK加载 Dicom 文件和其他东西。但是我发现我的程序只能在调试模式下工作。当我更改为发布模式时,出现以下错误

有很多这样的错误。

在 Visual Studio 2015 中,我在发布模式下将项目运行时更改为MDd模式。这很有线!我认为MDd属于调试模式,但这是我可以在 VS2015中以发布模式运行程序的唯一方法。

最大的问题发生在 Qt Creator 中。无论我选择什么运行时,MDMDd,我都不能让它在发布模式下工作。所以我想知道我的 DCMTK 是否有问题。

我一开始只安装了DCMTK的调试版,一周后我安装了发布模式,方便在其他电脑上测试。我发现它都安装在同一路径中。所以我能做什么才能让它离开。所以我可以使用 Debug 和 Release 。