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
分享到:
相关推荐
2. **数据解析**:读取和分析DICOM文件,提取其中的图像信息和患者数据。 3. **数据生成**:根据用户需求创建新的DICOM文件,如生成结构化报告。 4. **网络通信**:通过DICOM网络服务类(DIMSE)与医疗设备进行数据...
它包含用于读取、写入和验证DICOM数据集的类。 2. **dcmsr**:用于处理DICOM结构化报告(Structured Reports)。这些报告用于记录医疗检查的结果和发现,例如心电图或病理学报告。 3. **dcmdict**:包含了DICOM...
处理DICOM文件时,我们可能会用到一些专门的工具,如DCMTK(DICOM Toolkit)、pydicom库(Python中的DICOM处理库)或者商业软件如ImageJ,它们可以帮助读取、解析、编辑和显示DICOM文件。此外,对于压缩的DICOM图像...
DICOMDIR文件的标准格式是由DICOM标准定义的,使用特定的标签来标识和组织DICOM数据集。例如,文件中的OFFSETOFlastrecord(0004,1202)标签就用于指示DICOMDIR文件中最后一条记录的偏移量。在使用和理解DICOMDIR文件...
5. **DICOM文件结构**:熟悉DICOM文件的组成,包括DICOMDIR(目录文件)和单独的DICOM影像文件(如.dcm扩展名)。学习如何在Delphi中创建、修改和读取这些文件。 6. **事件驱动编程**:由于DICOM应用通常涉及网络...
这些库提供了API,允许程序读取和解析DICOM数据元素,包括元数据和图像像素数据。 3. DICOM对象模型: DICOM对象模型(DOM,DICOM Object Model)是将DICOM数据元素映射到Java对象的抽象表示。理解DOM有助于在代码...
1. **dcmdata**:处理DICOM数据元素和数据集,负责解析和创建DICOM文件。 2. **dcmsr**:处理DICOM结构化报告,支持读写和操作包含文本和测量值的复杂报告。 3. **dcmsign**:实现 DICOM 安全性功能,如数字签名和...
这些工具可能包括但不限于:`dcmdump`(用于查看DICOM文件的元数据),`dcmsend`(用于通过网络发送DICOM文件),`dcmmkdir`(创建DICOMDIR文件),`dcmsign`(签署DICOM文件)等。 使用DCMTK,开发者可以创建读取...
1. **DICOM数据解析**:DCMTK提供了解析和构建DICOM数据结构的能力,可以读取和写入DICOM文件,包括图像、病人信息、检查报告等。 2. **DICOM网络通信**:DCMTK支持DICOM网络协议(如TCP/IP),允许设备之间交换...
1. **DICOM标准理解**:了解DICOM标准的基本结构,包括数据元素、数据集、像素数据、DICOMDIR等,以及它们如何组合成完整的医学图像文件。 2. **DCMTK组件**:DCMTK主要包括几个主要组件,如dcmdata(用于处理DICOM...