首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用GDCM库创建DICOMDIR文件

无法使用GDCM库创建DICOMDIR文件
EN

Stack Overflow用户
提问于 2015-01-07 14:38:51
回答 1查看 1.1K关注 0票数 0

我正在使用GDCM库创建一个DICOMDIR文件。我实现了代码,如GDCM文档中所示:

8cs-example.html

在守则中:

代码语言:javascript
复制
    private int GenerateDicomDir(string directory, string outFileName)
    {
        gdcm.Directory d = new gdcm.Directory();
        uint nfiles = d.Load(directory, true);
        if (nfiles == 0) return 1;

        string descriptor = "Descriptor";
        FilenamesType filenames = d.GetFilenames();

        gdcm.Trace.DebugOn();
        gdcm.DICOMDIRGenerator gen = new DICOMDIRGenerator();
        gen.SetFilenames(filenames);
        gen.SetDescriptor(descriptor);
        if (!gen.Generate())
        {
            return 1;
        }

        gdcm.FileMetaInformation.SetSourceApplicationEntityTitle("GenerateDICOMDIR");
        gdcm.Writer writer = new Writer();
        writer.SetFile(gen.GetFile());

        writer.SetFileName(outFileName);
        if (!writer.Write())
        {
            return 1;
        }

        return 0;
    }

函数返回而不生成DICOMDIR文件。我已经添加了跟踪调试,但仍然无法调试或获得任何输出消息。

有没有办法为一堆DICOM文件生成DICOMDIR文件?

EN

回答 1

Stack Overflow用户

发布于 2015-01-08 09:50:14

根据文档,您是否确保:

警告:PS3.11-2008/ D.3.1 SOP类和传输语法复合映像和独立存储需要存储为显式VR小终端未压缩(1.2.840.10008.1.2.1)。当使用另一个传输语法找到DICOM文件时,生成器将简单地停止。输入文件应该是显式的VR小端点文件名应该是有效的VR::CS值(16字节,大写)

如果您打开详细的调试,您可以记录确切的错误消息,请参阅gdcm::跟踪的使用情况。

根据gdcm::Trace的文档,您需要注意以下几点:

警告:在编译时,所有字符串消息都会被删除,而CMAKE_BUILD_TYPE被设置为: Release,建议在应用程序原型化期间使用RelWithDebInfo和/或Debug进行编译。

您还可以使用gdcm::跟踪::SetStreamToFile将任何消息正确地重定向到文件(而不是默认的stdout )。

由于您使用了gdcm.Directory的递归选项,您还需要注意子目录名称是有效的(VR::CS,16字节,大写.)。

有关更多信息,请参见gdcmgendir手册页

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27821843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档