Dicomread Stripe in Matlab

4 次查看(过去 30 天)
Guanfeng Gao
Guanfeng Gao 2015-7-29
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 个评论
Guanfeng Gao
Guanfeng Gao 2015-7-29
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!!!!!!

请先登录,再进行评论。

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 DICOM Format 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by