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!!!!!!
Dicomread Stripe in Matlab
3 次查看(过去 30 天)
显示 更早的评论
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 个)
Caroline Jordan
2018-1-2
It is possible that you may need to scale each slice by its dicom value RescaleSlope.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!