2010-11-04 339 views
9

我期待使用JavaScript來提取並顯示來自DICOM文件的圖像數據。我想知道是否有人知道任何框架或工具來幫助我去做這件事。提前致謝。使用JavaScript來提取/顯示dicom圖像數據

+0

沒有ü找到一個解決方案 – AMH 2011-06-09 17:40:30

+0

我也有興趣在這個問題(投票了)。 – jap1968 2011-12-14 07:21:33

+0

請檢查[this](http://www.studyjs.com/html5/dicom.html),可以呈現16位dicom圖像 – subhfyu546754 2016-03-23 15:10:55

回答

4

dicom文件基本上是一個可以解析的二進制文件,據我所知,沒有可用的框架可以做到這一點。然而,你可以使用一些HTML5的特性& JQuery的

http://timc.idv.tw/html5-file-upload/

然後你可以使用readAsBinaryString函數來檢索DICOM數據,並作出解析器解析它。但是,最後一部分可能會遇到一些麻煩,因爲您必須實施整個dicom規範。

然後,您可以獲得PixelData(7FE0,0010)並將其顯示在<canvas>上。這裏唯一的問題可能是dicom文件的大小相當大。所以我不確定它會有多快。 正如Nico在註釋中所述,您可能還需要在PixelData上進行轉換,因爲瀏覽器並不總是理解其中的字節碼(這當然是您使用例如CT數據集的情況)

+4

只要像素數據的格式爲瀏覽器將不可用的格式,這可能會起作用。如果像素數據例如在JPEG2000中,則需要一個特殊的插件來處理內容。 – Nico 2010-11-04 13:49:06

+0

是的,那是真的。我忘了補充一點。 – 2010-11-04 13:52:49

2

我認爲'HTML5'是最好的解決方案。 Canvas,FileAPI(readAsArrayBuffer),TypedArray可以精確顯示DICOM圖像。

在Javascript中嘗試以下內容。 1.創建'FileReader'對象。 2.調用可讀取二進制數組的readAsArrayBuffer方法。 3.創建'Uint8Array'對象並解析DICOM頭。 4.使用畫布方法'createImageData'創建圖像數據對象以顯示二值圖像。 5.將像素數據屬性(7FE0,0010)設置爲圖像數據對象。 6.調用'putImageData',您可以在畫布中顯示DICOM圖像。

對不起我可憐的英語... 祝你好運!

+0

請檢查[this](http://www.studyjs.com/html5/dicom.html),可以呈現16位dicom圖像 – subhfyu546754 2016-03-23 15:11:58

1

我也一直在調查這個問題。

解決方案(恕我直言)將有一個庫,可以從文件中提取單個數據項。 DICOM標準對於如何定義每種類型的變量都非常具體,並且該信息在DICOM文件中的每個數據項中給出。

所以,我建議(和我目前的工作)的方法包括:

1)readAsArrayBuffer

2)閱讀頭字節(DICM)...

3)閱讀在不同的標籤(保持所需的那些)

4)讀取的像素數據(7FE0,0010)到一個數組

5)創建色彩映射(這樣就可以很好地顯示圖像) - 想象CT窗口/級別

6)使用數組中不同像素值的顏色映射值生成圖像。

7)在畫布上繪製數組。

A.

+0

請檢查[this](http://www.studyjs.com/html5/) dicom.html)可以渲染16位dicom圖像 – subhfyu546754 2016-03-23 15:12:14