DICOM Character set

DICOM 2022. 6. 10. 17:34

DICOM에서 사용하는 Character set을 보겠습니다.

Defined Term 은 실제 DICOM Tag( 0008, 0005 )에 사용되는 문자열 입니다.

공식적으로 사용되는 대부분의 문자열은 ISO에 등록되어 번호를 부여 받습니다.

ISO Number of Characters 는 ISO에서 해당 Character set에 부여한 Number 입니다.

ISO-IR 6 는 ASCII 문자셋과 일치하므로 대부분의 문자셋이 ISO-IR 6를 포함하고 있다고 보면 됩니다.

Character set( 0008, 0005 )이 지정되지 않은 DICOM data는 default값을 ISO-IR 6(ASCII)로 간주해서 처리합니다.

Character Set Description Defined Term ISO Number of Characters Character Set
Default repertoire none ISO-IR 6 [ISO 646]
Latin alphabet No. 1 ISO_IR 100 ISO-IR 100 [ISO IR 100]
[ISO/IEC 8859-1]
ISO-IR 6 [ISO 646]
Latin alphabet No. 2 ISO_IR 101 ISO-IR 101 [ISO IR 101]
[ISO/IEC 8859-2]
ISO-IR 6 [ISO 646]
Latin alphabet No. 3 ISO_IR 109 ISO-IR 109 [ISO IR 109]
[ISO/IEC 8859-3]
ISO-IR 6 [ISO 646]
Latin alphabet No. 4 ISO_IR 110 ISO-IR 110 [ISO IR 110]
[ISO/IEC 8859-4]
ISO-IR 6 [ISO 646]
Cyrillic ISO_IR 144 ISO-IR 144 [ISO IR 144]
[ISO/IEC 8859-5]
ISO-IR 6 [ISO 646]
Arabic ISO_IR 127 ISO-IR 127 [ISO IR 127]
[ISO/IEC 8859-6]
ISO-IR 6 [ISO 646]
Greek ISO_IR 126 ISO-IR 126 [ISO IR 126]
[ISO/IEC 8859-7]
ISO-IR 6 [ISO 646]
Hebrew ISO_IR 138 ISO-IR 138 [ISO IR 138]
[ISO/IEC 8859-8]
ISO-IR 6 [ISO 646]
Latin alphabet No. 5 ISO_IR 148 ISO-IR 148 [ISO IR 148]
[ISO/IEC 8859-9]
ISO-IR 6 [ISO 646]
Latin alphabet No. 9 ISO_IR 203 ISO-IR 203 [ISO IR 203]
[ISO/IEC 8859-15]
ISO-IR 6 [ISO 646]
Japanese ISO_IR 13 ISO-IR 13 [ISO IR 13]
[JIS X 0201]: Katakana
ISO-IR 14 [ISO IR 14]
[JIS X 0201]: Romaji
Thai ISO_IR 166 ISO-IR 166 [ISO IR 166]
[TIS 620-2533]
ISO-IR 6 [ISO 646]

이 Table의 문자셋들은 공통적으로 ISO-IR 6 (ASCII)를 포함합니다. 즉, 0 ~ 127 까지의 code 값은 동일하다는 의미이며 128 부터는 코드페이지에 따라 값이 서로 다를 수 있다는 의미입니다.

 

아무튼 위 표의 문자셋들을 모든 언어를 포함 하지 못하기 때문에 만약 Unicode를 써야하는 경우는 ISO_IR 192 (UTF-8))을 사용합니다.

 

반드시 기억해야 할것은 어떤 문자셋을 쓰던 키보드 위에 있는 문자만을 표시할 때에는 ISO-IR 6 (ASCII) 를 호함하고 있으면 동일합니다.

 

DICOM Software 개발을 하다보면 정확한 specification을 찾기 어려울 때가 많습니다.

특히 DICOM 은 Application Entity간의 통신과 관련이 있으므로 서로간에 주고 받는 데이터에 대한 명확한 방법을 찾기가  쉽지 않습니다.

 

예를 들어 AE간 통신의 첫번째 단계는 서로 DICOM 통신을 위한 규칙을 맞추기 위해 Negotiation을 하는 과정인데, Character set에 대한 내용은 Negotiation의 항목이 아닙니다.

 

예)

만약 시스템 A가 Character set( 0008, 0005 )을 ISO_IR 100으로 지정하고 DICOM data를 B 시스템으로 보낸다고 가정하고 상대편 시스템 B가 결과를 돌려주는 상황이라고 해봅시다.

이때에 보내주는 결과 데이터는 ISO_IR 100 이 될 수도 있고 ISO_IR 192(Unicode)가 될 수도 있습니다.

다시 말하면 시스템 B 제품의 종류나 설정에 따라 시스템 A가 지정한 Character set으로 다시 응답해 주는 제품이 있는 반면에 어떤 제품은 아예 다른 Character set으로 보내 주기도 합니다. 이런 경우들이 시스템간의 integration을 어렵게 하기도 하고 또 서로 해석하지 못하는 문자들로 인해, 실제로 data에는 문제가 없지만 마치 문제가 생긴것 처럼 보이게 합니다.

 

 

728x90
반응형

'DICOM' 카테고리의 다른 글

DICOM 관련 오류  (0) 2022.06.12
Transfer Syntax는 어떻게 사용되나요?  (0) 2022.06.11
문자셋(Character set), ASCII, ANSI, Unicode  (0) 2022.06.10
Lookup Table  (0) 2022.06.07
Physicians  (0) 2022.06.07
admin