關鍵字: dicom itk CT 不清晰 窗位 窗寬
碎碎念:
最近忽然要用到ITK讀取DICOM,在聽到任務之前,我連ITK和DICOM是個啥東西都不知道.當然,剛聽到任務的時候,我腦子里也只有"這特碼是啥?""這特碼又是啥?"...
在被進度惡心了幾天之后,對這些概念我大概有了些認識.然后在試圖將DICOM顯示成jpeg時候,按照guide里的例子改了改,結果發現JPEG的圖像呈現灰蒙蒙的感覺,完全不如另一款軟件讀出的清晰.
嘗試過程中,由於概念認識有限,搜索能力也大打折扣,個中滋味只有自己能體會了.
當然,折騰了幾天后,算是解決了這個問題.為了方便使用中文的其他人,在這里做一個簡單記錄.
==================
ITK的概念:略
DICOM的概念:略
問題:
(CT圖像的)DICOM文件使用ITK讀取后,進行重新壓縮,產生的圖像有不清晰 或 對比度奇怪 或 底色不是純黑色 等多種難以描述的奇特景象.
解決辦法:
讀入文件后,查找DICOM的窗位(window center)和窗寬(window width),並使用這兩個參數通過itkIntensityWindowingImageFilter濾鏡進行轉換,寫入新文件即可.
關鍵點:
1.查找窗位和窗寬時,可參照guide給出的例子("Printing DICOM Tags From One Slice"這一節),用到了itkMetaDataDictionary和itkMetaDataObject.
2.設定時,可參照ITK源代碼自帶例子(Filtering\ResampleVolumesToBeIsotropic.cxx),用到了itkIntensityWindowingImageFilter.
注意這里設定的最大值(SetWindowMaximum)和最小值(SetWindowMinimum),需要根據窗位和窗寬計算一下.
(max = window center + window width/2.0f; min = window center - window width/2.0f )
3.(僅限CT)如果還是覺得有問題,先不要想着用截距和斜率進行再計算.ITK讀入DICOM的時候是計算過這兩個參數的,理論上說來,不需要再計算一次.
以上就是折騰了幾天的內容.
另外別問我為啥不喜歡貼代碼,貼了代碼的好處是代碼的語言是全球通用,誰都能讀懂,人人都能直接copy,但是壞處就是很多人也不管代碼強度就直接copy,到后來出了問題自己也不知道是什么情況.於是我就只寫思路,實現什么的,最討厭了.
