2014-02-24 104 views
0

我正在處理3D DICOM文件。讀取後(例如使用MATLAB),我發現它包含一些除實際掃描圖像以外的文本信息。我的意思是當我做implay()時在圖像中可見的文本,而不是DICOM文件中的標題文本。有什麼方法可以只加載沒有文本的原始數據?文字阻礙了我的處理。從DICOM文件中提取原始DICOM數據

編輯:我不能,我工作的圖像共享,由於它是專有的,但我發現下面的圖片谷歌搜索後:
http://www.microsoft.com/casestudies/resources/Images/4000010832/image7.jpeg http://www.microsoft.com/casestudies/resources/Images/4000010832/image7.jpeg

注意如何在左邊的文字部分重疊的圖像?在我正在處理的圖像中有類似的效果。我只需要錐形掃描圖像進行處理。

+0

請附上一個示例圖,使您的問題更加清晰。 – Shai

+3

文字是覆蓋層,還是在圖像中被燒壞(典型的是在超聲圖像的情況下完成的)? – jap1968

+0

@Shai,因爲它是專有的,所以我不能真正附加這個數字,我沒有讓它分享。 –

回答

2

如上所述,您需要提供更多信息,因爲可以添加覆蓋圖的方式有很多種:如果它被燒入圖像中,您通常不會運氣;如果它位於覆蓋平面模塊(60xx標記組)中,則可以在傳遞到Matlab之前刪除它們;如果它存儲在未使用的高位(一種古老但普通的方法)中,則必須使用覆蓋位位置(60xx,0102)清除像素數據中的數據。

對於最後一個,像這樣的Java代碼Matlab的equivilent:

int position = object.getInt(Tag.OverlayBitPosition, 0); 
if(position == 0) return; 

// Remove the overlay data in high-bit specified. 
// 
int bit = 1 << position; 
int[] pixels = object.getInts(Tag.PixelData); 
int count = 0; 
for(int pix : pixels) 
{ 
    int overlay = pix & bit; 
    pixels[ count++ ] = pix - overlay; 
} 
object.putInts(Tag.PixelData, VR.OW, pixels); 
0

如果你指的是在圖像的頂部的藍色區域中的文本,這些內容被燒燬成圖像本身。

解決這個問題的唯一解決方案就是將掩膜應用到圖像的這個區域。

要小心,因爲這樣做是對原始DICOM圖像的修改。在某些情況下不允許進行這種修改。