本站小編為你精心準備了DICOM醫學圖像的設計與實行參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
數據類型是2字節的字符串,描述了數據元素中數據值的類型,它是由具體傳輸語法決定的可選項,如果傳輸語法中規定的是顯式VR(ExplicitVR),則VR必須存在;如果規定的是隱式VR(Im-plicitVR),則VR必須省略。它包括UI、DT、AS、DA等各種定義類型,如UI表示唯一標識符,DT表示日期時間,AS表示年齡字符串。數據長度由一個16或32bits無符號整數表示,它表明了元素的數據值部分的長度,也就是所占的字節數。數據的值,部分存儲的是具體的數據,其長度必須為偶數字節。
1傳輸語法與字節序
dicom文件的傳輸語法(transfersyntaxUID)規定了數據的編碼方式(涉及到數據元素中是否包含有VR,壓縮方式和字節的排序),由數據元素中的標簽為(0002,0010)的數據元素決定,它是一個唯一標識符(UID)。例如傳輸語法為:1.2.840.10008.1.2.2的代表它是隱式小端序傳輸,編碼規則為explicitVRlittleEndian的傳輸語法,在數據元素的結構中,不包含VR,并且對二進制數據交換字節順序,例如68AF4B2CH(十六進制)的數據編碼為:2C4BAF68H。DICOM有一個默認的傳輸語法:implicitVRlittleEndian。數據元素一般被分為3種格式,主要是因為數據的長度和數據的類型不同,具體數據元素的格式如表1至表3所示。其中前面的兩種格式都表示數據元素有明確的數據類型規定,第3種格式表示數據元素是隱含的數據類型。前兩種類型的數據元素和第3種類型的數據元素不能同時在數據集及其嵌套數據集中出現。BigEndian與LittleEndian的字節排序是表示計算機字節順序的兩種格式,所謂的字節順序指的是長度跨越多個字節的數據的存放形式。BigEndi-an定義將高序字節存儲在起始地址;LittleEndian定義將低序字節存儲在起始地址。對于由單字節成的數據類型兩者排序均為從左到右排序。圖3是一幅DICOM圖像的部分二進制代碼段,采用16進制編碼顯示。顯示的是(0002,0010)標簽的信息,這是一個明確數據類型,數據長度占2B,小端序編碼,類型為UI,數據長度為18B數據元素。
2像素數據元素格式
像素數據元素是由標簽(7FE0,0010)定義的,該元素中存儲的是圖像的像素信息,其中的像素數據可以是壓縮的,也可以是未壓縮的,對于未壓縮格式的像素數據一般采用位圖格式存儲其像素,按照從左到右,從上到下的順序存儲。對于壓縮格式的像素數據,DICOM標準支持RLE與JPEG兩種圖像壓縮格式。與像素數據元素相關的還有一些其他的常用數據元素,例如:圖像的幀數由標簽為(0028,0008)的數據元素表示,圖像的行數由標簽為(0028,0010)的數據元素表示,圖像的列數由標簽為(0028,0011)的數據元素表示等。
3DICOM文件查看器的設計與實現
3.1DICOM文件查看器的顯示流程設計
首先打開文件,將文件的標簽信息讀取到一個集合變量中,根據標簽(0002,0010)確定具體傳輸語法,然后根據傳輸語法讀取后面的數據元素,最后讀取像素數據,把像素數據轉換為BMP格式的圖,并顯示。具體的設計流程如圖4所示。
3.2文件顯示類的定義
系統中主要通過一個DICOM文件顯示類,來完成文件的讀取與顯示功能,類中主要包含3個數據成員List<byte>pix8、List<ushort>pix16、List<byte>pix24分別記錄3種不同像素的圖像元素數據,又通過方法privatevoidCreateImage8()、privatevoidCreateImage16()、privatevoidCreateImage24()分別完成由像素到Bitmap圖像的生成。類的主要成員如圖5所示。
3.3系統實現
從DICOM文件讀取并顯示的主要方法為pri-vateBitmapDisplayDicomFile(stringfileName,stringfileNameOnly),其過程為:首先打開DICOM文件,然后通過屬性DicomFileName獲得文件的除圖像元素外的其他標簽信息,再根據具體的圖像像素格式讀取圖像像素信息,最后生成Bitmap格式的圖像返回。具體的實現代碼如下。
作者:袁東鋒張斌單位:南陽理工學院