フィルターのクリア

Error using dicomread, file not found

6 ビュー (過去 30 日間)
Olukayode Sonaike
Olukayode Sonaike 2017 年 10 月 31 日
コメント済み: Olukayode Sonaike 2017 年 11 月 1 日
Am using dicom images in my project.
Currently trying to read in a series of dicom images into an array using dicomread but I keep getting these error.
Error using dicom_getFileDetails (line 14)
File "00100002.dcm" not found.
Error in dicomread>newDicomread (line 188)
fileDetails = dicom_getFileDetails(filename);
Error in dicomread (line 86)
[X, map, alpha, overlays] = newDicomread(msgname, frames, useVRHeuristic);
Error in Brain_Scannerv1 (line 20)
X(:,:,1,y) = uint16(dicomread(fileNames{y}));
side notes
the files don't have the .dcm extension so I have to add the extension to the filenames.
code below works for a folder containing dicom images but not all of them.
%%create filepath and find list of Dicom
folder_path = uigetdir;
addpath(folder_path)
dirOutput = dir(fullfile(folder_path));
fileNames = {dirOutput.name};
file_num = length(fileNames); %get the number of dicom files.
ext = '.dcm';
for p = 1:file_num
fileNames(p) = strcat(fileNames(p),ext);
end
fileNames(:,[1, 2]) = []; % first 2 filenames don't have have an actual file so i clear the first 2 columns
file_num = length(fileNames);
%%read DICOM files
X = repmat(int16(0), [256 256 1 file_num]); %preallocate array to store files
for y=1:file_num
X(:,:,1,y) = uint16(dicomread(fileNames{y}));
end
Any help is appreciated

採用された回答

Walter Roberson
Walter Roberson 2017 年 10 月 31 日
folder_path = uigetdir;
dirOutput = dir(folder_path);
dirOutput([dirOutput.isdir]) = [];
fileNames = fullfile(folder_path, {dirOutput.name});
If a file does not have a .dcm extension, then dicomread() will not be able to read the file if you add the .dcm extension. You should leave out the code
ext = '.dcm';
for p = 1:file_num
fileNames(p) = strcat(fileNames(p),ext);
end
Note: you have
fileNames(:,[1, 2]) = []; % first 2 filenames don't have have an actual file so i clear the first 2 columns
which is not correct code because some files can sort before '.' and '..' . In the code above, the equivalent but more robust code is the one involving isdir
  1 件のコメント
Olukayode Sonaike
Olukayode Sonaike 2017 年 11 月 1 日
Thanks for responding. leaving out the code
if true
ext = '.dcm';
for p = 1:file_num
fileNames(p) = strcat(fileNames(p),ext);
end
end
gets rid of the errors.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDICOM Format についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by