как записать несколько файлов dicom в папку с помощью команды dicomwrite - PullRequest
1 голос
/ 19 января 2020

используя для l oop, я могу прочитать все файлы 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

1 Ответ

1 голос
/ 19 января 2020

Я не думаю, что возможно сохранить все файлы одной командой - вам нужно сохранять их по одному.

Я думаю, что лучшим решением является сохранение выходных файлов с тем же именем ввода, но в другой папке.
Сохранение файлов в том же l oop вы читаете их:

%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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...