2016-11-24 12 views
0

Я хочу отобразить все файлы dicom в папке. Когда я запускаю следующий код для отображения всех файлов dcm, тогда MATLAB отображает пустые окна со всеми значениями пикселей, равными нулю. Папка Sub1 содержит 150 dcm файлов.Не показывать файлы dicom

EDITED: проблема не в коде. Я просто попробовал этот код на другом наборе DCM-изображений, которые были 256x256, и это сработало. Но он не работает с одним конкретным набором файлов dcm, которые являются 512x512. Может ли быть проблема с резолюцией? Благодаря

projectdir = 'F:\MS Study\Thesis\Implementation\Dataset\Dcm\Sub1'; 
    dicomFiles = dir(fullfile(projectdir, '*.dcm')); 
    y = length(dicomFiles); 
    %X = zeros(128, 128, 1, y, 'uint8'); 
    % Read the series of images. 

    for p=1:y 
     filename = fullfile(projectdir, dicomFiles(p).name); 
     Y = dicominfo(filename); 
     Y2 = dicomread(Y); 
     imshow(Y2, []); 
    end 
+1

Не должны ли быть '\' после ProjectDir? –

+0

Jepp, он должен ..... Я бы рекомендовал использовать ключевое слово 'fileep' для установки правильного разделителя папок – bushmills

ответ

0

установить директорию проекта, как в следующем примере:

projectdir = ['F:\MS Study\Thesis\Implementation\Dataset\Dcm\Sub1' filesep]; 
dicomFiles = dir(fullfile(projectdir, '*.dcm'));; 
1

Я рекомендовал бы это:

projectdir = 'F:\MS Study\Thesis\Implementation\Dataset\Dcm\Sub1\'; 
dicomFiles = dir(fullfile(projectdir, '*.dcm')); 
y = length(dicomFiles) 
%X = zeros(128, 128, 1, y, 'uint8'); 
% Read the series of images. 
for p=1:y 
    filename = fullfile([ projectdir, dicomFiles(p).name ]); 
    Y = dicominfo(filename); 
    Y2 = dicomread(Y); 
    imshow(Y2, []); 
end 
+0

, переменная' dicomFiles' будет пустой, поэтому цикл не будет введен ... – bushmills

+1

Отредактировано , Спасибо :) –

+0

добро пожаловать ;-) – bushmills