主要内容

创建新的DICOM系列

此示例显示如何为修改的DICOM图像创建新的DICOM系列。

在DICOM标准中,可以将图像组织成串联。默认情况下,当您使用元数据写入DICOM文件时,dicomwrite.将图像放在同一系列中。当您以某种方式修改图像时,通常只会启动新的DICOM系列。要使修改的图像开始新系列的开始,请为SeriesInstanceUID元数据字段分配新的DICOM唯一标识符。

从DICOM文件中读取图像到工作区。

我= dicomread('ct-mono2-16-ankle.dcm');

显示图像。因为DICOM图像数据被签名16位数据,所以自动缩放显示范围,以使最小像素值为黑色,最大像素值是白色的。

imshow(我,'displayrange',[])

图包含轴。轴包含类型图像的对象。

从DICOM文件中读取元数据。

info = dicominfo('ct-mono2-16-ankle.dcm');

要识别图像所属的系列,请查看seriesInstanceUID属性的值。

info.seriesinstanceuid.
ANS ='1.2.840.113619.2.1.2411.1031152382.365.736169244'

此示例通过从图像中删除所有文本来修改图像。图像中的文本显示为白色。找到图像中所有像素的最大值,这对应于白色文本。

textvalue = max(i(:));

图像的背景看起来是黑色的。找到图像中所有像素的最小值,这对应于背景。

backgroundvalue = min(i(:));

要删除文本,请将最大值的所有像素设置为最小值。

inodied = i;inodified(Imodified == textValue)= backgroundValue;

查看已处理的图像。

imshow(inodied,'displayrange',[])

图包含轴。轴包含类型图像的对象。

要将修改后的图像写为新系列,您需要一个新的DICOM唯一标识符(UID)。使用它使用的新UIDDicomuId.功能。DicomuId.保证生成一个唯一的UID。

UID = dicomuid.
UID ='1.3.6.1.4.1.9590.100.1.226901827022017773127022017773125436101'

将与原始DICOM文件关联的元数据中的SerieSInstanceUID字段的值设置为生成的值。

info.seriesinstanceuid = uid;

将修改后的图像写入新DICOM文件,指定修改后的元数据结构,INFO作为参数。因为您设置了seriesInstanduid值,所以写入图像是新系列的一部分。

dicomwrite(inodied,'ankle_newseries.dcm',信息);

要验证此操作,请在新文件中查看图像和seriesInstanceUID元数据字段。

也可以看看

应用

功能

相关话题