醫院的 CT 圖像是如何生成的,原始圖像要使用什麼軟體查看?

我奶奶得了重病,胰腺癌。醫院做了CT,但是規定禁止拷貝。拜託熟人才拷貝到了資料,解壓出來有157個516k的小文件,沒有拓展名,名稱都是1AD8AA0ADE4148949310494827A6D9B1這種式樣的。請問有什麼軟體可以把這些文件轉換成影像資料查看么?謝謝大家了。文件列表截圖如下:


這些就是原始圖像了。

首先解釋為什麼醫院不允許拷貝。通常影像設備與醫院的PACS(影像歸檔與通信系統)都是連在區域網內的。設備產生的影像,通過標準DICOM介面發送到PACS的伺服器上,每個影像科診斷大夫會從各自的電腦上調閱影像。之所以不讓你拷貝,主要是因為怕帶入病毒,也為了保護病人隱私。很多終端電腦直接封掉USB介面。一旦這個內部網路崩潰,拍的所有圖像都將無法調閱,也就是診斷將會全部終止。只能大夫自己趴機器上看或者打成膠片了。這時候再來兩個急診,場面將會更混亂不堪。

其次是前面所提到的片子。現在已經很少有醫院的影像科會看這種膠片了,大部分都是從PACS上看,那上面會提供一些調節操作,看起來比較方便,也更準確。很多醫院還會提供膠片主要是為了方便患者去其他醫院檢查,因為原始影像數據一般都不會提供給你。更重要的原因是防止患者鬧事,「我花了幾百塊錢拍了CT你連片子都不給我?」。當然膠片成本還是患者自己出。

最後說你的那些數據。現今絕大多數的數字化影像設備都遵循DICOM標準。不然醫院上的那套PACS系統這個設備接不了,那個設備接不了,你說還有什麼用。單就你提供的信息來看,那些文件都是未經壓縮的CT數據。每個文件是一幅影像。通常CT影像都是512x512解析度,每像素16位。再加上一些頭信息,一般一個文件514K左右。文件名倒是怎麼起的都有,這個無所謂。

DICOM文件以不同的數據元素組成,有些廠家確實有自己的私有數據元素,不在DICOM標準記錄之中。但影像數據和基本的患者信息,基本的採集條件等都是標準規定的。有可能其他廠商讀不出來你的私有信息,但是看個圖像是絕對不成問題的。

另外,這些DICOM影像不能直接轉換成JPEG或者BMP一類的圖像,會丟失信息。常用的圖像每個通道取值範圍都是0-255 。CT的話都是灰度圖,每個像素的範圍最少也是一兩千。所以你想看這種圖像只能用專業的軟體來看。他們會通過調節窗寬窗位來把數據映射到255以內。下面舉例的這些軟體都可以:

Photoshop:經測試CS6版本可以打開。

下面這些軟體都是免費的
ImageJ:這程序是用Java寫的,大部分DICOM數據也都可以打開。
ImageJ
VolView:這個程序用VTK做顯示引擎。可以對你的圖像進行簡單的三維重建。VR,投影,MPR都有。強烈推薦。但數據兼容性不大好,不過一般的也都能用。
VolView
Radiant Dicom Viewer:軟體不大,有免費版,可做MPR。
DICOM Viewer
Onis Viewer:和前面那個一樣,沒什麼特點,能看圖。有免費版。
Onis Viewer; Free and Commercial DICOM viewer for teleradiology and PACS

如果沒有對應的醫學影像學知識的話,有可能都找不到胰臟在哪。最好還是拿去給大夫。或者在自己筆記本裝一套上述軟體,導入數據後帶給大夫看。


樓上的 @Cascade說的非常對,非常全面。

補充一下題主問的第一個問題:「醫院的 CT 圖像是如何生成的?」
這個問題可是一門專業啊,我感覺不能一兩句話說清楚,我用最通俗的語言給你說兩句吧。

上面這個圖是一個比較簡單的示意圖,這個是面陣探測器,很多醫院還在沿用線陣探測器,兩者的差距我想不用細說了吧?不影響我們談論CT的原理。

CT機的一頭是X射線源,通電之後打出X射線。X射線有穿透性,遵循Bear定律。簡單的說,假設打出來的射線能量是10,穿過你的身體時你的身體會吸收一部分能量(也就是常說的CT有輻射),穿過身體後就只剩下[0,10)範圍的能量了。穿過你身體的X射線打在後面的探測器上,探測器上的閃爍體可以將射線的物理能量以電信號的形式記錄下來,經過數學計算用一個數值量化出來。

說到這裡,基本上就是常說的一次「拍片」,就像是照了一張照片一樣,醫生可以給你的就是一張膠片。多說兩句,如果病症嚴重,有時候會需要「拍CT」。CT機就是下面這個樣子:

拍CT,就是人躺進去,X射線源和探測器在那個圓環里繞著你轉,同時拍片。通俗的講,你可以想像Sherlock 第三季里Watson婚禮里的那個土豪畫面:

這個畫面環拍用的一圈的單反拍成,拍CT是X射線源和探測器迅速的轉著圈給你拍。拍出來的是一系列不同角度的「片子」,經過狂拽酷炫吊炸天的數學演算法,就可以還原出你身體內部的3D細節。放在電腦中可以查看,也可以配合更牛掰的演算法,對三維的圖像做血管測量啥的,這就是另一個話題了。

針對 @Cascade的答案補充幾句:
1、雖然現在數字影像已經很廣泛了,但還是有很多老大夫更喜歡用燈箱看膠片。
2、(好像是?)有一些醫院現在是可以將數字化的圖像拷給病人的,但是是通過刻光碟的方式,不會讓你插u盤,理由 @Cascade說的也很對。而且,你帶給別的醫生看片,拿膠片要比拿光碟方便的多。
3、個人也推薦ImageJ 和 VolView,小巧簡單,題主問出這個問題了,肯定是不會用matlab的好吧。說到這兒了,就再推薦個專業的軟體,Voreen - Volume Rendering Engine,做可視化的應該了解這個吧,用QT+OpenGL寫的開源可視化軟體,值得學習。

最後,如果你不是專業人員,片子你真看不懂,想去找人問診拿著膠片就行了。電子版本除了留作紀念真沒啥用,當然如果以此為契機找到了人生興趣方向以此入行,那是極好的了。

PS. 和@Cascade應該是同行,求關注求交流。:)


RadiAnt DICOM Viewer


RadiAnt DICOM Viewer加個下載地址 RadiAnt DICOM Viewer
但是這種圖不是醫生看了也看不懂,而醫生一般都有自己的看圖的工具。國內出於網路安全的考慮,也不允許你把資料拷進醫院的網路。
可以看看我們的雲閱片 登錄 雲閱片-微雲影像旗下個人醫學影像助手,輕而美的互聯網(HTML5)醫學影像(DICOM)瀏覽器(Viewer) ,上傳到網上然後直接把查看鏈接發給醫生即可。


OSX和iOS下可以選擇osrix,有免費版,只不過看影像有水印


DicomGo H5 Dicom Viewer


會用matlab么?直接用matlab自帶的dicomread函數就可以讀出來了~


這些文件是單個層面的圖像,不是Raw data,只要能確定是哪個品牌的CT機,廠家一般都有提供的免費的閱讀軟體。如果你能拿到這個數據的話,完全可以讓他給你單獨刻一份病人數據的光碟,那個光碟都是自帶瀏覽軟體的


之前做過一點公開醫學影像數據集(去除病人的年齡性別等信息)的處理工作,使用python中的pydicom讀入dicom格式的影像, 用matplotlib顯示


可以試試萬能的matlab


醫學影像因為其特殊性,在共享與交換上遠遠不如普通照片來得方便。從整個醫學影像的發展歷史來看,從膠片,到光碟刻錄,再到基於網路特別是互聯網的影像交換,目前來看,是一個比較合理的趨勢。

針對問題的提出,Cascade的回答非常準確到位。在他回答的基礎上,有些糾正在於,技術的發展速度很快,目前已經有方案可以相對方便解決異地傳輸與瀏覽DICOM影像。 簡單說,如果能得到原始的DICOM影像,可以上傳至雲端,然後得到一個普通的鏈接,之後通過目前主流的一些瀏覽器(比如谷歌Chrome)即可訪問,並不需要安裝專用軟體。

這裡是工作地址:

http://www.healthphere.com


用matlab處理過石頭的ct掃描圖像,就是類似C語言一樣編一小段程序讀文件,你這些文件裡邊直接存的是圖像數據,就可以。


dicom文件,下載個dicom解析程序就好。


上腹部的CT數據打包發給liuzr@hexalotus.com發給我,我重建後發視頻文件給你查看。胰腺重建大概是這個樣子,

部分關鍵結果數據也會發給你。


下載一個amide軟體。選擇import dicon就可以看了。這是dicom格式,用matlab, microdicom,ostrix,imagej都可以看。之所以推薦amide是因為它操作最簡單,而且完全免費,圖像顯示效果也很好。有cubic插值和簡單的濾波工具可以使用。也有比較方便的查看ROI和profile的工具。


雖然現在大部分情況下醫生都是在工作站上進行閱片的,但是還是會給病人列印膠片的,這也是為什麼不會拷貝數據給你的原因。另外這些圖像其實就是DICOM協議下的圖像,裡面不僅有圖像的pixel data還會有其他的數據,比如姓名,性別,設備廠商等等內容,所以必須要通過專業的Viewer進行查看。


不是無限多元,而是把採集到的灰度連續模擬圖像抽樣數字化了,這樣就根據你的數字量化產生一個有限未知數的圖像方程矩陣(即有限的固定元),如4K*4K,即1600萬像素,這個原理和相機的原理類似,數字量化越大,圖像越清晰,越能反映出原始的模擬圖像;至於計算原理,最原始的是利用線性方程矩陣來計算,現在很多使用傅里葉變換等數學方法。


直接搜索醫學可視化軟體吧,讀取dicom圖像是這些軟體的最最基本的功能。 ImageJ還是挺好的,小巧快捷,對於你們只看看來說足夠了。專業點的是MIT開發的slice,功能很強大。 還有paraview。


推薦閱讀:

能不能設計出一個終極傻瓜編程軟體,讓普通人可以完美編程?
怎麼使用思維導圖?
如果硬碟能達到內存的速度,那操作系統的設計是否會有變化?
編程到底難在哪裡?

TAG:軟體 | CT(計算機斷層成像) |