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 데이터의 최소, 최대값을 설정한다.
이후 Dicom 의 픽셀값을 아래 수식과 같이 수정해준다.
변경 이전
변경 이후