210812-dicom文件排序并重命名

DCM文件排序与重命名
这段代码主要用于对名为'Y*'的患者目录下的DCM医学影像文件进行排序和重命名。通过读取每个DCM文件的'SliceLocation'信息,按照降序排序,并将文件重命名为1001.dcm格式,以确保文件序号与其实际层数对应。处理过程中,还提供了辅助信息以帮助后续的后处理操作。

引言

默写情况下,dcm文件导出后虽然名字为1001.dcm,1002.dcm,…,但是并非连续的,1002.dcm可能是第10层,为了后续后处理,前期可以将dcm文件序号和层数对应上
代码如下:

clc;clear;close all;
%%
patients = dir('data_czey/Y*');
for ii = 1:numel(patients)  % 遍历病人
    patientname = patients(ii).name;  
    disp(['-----------------',patientname,'-----------------'])  % 显示处理病人ID号
    dcmnames=dir(['data_czey/',patientname,'/*.DCM']);   % 列出该病人下所有dcm文件
    N_dcm=numel(dcmnames);
   %  DCM = zeros(512,512,N_dcm);  % 重新排序图像所用的矩阵
    IDX = zeros(1,N_dcm);  % 重新排序图像所用的索引
    for jj=1:N_dcm
        dcmname=dcmnames(jj).name;  
        filefullpath=fullfile('data_czey',patientname,dcmname); 
        % DCM(:,:,jj) = dicomread(filefullpath);  % 存储图像矩阵
        info = dicominfo(filefullpath);
        IDX(jj) = info.SliceLocation;  % 存储SliceLocation,用于排序
    end
    [~,idx] = sort(IDX,'descend');  % 根据存储SliceLocation排序,idx为排序后index
    for kk = 1:N_dcm
        index=sprintf('1%03d',kk);  % 输出1001.dcm格式
%     
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值