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