안녕하세요.

이번 글에서는 DICOM format이 무엇인지 알아보도록 하겠습니다.

또한, DICOM 파일로 부터 영상 이미지를 추출하는 방법에 대해서도 알아보도록 하겠습니다.

 

(DICOM은 저도 본지 얼마 안돼서 잘 못 된 부분이 있을 수 있으니 해당 부분을 꼭 댓글로 말씀해 주시면 감사하겠습니다!)

 

1. DICOM format (.dcm)

DICOM file(.dcm 파일)은 아래와 같이 크게 두 파트(File Meta Information + Object Instance)로 구성되어 있습니다.

 

이미지 출처: https://www.opswat.com/blog/opswat-deep-cdr-now-supports-dicom-file-format

 

먼저, File Meta Information 즉, Header라고 불리는 부분이 어떻게 구성되어 있는지 알아보도록 하겠습니다.

이미지 출처: https://www.sciencedirect.com/topics/computer-science/formatted-file

 

1) File Meta Information

  1. Preamble: 128 byte로 구성된 dummy byte입니다. 주로 zero 값으로 구성되어 있는데, 필요시 특별한 정보를 담을 수 도 있습니다.
  2. DICOM prefix: Preamble 다음에 곧 바로 "D", "I", "C", "M"라는 글자가 나와야 DICOM 파일임을 알 수 있습니다. 쉽게 말해 이 파일이 DICOM 파일이다라는 인증 마크와 같다고 보면 될 것 같습니다.
  3. File Meta elements: This section specifies the File Meta Elements needed to support the formatting of the File Meta Information of the DICOM File Format. 

(↓Preamble&Prefix)

이미지 출처: https://slidesplayer.org/slide/12934045/

 

(File Meta Elements↓)

ex) Transfer Syntax: 데이터를 보내는 데 사용되는 인코딩 → bit dendian, JPEG compression, ETC...

이미지 출처: http://dicom.nema.org/dicom/2013/output/chtml/part06/chapter_7.html

 

 

2) Information Object

 

이미지 출처: https://www.sciencedirect.com/topics/computer-science/formatted-file

 

Information object 부분은 Data Element로 구성되어 있는데, Data Element가 실질적인 dataset이라고 보시면 됩니다.

 

이미지 출처: https://www.leadtools.com/help/sdk/v21/dicom/api/overview-basic-dicom-file-structure.html

 

Information Object의 구성요소라 할 수 있는 Data Set은 IOD (Information Object Definition) 형식을 따릅니다. IOD는 Entity-relationship model을 중심으로 information entities, modules, attributes로 구성되어 있습니다.

 

예를 들어, MRI(=MR Image)라는 것을 하나의 객체(information object)라고 설정하고, 해당 객체를 여러 entitiy를 이용해 표현합니다. 환자정보를 나타나는 entity, 검사정보를 나타내는 entity, 이미지정보를 나타내는 entity 등이 있습니다.

 

그리고 각각의 entity는 해당 entity에 어울리는 데이터 종류(=Module)들로 구성됩니다. 예를 들어, 환자정보에는 나이, 체중, 이름과 같은 데이터 종류 등이 있을거에요. 그리고 실질적으로 부여되는 구체적인 값들을 attribute라고 합니다.

 

이미지 출처: https://libertegrace.tistory.com/m/entry/Medical-Image-DICOMDigital-Imaging-and-Communications-in-Medicine?category=905970

 

앞서 잠시 언급했듯이, Information entity 종류는 굉장히 많습니다. 아래 그림을 보면 진하게 칠해진 가장 바깥쪽 테두리 부분이 entity입니다.

이미지 출처: https://slidesplayer.org/slide/12934045/

 

각각의 entity에 대한 설명은 아래 링크를 참고해주시면 될 것 같습니다.

(↓↓↓아래링크 접속 후, ctrl+F키 누른후 "Patient IE"를 검색↓↓↓)

http://dicom.nema.org/dicom/2013/output/chtml/part03/chapter_A.html

 

A Composite Information Object Definitions (Normative)

 

dicom.nema.org

 

 

그리고 각각의 entity는 아래와 같은 계층구조(연결관계)를 이루고 있습니다.

이미지 출처: https://www.web3.lu/dicom-standard/

 

Data element는 attribute에 속합니다. 각각의 data element들은 group과 element로 구성된 tag를 통해 구분 합니다.

  • 태그별로 환자 정보, 영상 취득 날짜 등 부가적인 meta 정보 포함
  • ex1) (0008,~): Modality 및 study 정보
  • ex2) (0010,~): Patient information (환자정보)
  • ex3) (0028,~): Image information → dimension, scale, etc...

 이미지 출처: https://towardsdatascience.com/understanding-dicom-bce665e62b72?gi=c2adb34ff1a5

 

Data element(=attribute)의 인코딩과 길이, attribute에 속한 데이터 타입과 format은 VR(Value Representation)에 의해 결정됩니다. 

 

[예시] {0x0010, 0x0010} PN 9 David Kim

  • 0x0010, 0x0010: Patient Name에 접근하는 Tag Key 이며
  • VR: Person Name을 나타내는 데이터 형태 → PN
  • Length: 이름이 길이 → 9
  • Value Field: Patient Name에 해당되는 값인 환자의 이름을 나타냅니다. → David KIm 

이미지 출처: https://slidesplayer.org/slide/12934045/

 

아래 그림은 여러 VR 종류이니 한 번 확인해보셔도 좋을 것 같습니다.

이미지 출처: https://slidesplayer.org/slide/12934045/

 

 

 

Image is also a data element. An archive server receives DICOM images as information objects from the acquisition computers.

 

DICOM에서 실제 Image데이터는 "Image entity → Image Pixel module → PixelData attribute" 로 접근하면 됩니다. 

  • Compressed image data type: bitmap
  • Non-Compressed image data type: jpeg, gif, etc...

 

※DICOM format (.dcm) 외에 Nifti format (.nii)도 의료 영상 데이터 포맷으로 사용되고 있으니 알아두시면 좋을 것 같습니다.

 

 

 

 

 

2. DICOM Viewer

DICOM 파일 열어볼 수 있는 응용 프로그램 (Viewer) 중에서 프리웨어로 사용할 수 있는 대표적인 viewer program은 Sante DICOM viewer입니다.

 

(↓↓↓Sante DICOM Viewer 다운로드↓↓↓)

https://www.santesoft.com/win/sante-dicom-viewer-pro/download.html

 

Sante DICOM Viewer Pro | Download

Important! The program is actually the original version of our software, and it works in demo mode only if you don't have a license key. If you have a license key: - Download and install the program. To unlock the program, select "HelpRegistration" from pr

www.santesoft.com

 

View를 사용하는 방식은 아래 영상을 참고하시면 될 것 같습니다. (12분부터)

https://www.youtube.com/watch?v=ULiAURY5kAE 

 

 

이외 다른 DICOM viewer들도 있는데, 아래 사이트에 접속하시면 다양한 DICOM viewer 종류들을 살펴보실 수 있으실 겁니다.

http://www.dclunie.com/medical-image-faq/html/part8.html#DICOMFileConvertorsAndViewers

 

Medical Image Format FAQ - Part 8

DICOM PHP Software (tools and applications): DICOM software - Nanodicom Original PHP File_dicom now no longer maintained and superceded by Nanodicom Displaying DICOM Images in PowerPoint Presentations: DICOM Public Servers: DICOM Publications - General: Pi

www.dclunie.com

 

 

 

 

 

3. Image extraction from DICOM format 

(DICOM에서 이미지 추출하는 방법)

https://smoh.tistory.com/413

 

[C# | FO-DICOM] Dicom에서 이미지를 추출하는 방법: A generic error occurred in GDI+.

fo-dicom을 사용해 dicom파일에서 이미지를 추출하는 방법에 대해 알아봅니다. 또한 해당 작업을 수행하며 겪은 "A generic error occurred in GDI+." 에러를 해결하는 방법에 대해서도 알아봅니다. Git에 나온

smoh.tistory.com

 

 

이상 DICOM에 대한 설명을 마무리하도록 하겠습니다.

 

 

 

[Reference]

https://www.insilicogen.com/blog/358

 

人Co BLOG :: 의료 영상 분석의 개요

Posted at 2020/09/27 18:26 Filed under 지식관리 4차 산업혁명 시대에서 인공지능은 다양한 분야에서 쓰이고 있고, 그중 의료 영역 내에서도 적용 범위가 확대되어 가고 있습니다. 영상 이미지로 정상 유

www.insilicogen.com

 

https://slidesplayer.org/slide/12934045/

 

(Digital Imaging and COmmunictions in Medicine) -디지털정보융합학과- 홍각표 - ppt download

0. Index Introduction General DICOM Concepts DICOM Network DICOM Service Class DICOM Image SOP Instance New Feature of DICOM

slidesplayer.org

 

https://ksiim.org/api/society/journal/download/123/157.pdf

 

 

 

+ Recent posts