DOI QR코드

DOI QR Code

Development of Dental Medical Image Processing SW using Open Source Library

오픈 소스를 이용한 치과 의료영상처리 SW 개발

  • Jongjin, Park (Dept. of Computer Engineering, Chungwoon University)
  • 박종진 (청운대학교 컴퓨터공학과)
  • Received : 2022.09.06
  • Accepted : 2023.02.03
  • Published : 2023.02.28

Abstract

With the recent development of IT technology, medical image processing technology is also widely used in the dental field, and the treatment effect is enhanced by using 3D data such as CT. In this paper, open source libraries such as ITK and VTK are introduced to develop dental medical image processing software, and how to use them to develop dental medical image processing software centering on 3D CBCT. In ITK, basic algorithms for medical image processing are implemented, so the image processing pipeline can be quickly implemented, and the desired algorithm can be easily implemented as a filter by the developer. The developed algorithm is linked with VTK to implement the visualization function. The developed SW can be used for dental diagnosis and treatment that overcomes the limitations of 2D images..

최근 IT 기술의 발전으로 의료영상처리 기술은 치과 분야에서도 많이 사용되고 있으며, CT 등에 의한 3D 데이터를 사용하여 치료 효과를 높이고 있다. 본 논문에서는 치과용 의료영상처리 SW를 개발하기 위해 ITK와 VTK 등 오픈 소스 라이브러리를 소개하고, 이를 사용하여 3D CBCT를 중심으로 치과용 의료영상처리 SW를 개발하는 방법에 대해 소개한다. ITK는 의료영상처리를 위한 기본적인 알고리즘들이 구현되어 있어 영상처리 파이프라인을 빠르게 구현할 수 있고 개발자가 원하는 알고리즘을 필터로 손쉽게 구현할 수 있다. 개발된 알고리즘을 VTK와 연동을 통해 시각화 기능을 구현하였다. 개발된 SW를 사용하면 2D 영상의 한계를 극복하는 치과 진단 및 치료에 활용할 수 있다.

Keywords

Ⅰ. 서론

컴퓨터 기술의 발전으로 다양한 분야에서 영상처리가 활용되고 있다. 20세기 중반까지 영상처리는 아날로그로 이루어졌으며, 컴퓨터 처리 속도의 향상으로 인해 이런 기법들은 디지털 영상처리 기법으로 많이 대체되었다. 영상처리가 사용되는 분야 중 의료영상 분야는 우리들의 삶과 매우 밀접한 관련이 있다. 의료영상처리는 의료활동 등에 활용되어 현대 사회에서 사람들의 삶의 질을 향상시키고 있다. 의료영상처리 기술은 치과 분야에서도 많이 사용되고 있다. 치과에서 디지털 X-선 영상과 CBCT(Cone-Beam Computed Tomography) 영상은 현재 충치치료, 교정치료, 임플란트 등 치료계획에 적극적으로 사용되고 있다. 디지털 X-선 영상은 치아 미세영역 검출 및 치아 와동 컴퓨터 보조 검출 연구가 진행 되었고, CBCT 영상은 임플란트, 교정을 위한 자동 치아 분리(Segmentation) 접근 방법, 합성 영상 품질 개선 연구가 진행되었다[1].

이전에는 주로 2D X-선이나 CBCT 영상이 사용되었으나 최근 3D 촬영기기가 널리 보급되어 많은 치과 병,의원에서 3D CBCT(Cone-Beam CT)를 직접 찍을 수 있게 되었고, 3D 영상을 이용하는 다양한 SW가 개발되어 치아 분리를 통한 디지털 셋업의 자동화, 교정 치료 및 양악수술 진단 3D 분석, 정교한 악교정 및 임플란트 수술 계획 수립, 교정 치료 및 수술 전후 3D 결과 분석등이 이루어지고 있다. 치과에서 사용되는 3D CT는 일반 병원에서 사용되는 의료(Medical) CT와는 달리 방사능 양도 적어서 안전하다. CT 영상은 교정 치료 시 잇몸뼈의 두께와 밀도 확인, 치아 뿌리 길이와 모양 확인, 과잉치와 치아종 확인에 이용된다.

오픈 소스는 개발한 소스를 다양한 라이센스를 기반으로 공개 배포함으로써 연구그룹이나 개인이 소스 코드를 통해 직접 프로그램을 이용하거나 배포된 소스 코드를 기반으로 원하는 작업에 맞는 프로그램을 만들어 이용하고 이를 다시 재배포할 수 있는 프레임워크를 일컫는다. 오픈 소스의 이러한 장점을 바탕으로 미국 국립 보건원 (NIH, National Institute of Health)의 지원을 통해 1999년 여러 연구소와 대학들이 공동으로 의료영상의 분할 및 정합을 위한 라이브러리인 ITK(Insight Toolkit)를 개발하였고 지속적으로 발전시키고 있다. ITK는 다양한 타입의 의료 영상을 유연하게 다룰 수 있도록 Generic Programming 기법을 이용한 개발 프레임워크를 제공하며, 오픈 소스 프로젝트로써 모든 소스코드가 공개되어 있기 때문에 의료 영상처리에 대한 응용 소프트웨어개발이나 관련 연구를 효율적으로 수행할 수 있는 기반이 된다[2].

ITK외에도 의료 영상에 적용할 수 있는 다양한 알고리즘들을 포함하는 라이브러리들이 오픈 소스로 배포되고 있다. 대표적으로는 시각화를 위한 VTK(Visualization Toolkit)와 부분적으로 공개된 OpenInventorTM 라이브러리가 있으며, 의료영상과의 상호작용을 위한 MITK(Medical Imaging Interaction Toolkit) 라이브러리와 영상 유도 수술에 사용되는 IGSTK(Image-Guided Surgery Toolkit) 그리고 실시간 의료 시뮬레이션에 사용되는 SOFA(Simulation Open Framework Architecture) 라이브러리가 있다[3].

본 논문은 ITK와 VTK 등 오픈 소스 라이브러리를 사용하여 3D CBCT를 중심으로 치과용 의료영상처리를 SW를 개발하는 방법에 대해 소개하고, 이를 활용하여 2D 영상의 한계를 극복한 정확한 치과 교정 진단에 사용하는 방안을 도모하고자 한다.

Ⅱ. 오픈 소스 라이브러리:ITK, VTK

1. ITK(Insight Toolkit) 소개 및 사용법

ITK는 크로스 플랫폼을 지원하는 라이브러리이기 때문에 확 장성이 용이하며 다른 개발 환경과 쉽게 연동이 가능하다. ITK는 현재 사용되는 주요 운영체제인 윈도우와 유닉스 계열, 그리고 컴파일러는 gcc/g++, Xcode, Miscrosoft Visual Studio를 통해 사용이 가능하다. 일반적으로 개발 환경이 개발자마다 다르고 ITK를 기반으로 개발된 프로그램을 사용하는 사용 환경이 다르기 때문에 개발이나 사용 환경에 맞게 ITK를 컴파일링하는 작업은 CMake(www.cmake.org)를 이용하여 원활하게 수행할 수 있다. 라이브러리를 생성하기에 앞서 필요한 설정들을 선택할 수 있고, 개발 환경을 컴파일러에서 직접 설정하는 대신에 CMake 환경을 설정하여 라이브러리나 헤더 추가를 수월하게 할 수 있기 때문에 연구 및 개발을 수행하는 데 유용하다[2].

ITK는 각종 영상처리, 영상 분할, 영상 정합을 구현하는 기능을 제공하지만 시각화 기능은 제공하지 않는다. 소스 코드는 공개되어 있고 다양한 플랫폼을 지원하고 다차원 데이터의 분할 및 정합 알고리즘을 제공한다. ITK를 이용하여 의료용 영상처리 소프트웨어를 개발하기 위해서는 ITK의 이미지 처리를 기능을 사용하고 시각화는 VTK를 GUI는 MFC나 Qt 등을 이용하여 구현하면 된다. 그림 1은 ITK 설치 개념도를 나타낸다.

OTNBBE_2023_v23n1_59_f0001.png 이미지

그림 1. ITK 설치 개념도

Fig. 1. Diagram of installation of ITK

ITK는 다양한 형식의 이미지를 읽어서 영상 잡음을 제거하거나 양방향 필터 사용, 경계선 검출, 영상 분할, 영상 정합 등의 다양한 기능을 구현할 수 있다. ITK에서 의료영상을 처리하기 위해서는 사용할 ITK 클래스를 불러오고 이미지 타입을 선언한 후 이미지 시작점과 크기정보 등을 생성해야 한다.

표 1. ITK에서 영상 타입 선언과 시작하기

OTNBBE_2023_v23n1_59_t0001.png 이미지

Table 1. Image type declaration and start in ITK

2. VTK(Insight Toolkit) 소개 및 사용법

VTK는 ITK와 같은 오픈 소스 라이브러리로써 3D 컴퓨터 그래픽스, 영상처리 그리고 시각화 기술에 특화되어 있다. 특히 스칼라, 벡터, 텍스처, 볼륨 데이터 등 다양한 형태의 2D 및 3D 데이터를 효과적으로 시각화하는 시각화 기술을 제공하는데 목적을 두고 있다. 특히, VTK의 시각화 파이프라인은 데이터 시각화 기술 자체를 데이터 타입, 데이터 처리, 시각화, 상호작용 등 세부 요소로 구분하여, 개발할 수 있는 유연성을 제공한다. 또한 ITK와의 데이터 맵핑 기능이 제공됨으로써 ITK를 이용한 영상처리 과정에서의 결과를 효과적으로 시각 화할 수 있다는 장점이 있다[2].

VTK는 다양한 플랫폼에서 사용 가능하고 C++, Java, Python 등과 혼용을 위한 인터페이스를 제공한다. 그림 2는 ITK와 VTK의 사용 개념도를 보여준다. 치과에서 사용하는 DICOM 영상을 읽어오기 위해서 VTK 라이브러리의 DICOMImageReader 클래스를 표 2와 같이 사용한다.

OTNBBE_2023_v23n1_59_f0002.png 이미지

그림 2. ITK, VTK 사용 개념도

Fig. 2. Diagram of usage of ITK & VTK

표 2. VTK를 이용한 3차원 영상 시각화

OTNBBE_2023_v23n1_59_t0002.png 이미지

Table 2. 3D Image visualization using VTK

Ⅲ. 오픈 소스를 이용한 치과 의료영상처리 SW

1. 치과 의료용 영상 이미지 특성

치과에서는 최근에 2D(Dimension) 뿐만 아니라 3D 데이터를 활용한 진단 및 치료, 셋업 등에 의료영상처리 기술이 사용되고 있다. 이러한 기술이 아직은 간접적이고 치과의사만 사용하는 전문적인 영역에 많이 사용되고 있지만 기술의 발전으로 인해 점점 더 범용적이고 직접적으로 치료에 사용되는 제품들이 나오고 있다. 치과에서 사용하는 3D 영상 이미지는 CT를 통해 얻어진다.

CT는 기존의 X-ray 촬영 기법으로 얻은 인체 내부의 투영 데이터를 컴퓨터로 재구성하여 단층영상을 만들어 내는 기술이다. 1972년 최초의 상용화 CT가 개발된 이후로 촬영 속도 개선 등 비약적 발전을 가져왔다. CT 장치는 엑스선 발생 장치와 데이터 수집 장치, 영상 구성장치, 디스플레이 장치로 구성되는데, 출력되는 영상은 통상적으로 512x512 크기의 DICOM(Digital Imaging and Communications in Medicine) 포맷의 시리즈 영상(보통 1mm~5mm 간격으로 촬영)으로 저장되어, PACS(Picture Archiving and Communication System)를 통해 담당 진료 의사가 환자의 촬영 영상을 보고 진료하거나 수술 계획을 세울 수 있도록 한다[4].

2. 치과 교정 치료를 위한 의료영상 처리

치과에서 교정은 치과의사의 경험에 많이 의존하는 분야로 치료의 질이 의사에 의해 많은 영향을 받게 된다. 기존에는 X-ray, CT 데이터 등 2D 진단 도구를 이용하여 각도와 길이 등을 측정하고 교정장치는 평균적인 장치를 사용하여 치료가 일관성이 부족하였다면 영상처리 소프트웨어를 사용하여 3D 모델에 의한 진단과 공간 볼륨을 측정하고 기존 교정 치료에서 획득한 자료를 통해 셋업 기준을 명확히 제시하고 개인에 최적화된 장치를 사용함으로써 치료의 질을 높이고 일관성 있는 치료 결과를 얻을 수 있다. 그림 3은 곡면 절개 영상과 파노라마를 이용한 치과 치료의 예시를 보여준다.

OTNBBE_2023_v23n1_59_f0003.png 이미지

그림 3. 곡면 절개 영상과 파노라마 치료 예

Fig. 3. An example of treatment with dissection and panorama

3D 모델링이 가능한 소프트웨어를 사용하여 교정 치료를 위한 진단 과정은 다음과 같다. 첫째, 자료 채득(3D facial photos + 3D x-rays(CBCT)+ 3D oral scanning) 및 변환, 둘째, SW를 이용하여 치아 분할 (segmentation), 셋째, Setup model 제작 (SW를 이용하여 분할된 치아를 골격 안에서 기준에 맞추어 재배열), 넷째, 진단 결과 및 치료 계획 확립(Setup model 기준), Setup STL file 추출, 다섯째, 장치제작(투명교정장치 혹은 개인화된 고정식 교정장치 및 Transfer 제작).

개발되는 소프트웨어를 이용한 방법과 기존의 교정 치료를 위한 진단과의 차이점은 다음과 같다.

표 3. 기존 방법과 개발 방법의 비교

OTNBBE_2023_v23n1_59_t0003.png 이미지

Table 3. Comparison between former and developed method

3. 오픈 소스를 이용한 치과 치료용 소프트웨어

GUI 기반 치과용 영상처리 소프트웨어를 개발하기 위해 컴퓨터 비전 기술과 OpenCV 라이브러리 및 영상처리 오픈 소스인 ITK, VTK 등을 이용한다. ITK는 이미지 처리를 위한 다양한 라이브러리를 제공하고 VTK는 시각화를 위해 사용된다. 메뉴 등을 위한 GUI 기능은 MFC, Qt, FLTK 등을 통해 구현할 수 있다. C++ 등은 이러한 라이브러리 및 GUI 메뉴를 묶어주는 프로그램 언어로 사용된다. 본 논문에서는 치과 치료용 소프트웨어를 개발하기 위해 Visual C++ 프로그래밍 언어를 사용하였다. 이를 위해 개발 환경으로 마이크로소프트 (Microsoft) 사에서 개발된 Visual Studio를 사용하였다. Visual Studio는 MFC(Microsoft Foundation Classes)를 사용할 수 있는 Visual C++를 포함하고 있다. MFC는 윈도우즈 응용 프로그램 개발을 위해 마이크로소프트에서 만든 클래스 모음이다. MFC 프로그래밍에서는 모든 윈도우가 클래스 형태로 이식되었기 때문에 특정 윈도우의 기능을 제어하려면 해당 윈도우를 표현하는 클래스의 멤버 함수를 호출한다[5].

4. 개발된 치과 치료용 소프트웨어에 의한 결과

개발된 치과용 영상처리 소프트웨어는 Visual Studio 커뮤너티 2015를 사용하여 개발하였다. 그림 4는 ITK에서 제공하는 다양한 영상 향상 알고리즘을 적용한 사례이다. 영상 향상은 의료영상에서 분할이나 정합, 분석에 앞서 영상의 원하는 정보를 더 부각하거나 없애는 것에 그 목적을 둔다. 영상 향상에는 명암이나 레벨 조정뿐만 아니라 영상 잡음 제거 및 경계선 검출이 포함된다.

OTNBBE_2023_v23n1_59_f0004.png 이미지

그림 4. ITK를 이용한 영상 향상 알고리즘 적용 사례 (a) 원본 (b) 라플라시안 필터 (c) 케니경계선 검출

Fig. 4. Image improvement algorithm using ITK (a) original (b) Laplacian filter (c) Canny edge​​​​​​​

그림 5는 VTK를 이용하여 환자의 3D CBCT 영상에서 한 단면을 추출하여 시각화한 것이다. 그림 6은 캐니경계선 검출 방법을 사용하여 3D 영상의 한 단면의 경계선 검출 사례를 보여준다. 영상 내에서의 경계선은 밝기값이 지역적으로 급격하게 변화하는 곳을 의미하며 영상 내에서 다른 밝기 값을 가진 두 영 역 사이 존재한다. 경계선은 객체나 표면의 윤곽과 동일하며 의료 영상에서 가장 기본적이며 필수적인 정보이기 때문에 영상 분할과 관심 영역 추출 등에 사용된다. 그림 7은 VTK를 이용하여 3차원 영상 시각화한 3D 모델을 보여준다.

OTNBBE_2023_v23n1_59_f0005.png 이미지

그림 5. VTK를 이용한 치아 영상 단면

Fig. 5. Image slice using VTK

OTNBBE_2023_v23n1_59_f0006.png 이미지

그림 6. 치아의 캐니 경계 검출 (a) 원본 슬라이스 (b) 캐니 경계선

Fig. 6. Canny edge detection of teeth using VTK (a) Original slice (b) Canny edge

OTNBBE_2023_v23n1_59_f0007.png 이미지

그림 7. VTK를 이용한 치아 3D 모델 (a) 정면 (b) 측면 (c) 측면

Fig. 7. 3D model of teeth using VTK (a) front (b) side (c) side

Ⅳ. 결론

본 논문에서는 치과 치료용 SW를 개발하기 위해 의료 영상 오픈 소스 라이브러리인 ITK와 VTK를 소개하고 활용하는 방법을 제시하였다. 특별히 기존의 치과 교정치료는 X-ray, CT 데이터 등 2D 진단 도구를 이용하여 치과 치료가 일관성이 부족하였다면 개발되는 영상처리 SW를 사용하여 3D 모델에 의한 진단과 공간 볼륨을 측정하고 기존 교정 치료에서 획득한 자료를 통해 셋업 기준을 명확히 제시하고 개인에 최적화된 장치를 사용함으로써 치료의 질을 높이고 일관성 있는 치료 결과를 얻을 수 있다. 개발된 SW는 MFC를 이용하여 개발되었고 ITK를 사용하여 다양한 알고리즘을 구현할 수 있고 VTK와 연동하여 치아의 3D 모델을 구현할 수 있다. 이를 통해 2D 영상의 한계를 극복한 정확한 치과 교정 진단에 사용할 수 있다.

References

  1. Kyeong-Jin Park, Yeong-Hyeon Byeon, and Keun-Chang Kwak, "Analysis of Domestic Research Trends of X-ray and CT based Dental Medical Imaging Processing", 2019 Proceedings of the Summer Joint Conference of the Korea Information Technology Association and the Korea Digital Contents Society, PP 357-359.
  2. UiTae Kim, Hojin Ryoo, Jaeil Kim, Jinah Park, "Open Source Library for Medical Image Processing: Review on ITK", Journal of the Korean Society of Imaging Informatics in Medicine, Vol. 19, No. 1, pp. 1-12, 2013.
  3. Wolf, Ivo., "Toolkits and software for developing biomedical image processing and analysis applications," Biomedical Image Processing pp. 521-544, 2011. DOI: https://doi.org/10.1007/978-3-642-15816-2_21
  4. Ho-Young Kwak, Jisoon Huh, "Extract and Analysis System for CT/MRI Images," Journal of The Korea Society of Computer and Information, Vol. 19, No. 1, 2014.
  5. Whang, S. K., Visual C++ Image Processing Programming, Gilbut, 2015.
  6. Franz, Alfred M., et al., "The Medical Imaging Interaction Toolkit: challenges and advances", International Journal of Computer Assisted Radiology and Surgery, Vol. 8, No. 10, pp. 607-620, 2013. https://doi.org/10.1007/s11548-013-0840-8
  7. Canny, John, "A computational approach to edge detection", IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI), Vol 8, No. 6, pp. 679-698, 1986. https://doi.org/10.1109/TPAMI.1986.4767851
  8. Youngsoo Ha, "Analysis of the Medical Image by Image Processing," National Institute for Mathematical Sciences, Report of creative research project, 2011.
  9. Jang, W. S., Lee, K. W., Lee, S. D., Kim, Y. G., "Study on Production Management Efficiency Method using Supervised Learning based Image Cognition," The Journal of The Institute of Internet, Broadcasting and Communication, VOL. 21, NO. 5, pp. 47 ~ 52, October 2021.
  10. Eun-Gyu Ham, Chang-Bok Kim, "Model Implementation of Reinforcement Learning for Trading Prediction Using Deep Q Network ," The Journal of KIIT, Vol. 17, No. 4, pp. 1-8, 2019. https://doi.org/10.14801/jkiit.2019.17.4.1