일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TeCNO
- precision #정밀도 #민감도 #sensitivity #특이도 #specifisity #F1 score #dice score #confusion matrix #recall #PR-AUC #ROC-AUC #PR curve #ROC curve #NPV #PPV
- MRI
- non-parametric model
- parer review
- nlp
- parametric model
- paper review
- deep learning #segmentation #sementic #pytorch #UNETR #transformer #UNET #3D #3D medical image
- words encoding
- nfiti
- decorater
- monai
- parrec
- 확산강조영상
- genetic epidemiology
- PYTHON
- 데코레이터
- 파이썬
- Phase recognition
- 확산텐서영상
- Surgical video analysis
- 코드오류
- 모수적 모델
- nibabel
- 비모수적 모델
- MICCAI
- 유전역학
- tabular
- TabNet
- Today
- Total
KimbgAI
[python] ParRec 파일을 nifti 파일로 변환 본문
파이썬으로 ParRec 파일을 nifti 파일로 변환하는 코드
import nibabel as nib
par_path = '/data/2030/BrainMRI/Dataset/Sample/DTI_sample.PAR'
nifti_path = '/data/2030/BrainMRI/Dataset/Sample/DTI_sample.nii.gz'
img = nib.load(par_path)
nifti = nib.Nifti1Image(img.dataobj, img.affine, header=img.header)
nifti.set_data_dtype('<f4')
nifti.to_filename(nifti_path)
위 코드가 전부다.
nibabel 라이브러리를 이용해서 par 파일을 읽어와서 몇가지 처리만 해주면 된다.
알고계시겠지만, ParRec는 Par파일과 Rec파일 두 개를 묶어서 칭하는 표현이다.
따라서 주의할 점은 par 파일과 rec 파일이 반드시 같은 이름으로 되어있어야한다.
해더 파일인 par 파일을 읽어서, 실제 이미지 픽셀값이 들어있는 rec 파일과 매칭하기 때문이다.
위 코드 8번째 라인에서 '<f4' 는 NumPy에서 사용되는 dtype 문자열로, 데이터 타입과 바이트 순서에 대한 정보를 담고 있다. '<'는 리틀 엔디안(little-endian) 이라는 바이트 순서를 나타내며, 'f4'는 부동 소수점 숫자를 나타낸다.
f4는 4bytes(32bit) float, 즉 float32를 의미한다.
종종 ParRec 데이터에 문제가 있어 읽어들이지 못하는 경우가 있으니 대용량 데이터를 처리할때는 예외처리 반드시 하시길!!
아래는 ParRec 관련 내용에 대한 내용입니다.
Chat GPT가 아주 자세히 잘 알려주었지만, 종종 잘못된 내용도 있어 정리했습니다.
ParRec란?
ParRec은 Philips사의 자기 공명 이미징(MRI) 시스템에서 생성되는 데이터 형식으로, MRI 시퀀스에서 획득한 데이터를 저장하는 데 사용됨.
ParRec 파일은 주로 두 부분으로 구성됨.
1. 헤더 파일 (.PAR): 헤더 파일에는 데이터 획득에 대한 메타데이터와 설정이 포함되어 있습니다. 시퀀스 파라미터, 획득 매개변수, 이미지 크기, 슬라이스 두께 등이 헤더에 기록되어 있습니다. 이 메타데이터는 MRI 데이터를 제대로 해석하고 재구성하는 데 필요합니다.
2. 이미지 데이터 파일 (.REC): 이미지 데이터 파일에는 실제 MRI 이미지의 픽셀 값이 포함되어 있습니다. 각 이미지 슬라이스의 픽셀 값이 이 파일에 저장되어 있으며, 이를 통해 이미지가 재구성됩니다.
따라서,
ParRec 형식은 일반적으로 다른 MRI 제조업체에서 사용하는 형식과 달라서, DICOM 과 같은 형식으로 변환해서 사용해야 처리가 편하답니다~
끝!
'python' 카테고리의 다른 글
[python] @property 사용하기 (0) | 2023.02.06 |
---|---|
[python] 데코레이터(decorator, @)란? (0) | 2023.02.06 |
tqdm 활용 with dataloader (0) | 2022.11.07 |
[python] 자주 사용하는 conda 명령어 (0) | 2022.09.28 |
[python] pip install but can't import (0) | 2022.09.16 |