从DICOM文件中读取元数据
DICOM文件包含提供有关图像数据信息的元数据,例如大小、尺寸、位深度、用于创建数据的模式以及用于捕获图像的设备设置。要从DICOM文件读取元数据,请使用dicominfo
函数。dicominfo
返回MATLAB中的信息®结构,其中每个字段包含一段特定的DICOM元数据。返回的元数据结构dicominfo
指定要读取的DICOM文件dicomread
——看从DICOM文件中读取图像数据。如果您只是想在DICOM文件中查看元数据,那么出于调试目的,可以使用dicomdisp
函数。
下面的示例从工具箱中包含的样例DICOM文件读取元数据。
Info = dicominfo(“CT-MONO2-16-ankle.dcm”)
info = Filename: [1x89 char] FileModDate: '18-Dec-2000 11:06:43' FileSize: 525436 Format: 'DICOM' FormatVersion: 3 Width: 512 Height: 512 BitDepth: 16 ColorType: 'grayscale' FileMetaInformationVersion: [2x1 uint8] MediaStorageSOPClassUID: '1.2.840.10008.5.1.4.1.1.7' MediaStorageSOPInstanceUID: [1x50 char] TransferSyntaxUID: '1.2.840.10008.1.2' ImplementationClassUID: '1.2.840.113619.6.5' . .
私有DICOM元数据
DICOM规范定义了许多这样的元数据字段,但是文件可以包含额外的字段,称为私有元数据。这种私有元数据通常由设备供应商定义,以提供有关其提供的数据的附加信息。
当dicominfo
在DICOM文件中遇到私有元数据字段,它返回元数据,根据元数据的组和元素标记为该字段创建通用名称。例如,如果文件包含组0009和元素0006的私有元数据,dicominfo
创建名称:Private_0009_0006
。dicominfo
如果可以,尝试解释私有元数据。例如,如果元数据包含字符,dicominfo
处理数据。如果它不能解释数据,dicominfo
返回一个字节序列。
如果需要处理由使用私有元数据的制造商创建的DICOM文件,并且希望查看字段和数据的正确名称,则可以创建自己的DICOM数据字典副本,并对其进行更新,以包含私有元数据的定义。您将需要有关供应商通常在DICOM遵从性声明中提供的私有元数据的信息。有关更新DICOM字典的详细信息,请参见创建你自己的DICOM词典。
创建你自己的DICOM词典
MathWorks®使用包含数千个标准DICOM元数据字段定义的DICOM字典。如果DICOM文件包含未在字典中定义的元数据,则可以更新字典,创建包含这些私有元数据字段的自己的副本。
要创建自己的字典,请执行以下步骤:
复制MATLAB中包含的DICOM字典的文本版本。这个文件叫做
dicom-dict.txt
位于
或matlabroot
/工具箱/图片/ medformats
这取决于您正在使用的图像处理工具箱软件的版本。不要尝试编辑字典的mat文件版本,matlabroot
/工具箱/图片/ iptformatsdicom-dict.mat
。编辑DICOM字典的副本,为元数据添加条目。使用组和元素标记、类型和其他信息插入新的元数据字段。遵循文件中其他条目的格式。元数据的创建者(例如设备供应商)必须向您提供这些信息。
保存你那本字典。
将MATLAB设置为使用DICOM字典的副本,
dicomdict
函数。