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

DCMTK读取DICOM文件,获取数据集、建立DicomDIr

阅读更多

 

Examples

The following example shows how to load a DICOM file and output the patient's name:

 

DcmFileFormat fileformat;
OFCondition status = fileformat.loadFile("test.dcm");
if (status.good())
{
  OFString patientName;
  if (fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientName).good())
  {
    cout << "Patient's Name: " << patientName << endl;
  } else
    cerr << "Error: cannot access Patient's Name!" << endl;
} else
  cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;

 The following example shows how to create a DICOM dataset and save it to a file:

 

char uid[100];
DcmFileFormat fileformat;
DcmDataset *dataset = fileformat.getDataset();
dataset->putAndInsertString(DCM_SOPClassUID, UID_SecondaryCaptureImageStorage);
dataset->putAndInsertString(DCM_SOPInstanceUID, dcmGenerateUniqueIdentifier(uid, SITE_INSTANCE_UID_ROOT));
dataset->putAndInsertString(DCM_PatientName, "Doe^John");
/* ... */
dataset->putAndInsertUint8Array(DCM_PixelData, pixelData, pixelLength);
OFCondition status = fileformat.saveFile("test.dcm", EXS_LittleEndianExplicit);
if (status.bad())
  cerr << "Error: cannot write DICOM file (" << status.text() << ")" << endl;

 The following example shows how to create a general purpose DICOMDIR from multiple files:

 

DicomDirInterface dicomdir;
OFCondition status = dicomdir.createNewDicomDir();
if (status.good())
{
  while ( /* there are files */ )
    dicomdir.addDicomFile( /* current filename */ );
  status = dicomdir.writeDicomDir();
  if (status.bad())
    cerr << "Error: cannot write DICOMDIR (" << status.text() << ")" << endl;
} else
  cerr << "Error: cannot create DICOMDIR (" << status.text() << ")" << endl;
 

 

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

柳北风儿

http://qimo601.iteye.com

转载:http://support.dcmtk.org/docs/mod_dcmdata.html

分享到:
评论

相关推荐

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

    2. **数据解析**:读取和分析DICOM文件,提取其中的图像信息和患者数据。 3. **数据生成**:根据用户需求创建新的DICOM文件,如生成结构化报告。 4. **网络通信**:通过DICOM网络服务类(DIMSE)与医疗设备进行数据...

    dcmtk_3.5.4.orig.tar.gz_DCMTK DICOM_dcmtk

    它包含用于读取、写入和验证DICOM数据集的类。 2. **dcmsr**:用于处理DICOM结构化报告(Structured Reports)。这些报告用于记录医疗检查的结果和发现,例如心电图或病理学报告。 3. **dcmdict**:包含了DICOM...

    医学dicom图像文件

    处理DICOM文件时,我们可能会用到一些专门的工具,如DCMTK(DICOM Toolkit)、pydicom库(Python中的DICOM处理库)或者商业软件如ImageJ,它们可以帮助读取、解析、编辑和显示DICOM文件。此外,对于压缩的DICOM图像...

    【DICOMDIR专题】DICOMDIR基础知识及常见问题汇总

    DICOMDIR文件的标准格式是由DICOM标准定义的,使用特定的标签来标识和组织DICOM数据集。例如,文件中的OFFSETOFlastrecord(0004,1202)标签就用于指示DICOMDIR文件中最后一条记录的偏移量。在使用和理解DICOMDIR文件...

    DICOM 开发for delphi

    5. **DICOM文件结构**:熟悉DICOM文件的组成,包括DICOMDIR(目录文件)和单独的DICOM影像文件(如.dcm扩展名)。学习如何在Delphi中创建、修改和读取这些文件。 6. **事件驱动编程**:由于DICOM应用通常涉及网络...

    DICOM 开发例程 java

    这些库提供了API,允许程序读取和解析DICOM数据元素,包括元数据和图像像素数据。 3. DICOM对象模型: DICOM对象模型(DOM,DICOM Object Model)是将DICOM数据元素映射到Java对象的抽象表示。理解DOM有助于在代码...

    DCMTK3.6.3编译好的Windows版x86,x64,release,debug静态版本

    1. **dcmdata**:处理DICOM数据元素和数据集,负责解析和创建DICOM文件。 2. **dcmsr**:处理DICOM结构化报告,支持读写和操作包含文本和测量值的复杂报告。 3. **dcmsign**:实现 DICOM 安全性功能,如数字签名和...

    dcmtk工具包(32位)

    这些工具可能包括但不限于:`dcmdump`(用于查看DICOM文件的元数据),`dcmsend`(用于通过网络发送DICOM文件),`dcmmkdir`(创建DICOMDIR文件),`dcmsign`(签署DICOM文件)等。 使用DCMTK,开发者可以创建读取...

    dcmtk3.62源码

    1. **DICOM数据解析**:DCMTK提供了解析和构建DICOM数据结构的能力,可以读取和写入DICOM文件,包括图像、病人信息、检查报告等。 2. **DICOM网络通信**:DCMTK支持DICOM网络协议(如TCP/IP),允许设备之间交换...

    dcmtk-3.5.4-html-help.zip

    1. **DICOM标准理解**:了解DICOM标准的基本结构,包括数据元素、数据集、像素数据、DICOMDIR等,以及它们如何组合成完整的医学图像文件。 2. **DCMTK组件**:DCMTK主要包括几个主要组件,如dcmdata(用于处理DICOM...

Global site tag (gtag.js) - Google Analytics