How do I fix this error in dicomread? It will not read in my .dcm file.

3 次查看(过去 30 天)
I am trying to read in multiple images. However I keep getting an error. My code is the following
clear all close all
num_images=67;
% Preallocate the 1000-by-2304-by-1-by-41 image array.
X = repmat(uint16(0), [1000 2304 1 num_images]);
% Read the series of images.
for p=1:num_images
filename = sprintf('12003_LCC_03Mar2016_145302_%03d_SART_It01.dcm', p);
X(:,:,1,p) = dicomread(filename);
end
% Display the image stack.
montage(X,[])
I keep getting the following error
Subscripted assignment dimension mismatch.
Error in dicomread>getOverlays (line 1172)
overlays(:,:,1,p) = bitget(X(:,:,1,1), ...
Error in dicomread>newDicomread (line 257)
[overlays, X] = getOverlays(X, metadata);
Error in dicomread (line 79)
[X, map, alpha, overlays] = newDicomread(msgname, frames);
Any ideas on how to fix this?

回答(1 个)

Walter Roberson
Walter Roberson 2016-4-19
You could get that error if you dicom images were not all the same size. You should read into a variable and check the size of the result before attempting to store into your array of results.
  2 个评论
Walter Roberson
Walter Roberson 2017-11-18
Rotha Uy:
Can you post a copy of a dicom image this is happening on? You will probably need to zip the .dcm and attach the .zip version.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 3-D Volumetric Image Processing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by