How to load files in numerical order?

Technical Source
1 min readJul 29, 2023

--

Hello everyone,

I am loading multiple dicom files from the same folder using the following code:

imagesFolder = uigetdir('C:\','Select your folder with DICOM files');
filePattern = fullfile(imagesFolder, '*.dcm');
theFiles = dir(filePattern);
for k = 1 : length(theFiles)
baseFileName = theFiles(k).name;
fullFileName = fullfile(imagesFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = dicomread(fullFileName);
end

The problem is that I have my files numbered as follows: name1, name 2, …, name10, name11, …, name100, name101, etc. And when I load the files they are inserted in the 3D variable (in this case imageArray) with the following order: name1, name10, name100, name101, …, name109, name11, name110, name111, etc.

In my windows folder I see the files ordered. How can I load the files in order?

Answer:

It has plenty of examples and help, so you should not have any problems using it. E.g.:

P = uigetdir('C:\','Select your folder with DICOM files'); 
S = dir(fullfile(P,'*.dcm'));
S = natsortfiles(S); % sort filenames into alphanumeric order
for k = 1:numel(S)
baseFileName = S(k).name;
fullFileName = fullfile(P, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = dicomread(fullFileName);
end

for other assignment help please visit this site:

  1. matlabhelpers
  2. matlabsolutions
  3. programmingshark

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet