DICOM文件可以大致分爲兩部分: 一部分:與圖像相關的元信息,包括患者信息,檢查信息,序列信息,圖像信息等等。 另一部分:圖像的像素數據。 在解析DICOM文件中的像素數據的時候,我們先需要讀取以下圖像相關信息: 以下是某個CT影像中的圖像信息示例: (0028,0002) Samples per Pixel VR: US Length: 2 Value: 1 (0028,0004) Photometric Interpretation VR: CS Length: 12 Value: MONOCHROME2 (0028,0010) Rows VR: US Length: 2 Value: 512 (0028,0011) Columns VR: US Length: 2 Value: 512 (0028,0030) Pixel Spacing VR: DS Length: 22 Value: 0.48828125\0.48828125 (0028,0100) Bits Allocated VR: US Length: 2 Value: 16 (0028,0101) Bits Stored VR: US Length: 2 Value: 12 (0028,0102) High Bit VR: US Length: 2 Value: 11 (0028,0103) Pixel Representation VR: US Length: 2 Value: 0 (0028,1050) Window Center VR: DS Length: 12 Value: 00100\00100 (0028,1051) Window Width VR: DS Length: 12 Value: 00500\00500 (0028,1052) Rescale Intercept VR: DS Length: 6 Value: -1000 (0028,1053) Rescale Slope VR: DS Length: 2 Value: 1 (0028,2110) Lossy Image Compression VR: CS Length: 2 Value: 01 (0028,2112) Lossy Image Compression Ratio VR: DS Length: 8 Value: 6.228918 1.(0028,0002) Samples per Pixel 每一個像素的取樣數,一般來說,CT,MR,DR等灰度圖像都是1,而彩超等彩**圖像都是3,分別表示R, G, B三個顏色通道。 2.(0028,0004) Photometric Interpretation 我們經常碰到的Photometric Interpretation有以下幾種類型: Monochrome2 一般的灰度圖像都採用這種,Pixel值越大,圖像就越白。 Monochrome1 只有部分CR, DR圖像使用,Pixel值越大,圖像就越黑。 Palette Colour 一般用於彩超圖像,每個像素佔用8位或者16位,調色板保存在[0028,1201]RedPaletteColorLookupTableData, [0028,1202]GreenPaletteColorLookupTableData, [0028,1203]BluePaletteColorLookupTableData的屬性中。 RGB 這是最常用的彩**圖像格式。 YBR_FULL 另外一種彩**圖像格式, 存儲格式爲Y(Luminance 亮度), B(Blueness 藍色), R(Redness, 紅色) YBR_FULL_422 一般用於JPG有損壓縮格式的彩**圖像,每兩個像素共同使用32位,每一個像素都有自己的Y(Luminance 亮度),但是共享相同的B(Blueness 藍色), R(Redness, 紅色)。所以,它的像素值存儲方式是:YYBR,YYBT,YYBR YBR_RCT 用於JPEG 2000無損壓縮彩**圖*像,Reversible Color Transformation, 可逆色彩變換。 Y = (R+2G+B)/4, CB = B-G , CR = R - G G = Y - (CR+CB)/4 , R = CR + G, B = CB + G YBR_ICT 用於JPEG 2000有損壓縮彩**圖像 Irreversible Color Transformation, 不可逆色彩變換。 Y = + .29900R + .58700G + .11400B CB = - .16875R - .33126G + .50000B CR = + .50000R - .41869G - .08131B 3. (0028,0010)Rows 圖像的高度 4. (0028,0011)Columns 圖像的寬度 5. (0028,0030)Pixel Spacing 圖像像素間距,讀取Pixel Data的時候不需要,主要用於長度測量。 6. (0028,0100)Bits Allocated 一個像素取樣點存儲時分配到的位數,一般RGB的圖像,每一個顏色通道都使用8位,所以一般取值爲8。對於灰度圖像,如果是256級灰階,一般就是8位。如果高於256級灰階,一般就採用16位。 7. (0028,0101)Bits Stored 一個像素取樣點存儲時使用到的位數。比方說示例中CT影像,採用的是4K灰階,像素值取值範圍爲0~4095,所以使用到的位數爲12位。 8. (0028,0102)High Bit 最高位序號,它定義了存儲點在分配的內存中的排列方式,它的值是最後一個bit的序號。如果第一個bit放在0位,那麼最後一個bit爲Bits Stored -1。 9. (0028,0103)Pixel Representation 如果這個值爲0, 這表明是無符號類型,其VR類型應該爲US,Unsigned Short. 如果這個值爲1, 這表明爲有符號類型,其VR類型應該爲SS,Signed Short. 10. (0028,1050)Window Center 和 (0028,1051) Window Width 窗寬窗位,不解釋 11. (0028,1052)Rescale Intercept 和 (0028,1053)Rescale Slope 用於根據像素值計算原始值,比方說,CT可以用於計算HU值。 比方說:HU = Rescale Slope * X + Rescale Intercept. 12. (0028,2110)Lossy Image Compression 當該值爲1時,表明該圖像曾經經過有損壓縮處理。即使後來解壓縮後,再用非壓縮格式存儲和傳輸,該值也需要保持爲1. 13. (0028,2112)Lossy Image Compression Ratio 有損壓縮壓縮率。 對於多幀圖像,我們還需要讀取Number of Frames (0028,0008)來獲取幀數,然後,逐幀讀取Pixel Data。 對於彩*圖像,我們還需要讀取Planar configuration (0028,0006),它定義了各個彩色通道值在Pixel Data中排列的排列方式。 當此值爲0的時候,它這樣排列的RGBRGBRGBRGBRGB。 當此值爲1的時候,它是這樣排列的:RRRRR......GGGGG.......BBBBB。 對於多幀圖像,它是這樣排列的:第一幀的RRR..,第一幀的GGG...,第一幀的BBB...,第二幀的RRR..,第二幀的GGG...,第二幀的BBB... |
如何解析DICOM文件中的Pixel Data ?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.