Error in displaying DICOM images in Matlab

I converted this image (.file) to a dicom image in AMIDE. However when I tried to display it in MATLAB, this error was shown. I am totally confused.
I=dicomread('data.dcm');
imshow(I,[]);
Error using imageDisplayValidateParams>validateCData (line 113)
Multi-plane image inputs must be RGB images of size MxNx3.
Error in imageDisplayValidateParams (line 27)
common_args.CData = validateCData(common_args.CData,image_type);
Error in imageDisplayParseInputs (line 78)
common_args = imageDisplayValidateParams(common_args);
Error in imshow (line 219)
[common_args,specific_args] = ...

Réponses (2)

Walter Roberson
Walter Roberson le 2 Jan 2016

0 votes

After the dicomread(), have it show size(I) and tell us what it says.

1 commentaire

Gee Cheng Mun
Gee Cheng Mun le 3 Jan 2016
I have an answer of 1x4 double [106, 106, 1, 5875], Min = 1 and Max = 5875.

Connectez-vous pour commenter.

Try extracting just the first 3 planes and showing it:
rgbImage = I(:,:,1:3);
imshow(rgbImage);

3 commentaires

Gee Cheng Mun
Gee Cheng Mun le 3 Jan 2016
This error was shown.
Error using imageDisplayValidateParams>validateCData (line 126) RGB images must be uint8, uint16, single, or double.
Error in imageDisplayValidateParams (line 27) common_args.CData = validateCData(common_args.CData,image_type);
Error in imageDisplayParseInputs (line 78) common_args = imageDisplayValidateParams(common_args);
Error in imshow (line 219) [common_args,specific_args] = ...
It's not a 3D RGB image - it's a volumetric image. Get the image without the 1 dimension with squeeze():
array3D = squeeze(I);
Then pick a slice and display it
sliceNumber = 13; % Whatever;
imshow(array3D(:,:, sliceNumber));
You do not need that step, you can just
imshow(I(:,:,1,sliceNumber))

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by