-DICOM파일(특히 CT)에서로부터 얻어온 단순 grayscale 이미지를 시각적으로 인지할 수 있도록 부위별로 의미를 부여(설정)하고 이에 맞게 RGBA 로 변환하는 기술을 말한다.
- 처리 과정에 대한 개요는 아래와 같다.
CT 이미지 (RAW 데이터, HU 데이터 포함 원본 데이터)
DICOM 표준에 근거하여 Windowing 처리
8bit - GRAYSCALE 이미지 추출
3D Viewer 에서 영상처리 컬러 변환
*각각 color 의 표현 범위는 HU(Hounsfield Unit)을 기반으로 한다.
(참고1)
HU(Hounsfield Unit)
-1000 air & fat
-100 fat
0 water
1-10 CSF
12-18 brain edema
22-32 white matter
35-45 gray matter
55-75 hemorrhage
80-200 calcification & bone
*windowing 을 통해 grayscale 처리되어 나온 값은 0~255 범위 의 값이다.
여러가지 색으로 분배하기 위해서 배분을 위한 비율을 파악을 아래와 같이 했다.
그리고 총 5가지 색상으로 5단계씩 구분을 지었다.
초록 영역 단계별 수치 간격
0.609375 <= 표현영역 <= 1.000 (5단계) - (39.0625%)
(156) (255)
초록영역의 5단계는 총 0.390625를 포함하는 구간이다.
0.390625 (1.0-0.609375) / 5 = 0.078125
(각 단계가 가지는 픽셀의 범위)
0.078125 / 0.00390625 = 20 (총 100개)
(각 단계가 표현 가능한 가지 수)노랑 영역
0.35546875 <= 표현영역 < 0.609375 (5단계) - (25.390625%)
(91) (156)
노란영역의 5단계는 총 0.25390625를 포함하는 구간이다.
0.25390625(0.609375-0.35546875) / 5 = 0.05078125
(각 단계가 가지는 픽셀의 범위)
0.05078125 / 0.00390625 = 13 (총 65개)
(각 단계가 표현 가능한 가지 수)파랑 영역
0.19921875 <= 표현영역 < 0.35546875 (5단계) - (15.625%)
(51) (91)
파랑영역의 5단계는 총 0.15625를 포함하는 구간이다.
0.15625 (0.35546875-0.19921875) / 5 = 0.03125
(각 단계가 가지는 픽셀의 범위)
0.03125 / 0.00390625 = 8 (총 40개)
(각 단계가 표현 가능한 가지 수)빨강 영역
0.0625 <= 표현영역 < 0.19921875 (5단계) 7 - (13.671875%)
(16) (51)
빨강영역의 5단계는 총 0.13671875를 포함하는 구간이다.
0.13671875(0.19921875-0.0625) / 5 = 0.02734375
(각 단계가 가지는 픽셀의 범위)
0.02734375 / 0.00390625 = 7 (총 35개)
(각 단계가 표현 가능한 가지 수)검은 영역
0.00390625 <= 표현영역 < 0.0625 (5단계) (5.89375%)
(0) (16)
검정영역의 5단계는 총 0.0589375를 포함하는 구간이다.
0.05859375 (0.0625-0.00390625) / 5 = 0.01171875
(각 단계가 가지는 픽셀의 범위)
0.01171875 / 0.00390625 = 3
(각 단계가 표현 가능한 가지 수)Zero Value(0.390625%)
0<=표현영역<0.00390625
각각의 영역을 5단계로 균등하게 분리하고 나면 그 각 단계에서는 여러가지의 표현이 가능한 가지의 수가 있다.
각 단계가 표현 가능한 가지 수를 이용하여 좀더 자세히 구분을 해줄수가 있다.
- 초록 영역 단계는 아래와 같이 5단계가 있고
0.921875 <= 지정 색 <= 1.00 --초록 1단계 (236 ~ 255)
0.84375 <= 지정 색 < 0.921875 --초록 2단계 (216 ~ 236)
0.765625 <= 지정 색 < 0.84375 --초록 3단계 (196 ~ 216)
0.6875 <= 지정 색 < 0.765625 --초록 4단계 (176 ~ 196)
0.609375 <= 지정 색 < 0.6875 --초록 5단계 (156 ~176)
각 초록영역은 20가지 색상 표현이 가능해서 각단계를 다시 초록 노랑 파랑 빨강 5개씩 20개의 색으로 균등하게 표현하였다. 즉 초록 1단계를 다시 초록 5개, 노랑 5개, 파랑 5개, 빨강 5개로 구분 지었다는 의미이다.
초록 1단계(20가지)
0.98046875 <= green <= 1.00 (5개의 색 존재)
(251 ~ 255)
0.9609375 <= yellow < 0.98046875 (5개의 색 존재)
(246 ~ 250)
0.94140625 <= blue < 0.9609375 (5개의 색 존재)
(241 ~ 245)
0.921875 <= red < 0.94140625 (5개의 색 존재)
(236 ~ 240)
마찬가지로 초록 2단계도 위와 같이 아래처럼 20가지로 구분할수 있고
0.90234375 <= green < 0.921875
(231 ~ 235)
0.8828125 <= yellow < 0.90234375
(226 ~ 230)
0.86328125 <= blue < 0.8828125
(221 ~ 225)
0.84375 <= red < 0.86328125
(216 ~ 220)
나머지 초록 3~5단계도 같은 방법으로 구분한다.
초록 3단계(20가지)
0.82421875 <= green < 0.84375
0.8046875 <= yellow < 0.82421875
0.78515625 <= blue < 0.8046875
0.765625 <= red < 0.78515625
초록 4단계(20가지)
0.74609375 <= green < 0.765625
0.7265625 <= yellow < 0.74609375
0.70703125 <= blue < 0.7265625
0.6875 <= red < 0.70703125
초록 5단계(20가지)
0.66796875 <= green < 0.6875
0.6484375 <= yellow < 0.66796875
0.62890625 <= blue < 0.6484375
0.609375 <= red < 0.62890625
초록 영역을 좀더 자세히 구분한것 처럼
노랑 영역도 같은 방법으로 노랑 단계별로 구분한다.
그러나 노랑 영역은 표현 가능한 색상의 수가 13가지라서 균등 분배가 되지 않아서 4+3+3+3 = 13으로 구분하였다.
노랑 1단계(13가지)
0.59375 <= green < 0.609375 (4개의 색 존재)
(152 ~ 155)
0.58203125 <= yellow < 0.59375 (3개의 색 존재)
(149 ~ 151)
0.5703125 <= blue < 0.58203125 (3개의 색 존재)
(146 ~ 148)
0.55859375 <= red < 0.5703125 (3개의 색 존재)
노랑 2단계(13가지)
0.54296875 <= green < 0.55859375
0.53125 <= yellow < 0.54296875
0.51953125 <= blue < 0.53125
0.5078125 <= red < 0.51953125
노랑 3단계(13가지)
0.4921875 <= green < 0.5078125
0.48046875 <= yellow < 0.4921875
0.46875 <= blue < 0.48046875
0.45703125 <= red < 0.46875
노랑 4단계(13가지)
0.44140625 <= green < 0.45703125
0.4296875 <= yellow < 0.44140625
0.41796875 <= blue < 0.4296875
0.40625 <= red < 0.41796875
노랑 5단계(13가지)
0.390625 <= green < 0.40625
0.37890625 <= yellow < 0.390625
0.3671875 <= blue < 0.37890625
0.35546875 <= red < 0.3671875
파랑 영역은 표현 가능한 색상의 수가 8가지라서 균등하게 2+2+2+2 = 8로 구분하였다.
파랑 1단계(8가지)
0.34765625 <= green < 0.35546875 (2개의 색 존재)
(89 ~ 90)
0.33984375 <= yellow < 0.34765625 (2개의 색 존재)
(87 ~ 88)
0.33203125 <= blue < 0.33984375 (2개의 색 존재)
(85 ~ 86)
0.32421875 <= red < 0.33203125 (2개의 색 존재)
(83 ~ 84)
파랑 2단계(8가지)
0.31640625 <= green < 0.32421875
0.30859375 <= yellow < 0.31640625
0.30078125 <= blue < 0.30859375
0.29296875 <= red < 0.30078125
파랑 3단계(8가지)
0.28515625 <= green < 0.29296875
0.27734375 <= yellow < 0.28515625
0.26953125 <= blue < 0.27734375
0.26171875 <= red < 0.26953125
파랑 4단계(8가지)
0.25390625 <= green < 0.26171875
0.24609375 <= yellow < 0.25390625
0.23828125 <= blue < 0.24609375
0.23046875 <= red < 0.23828125
파랑 5단계(8가지)
0.22265625 <= green < 0.23046875
0.21484375 <= yellow < 0.22265625
0.20703125 <= blue < 0.21484375
0.19921875 <= red < 0.20703125
빨강 영역은 표현 가능한 색상의 수가 7가지라서 균등하게 2+2+2+1 = 7로 구분하였다.
빨강 1단계(7가지)
0.19140625 <= green < 0.19921875 (2개의 색 존재)
0.18359375 <= yellow < 0.19140625 (2개의 색 존재)
0.17578125 <= blue < 0.18359375 (2개의 색 존재)
0.171875 <= red < 0.17578125 (1개의 색 존재)
빨강 2단계(7가지)
0.1640625 <= green < 0.171875
0.15625 <= yellow < 0.1640625
0.1484375 <= blue < 0.15625
0.14453125 <= red < 0.1484375
빨강 3단계(7가지)
0.13671875 <= green < 0.14453125
0.12890625 <= yellow < 0.13671875
0.12109375 <= blue < 0.12890625
0.1171875 <= red < 0.12109375
빨강 4단계(7가지)
0.109375 <= green < 0.1171875
0.1015625 <= yellow < 0.109375
0.09375 <= blue < 0.1015625
0.08984375 <= red < 0.09375
빨강 5단계(7가지)
0.08203125 <= green < 0.08984375
0.07421875 <= yellow < 0.08203125
0.06640625 <= blue < 0.07421875
0.0625 <= red < 0.06640625
CT나 MRI 초음파와 같은 이미지는 회색같은 단색으로 그 정보를 표현을 한다. 이런 이미지가 단색(회색) 256가지로 구분되어서 촬영이 되더라고 사람의 눈은 그 단색을 최대 16단계 이상으로 구분해서 보기 힘들다고 한다.
그래서 이렇게 HU를 근거로 해서 여러가지 색으로 표현해서 보다 자세히 구분해 볼수가 있었다.
의료 영상분석에 많은 도움을 줄수 있으면 좋겠다.
와... 재미있게 잘 봤습니다. 다음에 참고가 될까 해서 와드 박고 갑니다 ^^;
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit