I want to load the dicom files from a folder..
12 次查看(过去 30 天)
显示 更早的评论
clear % no variables
close all % no figures
clc % empty command window
fileFolder = fullfile(pwd, 'p5');
files = dir(fullfile(fileFolder, '*.dcm'));%specify data file diectory
fileNames = {files.name};
%examine file header meta datafrom dicom stack
info = dicominfo(fullfile(fileFolder, fileNames{1}));
%extract size info from meta data
voxel_size = [info.PixelSpacing; info.SliceThickness];
%read slice image% 3D matrix
hWaitBar= waitbar(0,'Reading DICOM files');
%create array
ct=zeros(sizeI(1), sizeI(2),numImages, classI);
for i=length(fileNames):-1:1
fname = fullfile(fileFolder, fileNames{i});
ct(:,:,i) = dicomread(fname);
waitbar((length(fileNames):-1+1)/length(fileNames))
end
delete(hWaitBar)
montage(reshape((ct), [size(ct,1), size(ct,2), 1, size(ct, 3)]), 'DisplayRange', []);
drawnow;
shg;
im = (ct(:, :, 148));
maxl = double(max(im(:)));
imt = imtool(im, [0, maxl]);
imtool close all;
采纳的回答
Walter Roberson
2018-3-31
Your code is assuming that your current directory has a subdirectory named 'p5' that has at least one .dcm file. You should not be assuming that. You should be checking isempty(fileNames)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!