Borrar filtros
Borrar filtros

Error in displaying DICOM images in Matlab

2 visualizaciones (últimos 30 días)
Gee Cheng Mun
Gee Cheng Mun el 2 de En. de 2016
Comentada: Walter Roberson el 3 de En. de 2016
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] = ...

Respuestas (2)

Walter Roberson
Walter Roberson el 2 de En. de 2016
After the dicomread(), have it show size(I) and tell us what it says.
  1 comentario
Gee Cheng Mun
Gee Cheng Mun el 3 de En. de 2016
I have an answer of 1x4 double [106, 106, 1, 5875], Min = 1 and Max = 5875.

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 2 de En. de 2016
Try extracting just the first 3 planes and showing it:
rgbImage = I(:,:,1:3);
imshow(rgbImage);
  3 comentarios
Image Analyst
Image Analyst el 3 de En. de 2016
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));
Walter Roberson
Walter Roberson el 3 de En. de 2016
You do not need that step, you can just
imshow(I(:,:,1,sliceNumber))

Iniciar sesión para comentar.

Categorías

Más información sobre DICOM Format en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by