UTILITY_DICOM_NII_TO_CVAT

이 저장소는 DICOM(.dcm) 의료 영상과 NII.GZ(.nii.gz) 세그멘테이션 마스크 파일을 **CVAT(Computer Vision Annotation Tool)**에서 사용할 수 있는 Segmentation Mask 1.1 형식으로 변환하는 유틸리티 도구 모음입니다.

기능

  1. 데이터 변환 (DCM_NII_to_CVAT.py):

    • 이미지 변환: .dcm 파일을 .jpg로 변환 (정규화 포함).
    • 마스크 변환: 여러 개의 .nii.gz 파일(C2, C3, T1...)을 하나의 RGB 컬러 마스크(.png)로 통합.
    • 자동 정리: 실행 시마다 Conversion_Results/YYYYMMDD_HHMMSS 폴더를 생성하여 데이터 분리 저장.
    • 포맷 지원: CVAT Segmentation Mask 1.1 구조 자동 생성 (JPEGImages, SegmentationClass, labelmap.txt, default.txt).
  2. 데이터 뷰어 (NII_DCM_Viewer.py):

    • 원본 DICOM과 NII 마스크를 오버레이하여 시각적으로 검증.
    • MITK PlanarFigure(.pf) 파일 지원.

설치 방법

권장 환경: Python 3.10

# 가상환경 생성 (선택)
conda create -n dcm python=3.10
conda activate dcm

# 의존성 설치
pip install -r requirements.txt

사용 방법

1. 데이터 변환 (CVAT용)

python DCM_NII_to_CVAT.py

스크립트를 실행하면 Conversion_Results/YYYYMMDD_HHMMSS 폴더가 생성됩니다.

[CVAT 업로드 방법]

  1. 생성된 타임스탬프 폴더(예: 20251202_120000) 안으로 들어갑니다.
  2. 내부의 모든 파일/폴더(JPEGImages, SegmentationClass, ImageSets, labelmap.txt)를 선택하여 ZIP으로 압축합니다.
  3. CVAT에서 데이터를 업로드할 때 포맷을 Segmentation Mask 1.1로 선택합니다.

2. 데이터 뷰어

python NII_DCM_Viewer.py
  • 실행 후 콘솔에서 번호를 입력하여 폴더를 선택하면 뷰어가 실행됩니다.

설정 변경

두 스크립트 모두 상단의 DATA_ROOT 변수를 수정하여 데이터가 위치한 경로를 변경할 수 있습니다. 기본값은 현재 디렉토리(. ) 입니다.

# --- 설정 (사용자 수정 가능) ---
DATA_ROOT = Path('.')  # 데이터가 있는 최상위 경로

파일 구조

  • DCM_NII_to_CVAT.py: 변환 메인 스크립트
  • NII_DCM_Viewer.py: 뷰어 스크립트
  • requirements.txt: 필요 라이브러리 목록
Description
NII.GZ와 DCM 파일을 CVAT에 IMPORT 가능한 segmentation 1.1 형태로 변환해주는 스크립트 와 뷰어
Readme 38 KiB
Languages
Python 100%