我在vtkImageData中持有一个卷图像,需要将其转换为DcmDataset(DCMTK)。我知道我需要将常规DICOM标签(如患者数据)设置到数据集中。那不是问题。 特别是我有兴趣将像素数据放到DcmDataset。有人知道一个例子或者可以解释如何做到这一点吗?
提前致谢
答案 0 :(得分:1)
引用DCMTK FAQ:
是否有工具可以转换常见的图形格式,如PGM / PPM, PNG,TIFF,JPEG或BMP到DICOM?
不,不幸的是,DCMTK中没有这样的工具。目前,您必须为此目的编写自己的小程序 工具包文档中的以下代码片段可以作为一个起点:
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_PatientsName, "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;
DCMTK的当前快照(&gt;版本3.5.4)包含一个新的快照 命令行工具“img2dcm”,允许将JPEG图像转换为 某些DICOM图像SOP类。
我可能会首先查看 img2dcm (documented here)的源代码,以查看常规过程,然后回复任何具体问题。恕我直言,DCMTK非常强大但非常难以理解。