天天看點

使用VTK和Matlab讀取DICOM圖像資料失真問題

        最近在處理DICOM資料時,發現使用VTK的vtkDICOMImageReader類以及使用Matlab的dicomread函數讀取到的Dicom圖像存在像素值失真的問題,即使用上述兩種方式讀取到的圖像像素值與使用RadiAnt DICOM Viewer、MicroDicom等軟體中顯示的亮度值不同。

        經過對比發現,上述兩種方式都将圖像的像素值範圍進行了壓縮,而且并不是等比例的縮放,是以很難從壓縮後的資料中準确的還原出原始資料。如果隻是顯示DICOM圖像而不對資料進行處理,這個問題的影響不大。但如果需要對圖像資料進行處理,建議不要使用這兩種方式。

        推薦的方式是先使用ITK的itkImageSeriesReader讀取DICOM資料(具體過程見 使用ITK讀寫DICOM序列),然後使用ITK庫對資料進行處理,最後将處理結果通過itkImageToVTKImageFilter将資料傳遞給VTK庫進行顯示或三維重建。