Loading [MathJax]/jax/output/HTML-CSS/config.js

DICOM Private Data Element

DICOM 2022. 6. 14. 19:24

DICOM data가 아래와 같은 모양을 하고 있다는 것은 모두 아실 것입니다.

DICOM 표준에 정의하고 있는 Standard Data Element 들은 모두 Tag 값에 수 그룹 번호를 가지게 되어 있습니다.
예를 들어 "Specific Character Set" Tag (0008, 0005) 는 0008 이라는 그룹 번호와 8이라는 짝수로 되어 있지요.
모든 Standard Tag들은 짝수 그룹에 속합니다.

그런데 DICOM data 안에는 Private Data Element도 넣을 수가 있습니다.
홀 수 그룹을 남겨둔 이유 이기도 하지요.

그리고 Private Date Element를 만드는 데에는 규칙이 있습니다.
이 규칙을 지키지 않으면 DICOM을 parsing 하면서 오류를 일으킬 수 있으니 유의해야 합니다.

Private Data Element 생성 규칙

1. Tag group은 홀 수 여야 한다. 단, 0001, 0003, 0005, 0007 group은 사용할 수 없습니다.
2. 그룹 번호의 데이터 요소는 크게 2개의 영역으로 나뉩니다.
- 예를 들어 홀 수 그룹 0019 를 사용한다고 가정 하면
- 첫 번째 영역 (0019, 0010) ~ (0019, 00FF)
- 두 번째 영역 (0019, 1000) ~ (0019, FFFF) 이렇게 크게 두개의 영역으로 나뉩니다.
3. 첫 번째 영역 0010 ~ 00FF 에는 Private Creator를 정의하는 값이 들어갑니다.
- 0019 라는 그룹은 어떤 개발자가 임의로 정해서 자신만의 data를 위해 사용할 수가 있지만
다른 개발자 역시 0019 라는 그룹에 자신만의 data를 정의해서 넣을 수도 있을 것입니다.
서로 협의를 할 수가 없으니 중복이 가능할 수 밖에 없는 것입니다.
- 그래서 자기만의 식별자를 넣어서 이 data는 내가 만든 것임을 알 수 있도록 Private creator를
만들어 넣습니다. 보통 String 형태로 영역 표시를 하는 것이죠.
- 그런데 0019 그룹의 데이터 영역 0010 ~ 00FF 사이에는 매우 많은 Private Creator가 들어갈 수 있습니다.
예를 들어
(0019, 0010) 에 ABCD
(0019, 0011) 에 BCDE ....
(0019, 00FF)에 ZZZZ 이런 식으로 Private Creator 를 많이 넣을 수 있습니다.
그러면 이들 Private Creator 에 쌍을 이루는 Data 영역이 있어야 하겠지요.
그 영역이 바로 두 번째 영역인 (0019, 1000) ~ (0019, FFFF) 가 됩니다.
4. 두 번째 Data 영역도 규칙이 있습니다.
- (0019, 0010) Private Creator 와 쌍을 이루는 것은 (0019, 10000) ~ (0019, 10FF) 입니다.
-  (0019, 0011) Private Creator 와 쌍을 이루는 것은 (0019, 11000) ~ (0019, 11FF) 입니다.
....
-  (0019, 00FF) Private Creator 와 쌍을 이루는 것은 (0019, FF000) ~ (0019, FFFF) 입니다.
5. 그래서 예제로 Private Data를 하나 만들어 보면
- (0019, 0010) MYFAVORITE // private creator MYFAVORITE 에 3 개의 data를 넣어 보겠습니다.
- (0019, 1000) 좋아하는 가수
- (0019, 1001) 좋아하는 운동
- (0019, 10FF) 우리집 고양이 이름은 호두


알고 나면 그리 복잡하지 않은데 모르면 또 힘들어 지는게 DICOM 표준 입니다.

728x90
반응형

'DICOM' 카테고리의 다른 글

DICOM Multi-frame Image  (0) 2022.06.15
DICOM file의 저장  (0) 2022.06.15
DICOM 영상, 검사 과정과 Data  (0) 2022.06.14
Transfer Syntax와 모호한 DICOM  (0) 2022.06.13
JPeg Baseline과 Transfer Syntax  (0) 2022.06.12
admin