如何使用'dicomwrite'命令将多个dicom文件写入一个文件夹

问题描述 投票:1回答:1

使用for循环,我可以读取文件夹中存在的所有'k'dicom文件。在每个切片上执行一些操作后,我需要将它们保存到另一个文件夹中。有人请帮我

names=dir(fullfile('C:\matlab\*.dcm'));
for k=1:size(names, 1)
    I(:,:,k)=dicomread(names(k).name);
    P=I(:,:,k);
    M(:,:,k) = foperation(P);
    %figure(k)
    % imshow(M(:,:,k))
    dicomwrite(M(:,:,k),'m_01.dcm')  // what and how should i change this line to save all k files 
end
matlab image-processing dicom medical
1个回答
1
投票

我认为不可能将所有文件保存在一个命令中-您需要一个一个地保存它们。

我认为最好的解决方案是将输出文件保存为与输入相同的名称,但保存在不同的文件夹中。将文件保存在与阅读它们相同的循环中:

%Set output folder to C:\matlab\out
outdir = fullfile('C:\matlab\', 'out');

%Create folder if not exist
if ~exist(outdir, 'dir'), mkdir(outdir);end

for k=1:size(names, 1)
   ...

   %Store M(:,:,k) to file names(k).name in the folder C:\matlab\out
   dicomwrite(M(:,:,k), fullfile(outdir, names(k).name))
end
© www.soinside.com 2019 - 2024. All rights reserved.