Dicom File to Png (feat. pydicom)

Parker cho·2021년 6월 25일
0

Dicom 파일이란?


Dicom 파일은 의료용 디지털 영상 및 통신 표준 파일이다

의료용 디지털 영상 및 통신 표준은 의료용 기기에서 디지털 영상표현과 통신에 사용되는 여러가지 표준을 총칭하는 말로, 미국방사선의학회와 미국전기공업회에서 구성한 연합 위원회에서 발표한다 -위키백과

다이콤 파일에는 여러가지 메타데이터가 포함되어 있는데 원하는 형식의 Png 파일로 변환하려면
Window Width, Window Level, RescaleIntercept, RescaleSlope값을 봐야한다

의료영상변환 프로젝트를 진행하면서 CT 영상을 학습데이터로 사용해야 할 일이 생겼는데 이 때 원하는 부분을 볼 수 있도록 CT png영상의 포멧을 변경해줄 필요성이 생겨서 pydicom 라이브러리를 활용해 png 영상을 변경해주었다.

sample_dicom_path = "YOUR PATH"

# 다이콤 데이터를 읽어오는 코드
ds = pydicom.dcmread(sample_dicom_path)

# 다이콤 데이터중 픽셀데이터를 읽어오는 부분 다이콤 픽셀데이터는 보통 12bit 로 표현된다.
dcm_arr = ds.pixel_arry

# 픽셀 데이터를 다이콤 메타데이터를 활용해 수정해준다.
dcm_arr = (dcm_arr * ds['RescaleSlope'].value) + ds['RescaleIntercept'].value

window_level = ds['WindowCenter'].value[0]
window_width = ds['WindowWidth'].value[0]

Window Level 과 Window Width 값을 바탕으로 png 데이터의 최소, 최대값을 설정한다.

min=WLWW/2max=WL+WW/2min = WL - WW/2 \\ max = WL + WW/2

이후 Dicom 의 픽셀값을 아래 수식과 같이 수정해준다.

x={0,  if  x<080,  if  x80x= \begin{cases} 0,\;if\;x<0\\ 80,\;if\;x\geq80 \end{cases}

변경 이전

변경 이후

profile
true nobility is being superior to your former self

0개의 댓글