`
qimo601
  • 浏览: 3444046 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

DCMTK create GSPS object with multiple image references

 
阅读更多

 

Howto: Create GSPS object with multiple image references

Here's an example that shows how to create a GSPS object with annotations and multiple image references:

 

#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmpstat/dvpstat.h"
#include "dcmtk/dcmpstat/dvpsgr.h"
 
int main(int argc, char *argv[])
{
    if (argc < 2)
    {
        COUT << "syntax usage: tstgsps <gsps-output> <image-input> ..." << OFendl;
        return 1;
    }
 
    DcmFileFormat imageFile;
    DVPresentationState pstate;
 
    /* load and process image input files */
    for (int i = 2; i < argc; i++)
    {
        if (imageFile.loadFile(argv[i]).good())
        {
            if (i == 2)
            {
                /* create default GSPS object from first image */
                if (pstate.createFromImage(*imageFile.getDataset()).bad())
                    CERR << "Error: cannot create GSPS object from first image" << OFendl;
                /* attach the first image (required for graphical annotations!)*/
                if (pstate.attachImage(imageFile.getDataset(), OFFalse).bad())
                    CERR << "Error: cannot attach first image to GSPS object" << OFendl;
            }
            /* add further image references to GSPS object */
            else if (pstate.addImageReference(*imageFile.getDataset()).bad())
                CERR << "Error: cannot add image reference #" << (i -1) << OFendl;
        } else
            CERR << "Error: cannot load file '" << argv[i] << "'" << OFendl;
    }
 
    /* add graphical annotation, create a new layer first ...  */
    if (pstate.addGraphicLayer("MEASUREMENT").good())
    {
        /* ... and then a graphic object */
        DVPSGraphicObject *graphic = pstate.addGraphicObject(pstate.getGraphicLayerIndex("MEASUREMENT"));
        if (graphic != NULL)
        {
            const Float32 data[] = {100, 100, 250, 250};
            graphic->setGraphicType(DVPST_polyline);
            graphic->setData(2, data, DVPSA_pixels);
        } else
           CERR << "Error: cannot create graphic object" << OFendl;
    } else
        CERR << "Error: cannot add graphic layer" << OFendl;
 
    DcmFileFormat gspsFile;
    /* save GSPS object first to a DICOM data set ... */
    if (pstate.write(*gspsFile.getDataset(), OFTrue).good())
    {
        /* ... and then to a DICOM file */
        if (gspsFile.saveFile(argv[1], EXS_LittleEndianExplicit).bad())
            CERR << "Error: cannot save file '" << argv[1] << "'" << OFendl;
    } else
        CERR << "Error: cannot write GSPS object to data set" << OFendl;
 
    return 0;
}

 

------------------------------------------------------------------

柳北风儿

http://qimo601.iteye.com

转载:http://support.dcmtk.org/wiki/dcmtk/howto/gspsannotations

分享到:
评论

相关推荐

    compile DCMTK for Windows with CMake

    zlib support: set "DCMTK_WITH_Z" to "ON" and "WITH_ZLIBINC" to the path where the zlib include files and libraries reside. OpenSSL support: set "DCMTK_WITH_OPENSSL" to "ON" and "WITH_OPENSSLINC" as ...

    dicom.rar_dcmtk_dcmtk3.6_dcmtk3.6.0_dicom

    DCMTK(DICOM Toolkit)是一个开源软件库,它提供了处理DICOM数据所需的工具和API,使得开发者能够创建与DICOM兼容的应用程序。本压缩包“dicom.rar”包含了DCMTK的版本3.6.0,这是一个广泛使用的版本,适用于医疗...

    VC和DCMTK显示DICOM图像

    /* create image object */ DcmImage image; /* read image from file */ status = image.readFromFile(argv[1]); if (status.good()) { /* get the pixel data */ unsigned long *pixelData; int nrRows...

    dcmtk编译安装详细文档

    5. **DCMTK_WITH_OPENSSL**:选中,启用OpenSSL支持,需要先安装`openssl-devel`。 6. **DCMTK_WITH_PNG**:选中,启用PNG图像格式支持,需要`libpng-devel`。 7. **DCMTK_WITH_THREADS**:选中,启用多线程支持。 8...

    dcmtk使用手册,dcmtk使用手册,dcmtk使用手册

    dcmtk使用手册,医学领域的东东,有学习的可以下载看看,没学过,不知道好不好学

    DCMTK工具下载,实现dicom传输文件等功能

    DCMTK(Digital Imaging and Communications in Medicine - Toolkit)是一套开源的软件工具包,主要用于开发医学影像处理和通信的应用程序。这个工具集是基于DICOM(Digital Imaging and Communications in Medicine...

    dcmtk-3.6.0官方帮助文档

    DCMTK(Digital Imaging and Communications in Medicine Toolkit)是开源软件库,主要用于开发医学影像通信标准(DICOM)的软件。这个3.6.0版本的官方帮助文档是开发者和使用者理解DCMTK的重要资源,提供了详尽的...

    Windows Qt环境下DCMTK库

    **Windows Qt环境下的DCMTK库** DCMTK(DICOM Toolkit)是一个开源软件库,专为处理DICOM(Digital Imaging and Communications in Medicine)标准而设计。DICOM是医学成像领域广泛使用的通信协议和数据格式标准。...

    最全DCMTK攻略

    DCMTK攻略 DCMTK(DICOM Toolkit)是德国Offis公司开发的开源项目,旨在提供一个实现DICOM协议的平台,为开发者提供了一个便捷的开发环境。DCMTK提供了所有的源代码、支持库和帮助文档,支持多种操作系统,包括...

    DCMTK 新手使用指南

    DCMTK 新手使用指南 DCMTK 是一个 DICOM 工具包,提供了 DICOM 协议的实现和DICOM 文件处理功能。作为新手,使用 DCMTK 可能会遇到很多疑惑之处。本文总结了 DCMTK 新手使用指南,旨在帮助大家快速上手 PACS 事业。...

    dcmtk-3.5.3-html-help.zip_Help!_dcmtk_dcmtk help

    DCMTK(DICOM ToolKit)是一套开源的软件库,专门用于开发处理DICOM(Digital Imaging and Communications in Medicine)标准的应用程序。DICOM是一种广泛应用于医疗成像领域的国际标准,它定义了医学图像和相关数据...

    linux系统下的 DCMTK-3.6.0

    **Linux系统下的DCMTK-3.6.0详解** DCMTK(DICOM Toolkit)是一套开源的软件库和工具集,专为处理DICOM(Digital Imaging and Communications in Medicine)标准而设计,广泛应用于医学图像通信、医学影像处理和...

    dcmtk.rar_dcmtk_dicom

    DCMTK,全称为"Digital Imaging and Communications in Medicine - Toolkit",是一个开源软件工具包,专为处理DICOM(Digital Imaging and Communications in Medicine)标准而设计。DICOM是一种广泛应用于医疗影像...

    已编译好的dcmtk工具包,包含所有dcmtk工具,win10亲测可用

    DCMTK(Digital Imaging and Communications in Medicine Toolkit)是一款开源的医学图像处理库,主要用于医疗影像数据的处理、传输和解析。这个压缩包提供的是已经针对Windows 10操作系统编译好的DCMTK工具集,意味...

    Dcmtk3.6.6.rar

    DCMTK是一个开源的医学图像通信(DICOM)软件开发工具包,主要用于处理与DICOM标准相关的各种任务,如图像存储、查询、打印等。在这个"Dcmtk3.6.6.rar"压缩包中,包含了编译好的DCMTK库,适配于Visual Studio 2017在...

    DCMTK下载及编译使用

    DCMTK(DICOM ToolKit)是一个开源的C++库,专门用于处理DICOM(Digital Imaging and Communications in Medicine)标准的医学图像数据。DICOM是医疗影像设备之间交换数据的标准格式,广泛应用于医疗成像领域,如CT...

    DCMTK-已编译的dcmtk

    名称:DCMTK 评级:★★★★★ 开源许可:BSD 功能: 影像处理,影像归档,影像管理,影像传输 标准:DICOM 语言:英语 客户端: 桌面 平台:跨平台 编程语言:C/C++ 官方网站:http://dicom.offis.de/

    基于DCMTK的DICOM图像查看器

    【标题】"基于DCMTK的DICOM图像查看器"是一个专门为医学图像处理设计的应用程序,它利用了开源的DCMTK库来实现对DICOM格式图像的读取、显示和解析。DICOM(Digital Imaging and Communications in Medicine)是医疗...

    DCMTK库编译与在QT中的使用

    DCMTK库是一个开源的医学图像处理工具包,主要用于DICOM(Digital Imaging and Communications in Medicine)标准的实现。DICOM是医疗领域广泛采用的数据交换、存储和通信的标准格式。DCMTK库提供了丰富的API,可以...

    dcmtk-3.6.5(win64).zip

    DCMTK,全称是DICOM Toolkit,是一个开源软件包,专门用于处理DICOM(Digital Imaging and Communications in Medicine)标准的医疗图像数据。DICOM是一种国际标准,它定义了医疗成像设备之间以及与医疗信息系统之间...

Global site tag (gtag.js) - Google Analytics