Dicomread Stripe in Matlab

4 vues (au cours des 30 derniers jours)
Guanfeng Gao
Guanfeng Gao le 29 Juil 2015
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 commentaire
Guanfeng Gao
Guanfeng Gao le 29 Juil 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!!!!!!

Connectez-vous pour commenter.

Réponses (1)

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

Catégories

En savoir plus sur DICOM Format dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by