标签: dcmtk

Visual Studio:MSB3073错误退出代码1

大家.我在Visual Studio 2013中编译DCMTK 3.6.1.我的操作系统是Windows 8.我还使用了CMake 3.2.3.我已经成功编译了ALL_BUILD项目的两个x64版本的调试和发布.但是,对于INSTALL项目,我无法编译它,因为发生以下错误:

Error   1   error MSB3073: The command "setlocal
"C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets  132
Run Code Online (Sandbox Code Playgroud)

根据此链接,我需要管理员权限.但我已经在管理模式下运行Visual Studio.有人可以告诉我我可能做错了什么吗?非常感谢你!

c++ visual-studio dcmtk

12
推荐指数
2
解决办法
2万
查看次数

测试远程DICOM Q/R服务器的黑盒子

我想知道是否有人试图解决以下问题.我需要在远程DICOM Q/R服务器上执行一系列测试.这将允许一些简单的DICOM一致性声明检查.

作为测试套件的实现细节,我运行以下(DCMTK样式命令):

$ findscu --study --cancel 1 --key 0020,0010=* --key 8,52=STUDY --aetitle MINE --call THEIR dicom.example.com 11112 
Run Code Online (Sandbox Code Playgroud)

这里的目标是找到一个有效的StudyID(稍后我将使用该StudyID执行较低的密钥级别C-FIND,以及一些相关的C-MOVE查询).当然,如果我可以上传我自己的数据集并尝试将其取回,那将会容易得多,但我无法在临床环境中对付正在运行的PACS.我需要用最少量的查询来定义如何找到有效的StudyID.

但是我担心某些DICOM实现可能会禁止policies查询整个数据库.

所以我想知道是否有人编写了这些列表policies,并且可能描述了一种从具有最少数量的C-FIND查询的远程服务器检索有效StudyID的方法.

dicom dcmtk

6
推荐指数
1
解决办法
1450
查看次数

DICOM字段的价值超出预期

我正在使用DCMTK(3.6.0)库来获取(0020,0013)标签的值,该标签是图像编号,也就是系列的切片编号.

我在批处理脚本中使用以下内容

for /f "tokens=2 delims=[]"  %%a in ('@echo. ^|c:\Libs\dcmtk-3.6.0\bin\dcmdump +P "0020,0013" %%i') do (set img_no=%%a)
Run Code Online (Sandbox Code Playgroud)

它通常很顺利,但有时这个值总是设置为整个系列的'0'.

我试图用这个命令转储它

C:\Libs\dcmtk-3.6.0\bin>dcmdump +P "0020,0013" PathToInvalideDICOM\img.dcm
(0020,0013) IS [0]                                      #   2, 1 InstanceNumber
(0020,0013) IS [4]                                      #   2, 1 InstanceNumber
(0020,0013) IS [0]                                      #   2, 1 InstanceNumber

C:\Libs\dcmtk-3.6.0\bin>dcmdump +P "0020,0013" PathToCorrectDICOM\img.dcm
(0020,0013) IS [0]                                      #   2, 1 InstanceNumber
(0020,0013) IS [5]                                      #   2, 1 InstanceNumber
Run Code Online (Sandbox Code Playgroud)

我们可以看到,有时得到的值(不是'0')是最后一个.在这种情况下,一切都很好.但在某些特定情况下,正确的值存储在两个"0"之间.

我也试过一个不同的翻斗车(DCM4CHE 2.0.23),它给了我相同的结果.

我想知道为什么会这样.更重要的是,如何获得正确的价值?

在批处理文件中,有没有办法消除0直到正确的数字?

默认情况下,上面引用的命令行采用最后一个字段......我想.

batch-file dicom dcm4che dcmtk

5
推荐指数
1
解决办法
346
查看次数

DICOM 工作列表在 DCMTK wlmscpfs 中返回不匹配

我已经在 Ubuntu 18.04 上设置了 DCMTK 的 wlmscpfs。工作列表文件通过 dump2dcm 从转储文件转换为 .wl 文件。到目前为止,当从几台超声波机器(三星、西门子)查询时,工作列表文件已返回成功匹配。然而,对于另一台机器,wlmscpfs 一直说明“来自工作列表文件的信息......与查询不匹配”,尽管搜索掩码包含匹配的值。

这是详细日志:

Find SCP Request Identifiers:
# Dicom-Data-Set
(0008,0020) DA (no value available)
(0008,0050) SH (no value available)
(0008,0080) LO (no value available)
(0008,0081) ST (no value available)
(0008,0082) SQ (Sequence with undefined length #=1)
  (fffe,e000) na (Item with undefined length #=4)
    (0008,0100) SH (no value available)
    (0008,0102) SH (no value available)
    (0008,0103) SH (no value available)
    (0008,0104) LO (no value available)
  (fffe,e00d) na (ItemDelimitationItem)
(fffe,e0dd) na (SequenceDelimitationItem)
(0008,0090) …
Run Code Online (Sandbox Code Playgroud)

php dicom dcmtk

5
推荐指数
1
解决办法
262
查看次数

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标准的文件格式的

# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 164                                      #   4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01                                    #   2, 1 FileMetaInformationVersion
(0002,0002) UI =DigitalXRayImageStorageForPresentation  #  28, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.826.0.1.3680043.2.876.8598.1.4.0.20160428091911.2.2] #  56, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =JPEGLSLossless                          #  22, 1 TransferSyntaxUID
(0002,0012) UI [1.2.276.0.64]                           #  12, 1 ImplementationClassUID
Run Code Online (Sandbox Code Playgroud)

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

有没有切换这样做?

dicom dcmtk

4
推荐指数
1
解决办法
196
查看次数

DCMTK C++:如何从 dicom 文件获取数据像素

我正在将 DCMTK 用于 C++ 项目,并希望从 dicom 文件中检索像素。我使用了这个基本示例:

          DicomImage *image = new DicomImage("test.dcm");
          if (image != NULL)
          {
           if (image->getStatus() == EIS_Normal)
          {
            if (image->isMonochrome())
                 {
                     image->setMinMaxWindow();
                     Uint8 *pixelData = (Uint8 *)(image->getOutputData(8 /* bits */));
                    if (pixelData != NULL)
                    {
                    /* do something useful with the pixel data */
                    }
                      }
                  } else
           cerr << "Error: cannot load DICOM image (" <<        DicomImage::getString(image->getStatus()) << ")" << endl;
          }
          delete image;
Run Code Online (Sandbox Code Playgroud)

在“对像素数据做一些有用的事情”部分中,如何使用 PixelData 变量来获取像素

c++ dicom dcmtk

3
推荐指数
1
解决办法
6606
查看次数

dcm2pnm、dcmj2pnm和dcml2pnm的区别

标题说明了一切。dcm2pnm ( http://support.dcmtk.org/docs/dcm2pnm.html )、dcmj2pnm ( http://support.dcmtk.org/docs/dcmj2pnm.html ) 和 dcml2pnm ( http://support .dcmtk.org/docs/dcml2pnm.html)dcmtk 工具包的命令(http://support.dcmtk.org/docs/pages.html)?他们似乎都将 dicom 图像转换为其他格式。有什么特殊情况应该优先于其他人吗?

编辑:似乎 dcml2pnm 支持更多格式。为什么不把它用于所有目的?其他命令的优点是什么?

image-processing dicom dcmtk

3
推荐指数
1
解决办法
1419
查看次数

如何使用 DCMTK 处理(即读/写)私有 DICOM 标签

关于处理 DICOM 中的私有标签。谁能给我以下的编码示例: 1. 编写私有标签固定属性标签。2. 类似的读取私有标签的例子。注意:有时私有标签会被重新定位。当私有标签被重新定位时如何读取私有标签。例如:有时 Private Creator 会位于 (4201,0010) LO [测试数据] # 16, 1 PrivateCreator (4201,1000) IS [11] # 2, 1 未知标签和数据

或者它可以位于 (4201,0011) LO [测试数据] # 16, 1 PrivateCreator (4201,1100) IS [11] # 2, 1 未知标签和数据

在阅读可重定位私有标签时有任何建议。同样如何在写入时避免重定位。

dicom dcmtk

2
推荐指数
1
解决办法
3318
查看次数

Dcmtk 转储,通过不加载所有内容来减少时间

我正在处理DICOM图像并使用DCMTK进行一些处理。

我的问题是我必须只检索一批图像的某些标签。但这个过程需要太长的时间。

我在用着dcmdump -M -L +P '0010,0020' +P '0010,0010

  • -M不要加载很长的值(例如像素数据)
  • -L打印缩短的长标签值(默认)
  • +P打印标签的文本转储,该选项可以指定多次

但单个文件的“转储”需要~1sc. 这是因为所有标签仍在加载,但随后+P 正在搜索所有标签。

我只有几个标签要检索。是否有可能仅加载某些特定标签以减少转储文件所需的时间?

也许 DCMTK 不是合适的工具。我对一切都持开放态度。

dump dicom dcmtk

2
推荐指数
1
解决办法
1345
查看次数

标签 统计

dcmtk ×9

dicom ×8

c++ ×2

batch-file ×1

dcm4che ×1

dump ×1

image-processing ×1

php ×1

visual-studio ×1