问题标签 [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.
c++ - 使用 DCMTK (C++) 压缩 DICOM 文件
该死的我很沮丧...
按照此页面http://support.dcmtk.org/docs/mod_dcmjpeg.html中的示例,我编写了一个 C++ 程序来解压缩 JPEG 压缩的 DICOM 图像文件
现在我想反之亦然,从未压缩到压缩,如果我在同一页面中使用另一个示例,使用相同(或其他文件)代码编译并运行但无法压缩文件......
我看到在下面的代码之后,原来的Xfer和Current是一样的,这不好,因为需要不同
这就像chooseRepresentation
方法失败....
更多线路
返回假
我在 dcpixel.cc 文件中看到了,调试代码进入
结果是假的....
我该如何解决?有人有一个代码可以用 DCMTK 或其他库压缩 DICOM 图像
这是完整的代码:
c++ - DCMTK 字符集 Unicode 错误
我在 Visual Studio 2013 下使用 DCMTK 库。如果我在项目的属性中设置
编译时出现错误
如果我设置我可以解决Character Set: Use Multi-Byte Character Set
但我需要在字符集必须为 Unicode 的另一个项目中使用 DCMTK。查看错误,问题仅存在于关于日志的某些类中,可能我永远不会使用:所以我尝试注释出现错误的代码行,现在我可以使用 Unicode 进行编译。
这是解决问题的独特方法吗?我可以评论那部分有什么问题?
c++ - 解决 LNK4098:defaultlib 'MSVCRT' 与 (DCMTK) 和 LNK2038/LNK2005 冲突
我在使用 C++ 语言的 Visual Studio 2013 项目中使用 DCMTK 3.6.1 库。我的代码在调试模式下完美运行,但在发布模式下却不行;当我尝试编译它时,我有 275 个错误,如下所示:
dcmdata.lib(dcdatset.obj):错误 LNK2038:检测到不匹配
我尝试了很多在网上找到的解决方案,但没有任何效果......
如果我尝试在发布模式下编译 DCMTL 库,则会出现以下错误:
你知道如何解决这个问题吗?
c++ - 如何从字节创建 DICOM 图像 (DCMTK)
我想在可以创建 DICOM 图像的现有项目中使用 DCMTK 3.6.1 库。我想使用这个库,因为我想压缩 DICOM 图像。在一个新的解决方案(Visual Studio 2013/C++)中,按照 DCMTK 官方文档中的示例,我有这个代码,它可以正常工作。
现在我想在现有的 C++ 应用程序中使用相同的代码
实际上我用一帧上的图像进行了测试,所以 for 循环只完成了一次。我不明白为什么如果我选择dataset->chooseRepresentation(EXS_LittleEndianImplicit, ¶ms);
或dataset->chooseRepresentation(EXS_LittleEndianEXplicit, ¶ms);
工作完美但不是当我选择dataset->chooseRepresentation(EXS_JPEGProcess14SV1, ¶ms);
如果我在第一个应用程序中使用相同的图像,我可以毫无问题地压缩图像......
编辑: 我认为要解决的主要问题是status = dataset->chooseRepresentation(EXS_JPEGProcess14SV1, &rp_lossless)
返回“未找到标签”。我怎么知道错过了哪个标签?
EDIT2:根据 DCMTK 论坛中的建议,我添加了关于分配的位的标签,现在适用于少数图像,但不适用于所有图像。对于某些图像,我再次出现“未找到标签”:我怎么知道其中一个标签丢失了?通常最好插入所有标签?
c++ - DICOM 访问压缩数据 (DCMTK)
我在 DCMTK 3.6.1 库中苦苦挣扎,现在我在一种常见情况下被阻止:访问 DICOM 图像的压缩数据像素。
正如图书馆的作者在这里建议的那样http://support.dcmtk.org/redmine/projects/dcmtk/wiki/Howto_AccessingCompressedData,这是获取压缩数据的正确方法。
此代码有效,但它们从文件开始创建数据集。在我的代码中,我的数据集以这种方式填充
其中 pSource 包含我未压缩的像素数据。在此之后,我添加 Image DICOM 标签(第 28 组)并使用
从这个数据集开始,我想访问压缩数据
但行状态 = dpix->getEncapsulatedRepresentation(xferSyntax, rep, dseq); 重新调整失败并出现错误“找不到像素表示”,我不明白为什么。
奇怪的是,如果在访问压缩数据之前,我将压缩文件保存为fileformat.saveFile("compressedPixelData.dcm", EXS_JPEGProcess14SV1); 接下来我使用result = fileformat.loadFile("compressedPixelData.dcm");加载文件 ,一切正常
好像loadfile函数解决了问题,不知道怎么解决的,可能是填了一些标签?
我在调用 chooseRepresentation 函数之前填写的标签是:
- DCM_Rows
- DCM_列
- DCM_BitsStored
- DCM_SamplesPerPixel
- DCM_PlanarConfiguration
- DCM_HighBit
- DCM_BitsAllocated
- DCM_PixelRepresentation
- DCM_RescaleIntercept
- DCM_RescaleSlope
- DCM_PhotometricInterpretation
- DCM_PixelAspectRatio
- DCM_ImagerPixelSpacing
- DCM_PixelSpacing
dicom - 如何使用 DCMTK 处理(即读/写)私有 DICOM 标签
关于处理 DICOM 中的私有标签。谁能给我下面的编码示例: 1.编写私有标签固定属性标签。2.读取私有标签的类似示例。注意:有时私有标签会被重新定位。当私有标签被重定位时如何读取私有标签。例如:有时 Private Creator 会位于 (4201,0010) LO [Test Data] # 16, 1 PrivateCreator (4201,1000) IS [11] # 2, 1 Unknown Tag & Data
或者它可以在 (4201,0011) LO [Test Data] # 16, 1 PrivateCreator (4201,1100) IS [11] # 2, 1 Unknown Tag & Data
阅读可重定位私有标签时的任何建议。同样如何在写作时避免重定位。
c++ - DICOM 序列定界项丢失加载文件 (DCMTK)
在我之前的一个应用程序中,我使用 DCMTK 创建了一个压缩的 DICOM 文件。我只使用 DCMTK 库来管理像素数据并进行压缩。我的意思是我已经关注了这个 wiki http://support.dcmtk.org/redmine/projec ... ressedData 并在获得 PixelData 后,我用我的函数(Write,for File)创建了一个 DICOM 文件。
一切正常,我可以毫无问题地打开并查看压缩文件。现在我想做反之亦然,所以我想导入我创建的压缩文件,解码并再次保存。我在这里使用了简单的示例(http://support.dcmtk.org/docs/mod_dcmjpeg.html)进行解码,但我的程序在 fileformat.loadfile 函数中失败并出现此错误:
"Sequence Delimitation Item missing"
在控制台上我可以阅读"DcmSequenceOfItems: Reached the end of the stream before the end of sequence PixelData"
.
如果使用不同的文件,压缩和未压缩,不是我制作的,加载文件功能可以工作......这意味着,我认为,当我使用以前的应用程序创建压缩文件时,即使我检查了标签,也会出现问题并且我可以使用 Dicom Viewer 软件打开图像。
那个错误是什么意思?我该如何解决?也许我必须在创建压缩文件之前写标签 DcmSequenceOfItems ?
希望有人可以帮助
c++ - 从 PixelData 值 (DCMTK) 开始解压缩 JPEG DICOM 图像
我想使用 DCMTK 解压缩 DICOM 文件,如本例http://support.dcmtk.org/docs/mod_dcmjpeg.html 但我的问题是我不想加载文件。
我有一个数组,里面有压缩的 PixelData 值。我已经尝试过这种方式但不起作用。
文件 test.dcm 已创建但我无法打开它(免费的 Dicom Viewr 软件崩溃)并且尺寸等于压缩文件,因此解码程序不起作用......我的错误是什么?
我也试过:
getUncompressedFrame
返回错误“请求的字节数过多”
如果使用frameSize - 1
而不是 frameSize 我有错误“非法调用可能是错误的参数”......但是为什么?!?
dicom - DCMTK: Write DICOM file to memory
I am using DCMTK to write DICOM files to disk and this works quite well. So, I briefly do something as follows:
This works quite well. However, I would like to write the contents to some memory buffer. So, I would like to do something as follows:
and then somehow use the file_format to write to this buffer instead of the file. I see there is a 'write' method in the DcmFileFormat but could not figure out how to use it where I could specify my own byte array for it to write to.
linux - 哪个版本的 dcmtk 与 gcc 版本 4.8.2 兼容?
我正在尝试在我的 linux 系统 gcc 版本 4.8.2 上安装 dcmtk 3.6.0。但我收到一个错误“在此范围内未定义作为 ofoset.h 一部分的调整大小”。阅读后,我意识到这是由于 dcmtk 和 gcc 版本不匹配造成的。但我无法为我的编译器找到合适的。
任何帮助将不胜感激。