Files
UTILITY_DICOM_NII_TO_CVAT/README.md

66 lines
2.4 KiB
Markdown
Raw Normal View History

# 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`)로 통합.
2025-12-02 13:07:21 +09:00
* **자동 정리:** 실행 시마다 `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
```bash
# 가상환경 생성 (선택)
conda create -n dcm python=3.10
conda activate dcm
# 의존성 설치
pip install -r requirements.txt
```
## 사용 방법
### 1. 데이터 변환 (CVAT용)
```bash
python DCM_NII_to_CVAT.py
```
2025-12-02 13:07:21 +09:00
스크립트를 실행하면 **`Conversion_Results/YYYYMMDD_HHMMSS`** 폴더가 생성됩니다.
**[CVAT 업로드 방법]**
1. 생성된 타임스탬프 폴더(예: `20251202_120000`) **안으로 들어갑니다**.
2. 내부의 모든 파일/폴더(`JPEGImages`, `SegmentationClass`, `ImageSets`, `labelmap.txt`)를 선택하여 **ZIP으로 압축**합니다.
3. CVAT에서 데이터를 업로드할 때 포맷을 **Segmentation Mask 1.1**로 선택합니다.
### 2. 데이터 뷰어
```bash
python NII_DCM_Viewer.py
```
2025-12-02 13:07:21 +09:00
* 실행 후 콘솔에서 번호를 입력하여 폴더를 선택하면 뷰어가 실행됩니다.
## 설정 변경
두 스크립트 모두 상단의 `DATA_ROOT` 변수를 수정하여 데이터가 위치한 경로를 변경할 수 있습니다. 기본값은 **현재 디렉토리(`.` )** 입니다.
```python
# --- 설정 (사용자 수정 가능) ---
DATA_ROOT = Path('.') # 데이터가 있는 최상위 경로
```
## 파일 구조
* `DCM_NII_to_CVAT.py`: 변환 메인 스크립트
* `NII_DCM_Viewer.py`: 뷰어 스크립트
2025-12-02 13:07:21 +09:00
* `requirements.txt`: 필요 라이브러리 목록