重命名 dicom 图像

Posted

技术标签:

【中文标题】重命名 dicom 图像【英文标题】:Rename dicom images 【发布时间】:2015-05-14 19:43:29 【问题描述】:

我有 110 张 CT dicom 图像,它们的名称是随机的,所以当我使用任何 dicom 查看器显示它们时,它们都是随机显示的。因此,我试图根据它们的图像编号 (0020,0013) 或切片位置 (0020,1041) 重命名这些 dicom 图像。我已经开始写脚本了

image_list=dir('*.dcm');
 for i=1:25
    img=dicomread(image_list(i).name);
    imgHdr = dicominfo(image_list(i).name);
 dicomwrite(img, ['T' num2str(i) '.dcm'], imgHdr,'CreateMode','Copy')
end

但我不知道如何告诉它检查 InstanceNumber 并在新名称中使用它?

【问题讨论】:

我使用了 MatLab 提供的.dcminfo = dicominfo('CT-MONO2-16-ankle.dcm'),但我在dicominfo 提供的信息中没有找到Image Numbercheck the image number 是什么意思? @il_raffa 抱歉,我的意思是 Matlab 中的 InstanceNumber(imageJ 中的图像编号) 【参考方案1】:

InstanceNumber 可作为dicominfo 输出结构的元素访问:

instancenumber = ImgHdr.InstanceNumber;

我会使用sprintf构造文件名

outputfilename = sprintf('T%04d', instancenumber);

sprintf 有多种格式与 C++ 中的printf 类似,我上面使用的格式打印一个整数('d'),有 4 位数字('4'),补零('0' )。这有利于文件管理器的自动排序。如果您需要不同的格式,请查看文档here。

【讨论】:

【参考方案2】:

我认为您只需在脚本中添加以下行:

imgHdr.InstanceNumber = i;

并尝试在查看器中加载图像。

【讨论】:

感谢vizhanyolajos的回复,我试过了,但是又随机显示了。 明天我会为你尝试一些东西......如果我有时间的话。 感谢 vizhanyolajos,我设法按照 xenoclast 的建议做到了。再次感谢您的帮助

以上是关于重命名 dicom 图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在上传过程中重命名图像文件

重命名服务器目录上的图像文件

在 Joomla K2 中更改图像重命名

在颤动中重命名文件/图像

使用 fs 在 multer 中重命名上传的图像

在Python中基于csv重命名文件中的图像