Dicomread Stripe in Matlab

9 views (last 30 days)
Guanfeng Gao
Guanfeng Gao on 29 Jul 2015
Answered: Caroline Jordan on 2 Jan 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 Comment
Guanfeng Gao
Guanfeng Gao on 29 Jul 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!!!!!!

Sign in to comment.

Answers (1)

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

Categories

Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!