Dicomread Stripe in Matlab

3 visualizaciones (últimos 30 días)
Guanfeng Gao
Guanfeng Gao el 29 de Jul. de 2015
Respondida: Caroline Jordan el 2 de En. de 2018
I use the dicomread to read a series of files and create a 3D matrix in Matlab. Then, I display the image in the coronal and sagittal directions. However it shows that there are some unknow stripes in the image:
I am sure that the data is correct because I can use other dicom viewers downloaded from the internet and there is no Stripes in the dicom viewers made from others. And here is the code which I use to read the files: PET.dir=get(handles.PET_Input,'string'); files=dir(fullfile(PET.dir,'*.dcm')); PET.fileNames={files.name}; PET.info=dicominfo(fullfile(PET.dir,PET.fileNames{1})); PET.voxel_size=[PET.info.PixelSpacing; PET.info.SliceThickness]';
numImages=length(PET.fileNames);
hWaitBar=waitbar(0,'Reading PET DICOM files');
PET.Matrix=zeros(PET.info.Rows, PET.info.Columns, numImages);
for ii=1:length(PET.fileNames)
fname=fullfile(PET.dir,PET.fileNames{ii});
PET.Matrix(:,:,ii)=(dicomread(fname));
waitbar((length(PET.fileNames)-ii+1)/length(PET.fileNames))
end
delete(hWaitBar);
  1 comentario
Guanfeng Gao
Guanfeng Gao el 29 de Jul. de 2015
It is more clearly from this figure!!! Is it possible that in the dicom file there is an parameter to normalize each slice? Besides, when I load some other files in other folders, I find that some have that stripes while others do not!!!!!!

Iniciar sesión para comentar.

Respuestas (1)

Caroline Jordan
Caroline Jordan el 2 de En. de 2018
It is possible that you may need to scale each slice by its dicom value RescaleSlope.

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