개발/DICOM 이야기 30

20. PACS란 무엇인가 – 병원 영상 관리 시스템의 핵심 개념

현대 병원의 의료영상 진료는 단순한 사진 촬영에서 그치지 않는다. 촬영된 영상은 서버에 안전하게 저장되고, 의료진은 언제든지 해당 영상을 열람할 수 있으며, 필요시 외부 기관과의 협진이나 인공지능 분석에도 활용된다.이처럼 병원 내에서 의료영상의 저장, 검색, 전송, 뷰잉을 모두 통합 관리하는 시스템이 바로 PACS (Picture Archiving and Communication System)다. PACS는 CT, MRI, 초음파 등 다양한 장비로부터 DICOM 파일을 수신하고, 이를 의료진이나 시스템 사용자에게 효율적으로 제공하는 핵심 인프라이며, 의료영상의 디지털화와 표준화를 가능하게 한 기반 기술이다.이번 글에서는 PACS의 기본 개념부터 구성 요소, 동작 방식, 실무 적용 사례까지 자세히 정리한다..

19. DICOM 서버와 클라이언트의 동작 방식 이해

의료 영상이 병원 내에서 디지털 방식으로 관리되는 핵심은 서버와 클라이언트 간의 표준화된 통신 프로토콜, 즉 DICOM 네트워크 구조에 있다.CT, MRI 장비 또는 AI 분석 시스템은 클라이언트 역할을 수행하고, 이들이 전송하거나 요청한 정보를 수신·보관하는 PACS 서버가 서버 역할을 한다. 이러한 상호작용은 단순한 데이터 송수신이 아닌, 명확한 역할 분리와 메시지 기반 통신(DIMSE)을 기반으로 수행되며, AE Title, Association, SOP Class, Transfer Syntax 등의 개념이 이를 가능하게 한다.이번 글에서는 클라이언트와 서버가 DICOM 네트워크에서 어떻게 상호작용하며, 실제 전송 요청(C-STORE), 검색 요청(C-FIND), 이미지 요청(C-MOVE) 등의 기..

18. DICOM 통신 구조 – C-STORE, C-FIND, C-MOVE의 의미

DICOM은 단순히 파일 포맷이 아니라, 의료영상을 서버 간 교환하고 조회하는 통신 프로토콜까지 포함한 복합 표준이다.병원 내부에서는 CT, MRI 장비에서 생성된 DICOM 파일이 PACS 서버로 전송되고, 의사는 이 서버에서 환자의 검사 결과를 조회하며, AI 시스템은 특정 조건의 영상을 자동으로 가져와 학습에 활용한다.이 모든 과정은 DICOM 통신 명령(C-STORE, C-FIND, C-MOVE 등)을 통해 이루어진다.이번 글에서는 각 명령어의 역할과 흐름, 그리고 서버-클라이언트 간 통신 구조를 정리하고, 실제 PACS 연동이나 DICOM 자동화 시스템 개발에 어떻게 적용되는지를 설명한다. 1. DICOM 통신의 기본 구조DICOM 통신은 Application Entity (AE) 간의 상호작..

17. DICOM 이미지 PNG, JPEG로 변환하기 (Python 예제 포함)

의료영상 데이터는 대부분 DICOM 포맷으로 저장되며, 이 포맷은 의료 정보와 이미지 데이터를 함께 담는 구조다.그러나 DICOM은 의료 특화 포맷이기 때문에 일반적인 이미지 뷰어나 웹 브라우저에서는 열 수 없고, AI 모델 학습이나 일반 이미지 처리 도구에서도 바로 활용하기 어렵다.따라서 의료 영상 데이터를 외부에서 활용하거나 비의료 전문가와 공유하려면 DICOM 이미지를 PNG 또는 JPEG 등 범용 이미지 포맷으로 변환해야 한다.이번 글에서는 Python을 이용해 DICOM 파일의 픽셀 데이터를 불러온 뒤 이미지 파일로 변환하는 과정을 단계별로 설명하고, 실제 파일 경로 기반의 일괄 변환 코드 예시까지 제공한다. 1. 준비: 필요한 패키지 설치pip install pydicom numpy matp..

16. Pydicom 입문 – Python으로 DICOM 파일 읽고 쓰기

AI 모델에 의료영상 데이터를 적용하거나, DICOM 메타데이터를 분석해야 하는 상황에서는전문 소프트웨어 없이 코드로 직접 DICOM 파일을 다룰 수 있는 방법이 필요하다.Python 기반의 오픈소스 라이브러리인 Pydicom은 이러한 요구를 충족시키며,DICOM 파일을 간단하게 읽고, 태그를 확인하고, 수정하고, 저장하는 작업을 빠르게 수행할 수 있다.특히 AI 연구자나 의료영상 전처리 담당자에게는 GUI 기반 도구보다 훨씬 유연하고 자동화가 가능한 장점이 있다.이번 글에서는 Pydicom의 기본적인 사용법을 예제 코드 중심으로 설명하며, 실제 데이터셋 처리에 바로 적용할 수 있도록 구성했다. 1. Pydicom 설치pip install pydicom// 추가 이미지 처리 필요한 경우pip insta..

15. DCMTK 사용법 – 명령어 기반 DICOM 도구 활용하기

DICOM 파일을 다루는 작업은 단순히 뷰어로 이미지를 확인하는 것을 넘어, 태그를 읽고, 수정하고, 서버로 전송하거나 구조를 분석하는 작업이 포함된다. 이때 가장 널리 사용되는 오픈소스 도구가 바로 DCMTK(DICOM ToolKit)이다.DCMTK는 독일 OFFIS 연구소에서 개발한 C++ 기반의 명령어 도구 모음으로,Windows, Linux, macOS에서 모두 동작하며, 파일 읽기, 전송, 익명화, 서버 테스트 등 실무에 필요한 거의 모든 기능을 제공한다.이번 글에서는 DCMTK에서 가장 자주 사용하는 명령어들과 그 활용법을 실제 예시와 함께 정리한다. 1. DCMTK 설치 방법 (요약)공식 사이트: https://dicom.offis.de/dcmtk.php.enWindows 사용자: 설치형 ..

14. DICOM 뷰어 추천 및 비교 – RadiAnt, Weasis, MicroDicom 등

의료영상 데이터를 분석하거나 AI 모델 학습을 준비할 때, DICOM 파일을 시각적으로 검토할 수 있는 뷰어(Viewer)는 필수적인 도구다.하지만 DICOM 뷰어는 단순히 이미지를 보여주는 도구가 아니라, 헤더 정보 확인, Series 간 비교, 창/레벨 조절, PACS 연동 여부, 압축 지원 등 다양한 기능을 갖춘 전문 소프트웨어다. 문제는 뷰어마다 특징이 달라 사용 목적에 따라 선택 기준이 달라진다는 점이다.이번 글에서는 실무에서 자주 사용되는 무료 및 상용 뷰어들을 비교하며, AI 개발, 연구용, 병원 PACS 연동 테스트 등 목적별로 어떤 뷰어를 선택해야 하는지 정리한다. 1. RadiAnt DICOM Viewer개요운영체제: Windows라이선스: 무료 평가판 / 유료 정식 버전 있음대표 특..

13. DICOM 이미지 형식(Pixel Data)과 압축 방식

DICOM 파일의 진짜 핵심은 결국 “영상”이다.이 영상은 DICOM 구조상에서 Pixel Data 태그(7FE0,0010)에 저장된다.하지만 단순한 이미지 파일과 달리, DICOM에서는 픽셀 데이터의 구조, 압축 방식, 색상 표현 방식 등이 전송 문법(Transfer Syntax)에 따라 달라지며,그 결과 동일한 영상이라도 압축 방식에 따라 파일 크기, 뷰어 호환성, AI 파싱 성공 여부가 달라진다.이번 글에서는 Pixel Data가 실제로 어떻게 구성되는지, DICOM에서 사용되는 주요 압축 방식과 그 특징, 그리고 실무에서 주의할 점들을 예제와 함께 설명한다. 1. Pixel Data 태그 구조Pixel Data는 DICOM 파일의 끝부분에 위치하며, 태그 번호는 다음과 같다:(7FE0,0010) ..

12. DICOM에서의 날짜, 시간, 성별, 환자 ID 처리 방식

의료 영상 파일인 DICOM에서는 단순히 이미지만 저장하는 것이 아니라, 환자 이름, ID, 성별, 검사 날짜와 시간 같은 메타데이터가 함께 저장된다.이 정보들은 병원에서 영상 데이터를 검색하거나, PACS 서버에 정렬해서 표시하거나, AI 학습 데이터로 필터링할 때 핵심 기준이 된다.하지만 일반적인 텍스트와 달리, DICOM은 **자체적인 포맷(DICOM Data Format)**을 따르기 때문에 날짜나 시간, 텍스트 데이터를 그대로 읽거나 쓸 수 없다.이번 글에서는 DICOM 파일 내부에서 날짜, 시간, 성별, 환자 ID가 어떤 형식으로 저장되는지 그리고 실무에서 이를 어떻게 해석하고 활용하는지를 상세히 설명한다. 1. DICOM에서 사용하는 데이터 포맷 요약 항목 VR (Value Represent..

11. 환자 정보, 검사 정보, 이미지 정보의 구조 이해

의료기관에서 촬영된 한 건의 CT 검사에는 수십에서 수백 장의 영상이 포함된다.하지만 이 영상들은 단순히 파일 여러 개로 저장되는 것이 아니라,환자 정보부터 시작해 검사 단위, 촬영 시리즈, 개별 이미지까지 명확한 계층 구조로 정리된다.이 구조를 제대로 이해하지 못하면 영상의 연관성을 파악하지 못하거나, AI 학습용 데이터셋 구성에서 오류가 발생할 수 있다.DICOM은 이 문제를 해결하기 위해 **4단계 계층 구조(Patient–Study–Series–Instance)**를 따르며, 각 단계는 고유한 UID를 통해 서로 연결된다.이번 글에서는 이 구조가 실제 DICOM 데이터 안에서 어떻게 구현되는지, 각 계층이 어떤 정보를 포함하고 어떤 역할을 하는지를 쉽게 설명한다. 1. DICOM의 계층 구조 요약..