How do I iterate variable names when loading dicom files?

1 次查看(过去 30 天)
I have 10 dicom files in a folder with names ["dicom1200.dcm","dicom1201.dcm"..."dicom1209.dcm"]. For each of these files, I want to load the dicominfo as a variable named dicom1200info, dicom1201info, etc. How do I do this so that the variable names are set iteratively? I am not sure cell arrays would work here because each dicominfo is itself a whole struct. I have heard it said that I should not be doing this, but I am not aware of any workarounds (additionally, i just need the task done and computational expense is not an issue).
Thanks
  1 个评论
Stephen23
Stephen23 2021-8-3
"How do I do this so that the variable names are set iteratively?"
Just use a cell array.
"I am not sure cell arrays would work here because each dicominfo is itself a whole struct."
A cell array works for me without any problem:
C = {struct('A',1:3);struct('A',4:6)}
C = 2×1 cell array
{1×1 struct} {1×1 struct}
"I have heard it said that I should not be doing this, but I am not aware of any workarounds"
Indexing into cell arrays is not a "workaround", it is basic MATLAB.

请先登录,再进行评论。

回答(1 个)

KSSV
KSSV 2021-8-3
files = dir('*dcm') ;
N = length(files) ;
for i = 1:N
file = files(i).name ;
% do what you want
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by