2014-02-24 3 views
0

3D DICOM 파일 작업 중입니다. 읽은 후 (예를 들어, MATLAB을 사용하여) 실제 스캔 이미지와 별도로 텍스트 정보가 포함되어 있음을 알 수 있습니다. DICOM 파일의 헤더 텍스트가 아니라 implay()를 수행 할 때 이미지에 표시되는 텍스트를 의미합니다. 텍스트가없는 원시 데이터 만로드 할 수있는 방법이 있습니까? 텍스트가 내 처리를 방해하고 있습니다.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)를 사용하여 픽셀 데이터의 데이터를 지워야합니다. 마지막 하나

이 자바 코드의 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 이미지가 수정되므로주의하십시오. 이러한 종류의 수정은 일부 시나리오에서는 허용되지 않습니다.

관련 문제