[DICOM] 세그멘테이션 결과 Mask를 3차원으로 저장하기
.dcm 확장자로 Segmentation 3D mask를 저장하기# 3D mask 저장volume_mask = np.stack(patient_mask, axis=0)print("volume_mask.shape: ", volume_mask.shape)mask_dicom.NumberOfFrames = 192mask_dicom.Rows, mask_dicom.Columns = volume_mask.shape[1], volume_mask.shape[2]mask_dicom.PixelData = volume_mask.astype(np.uint16).tobytes()# DCIOM standard로 파일 메타 정보 설정mask_dicom.file_meta.TransferSyntaxUID = ExplicitVRLittle..
2024.05.03
[DICOM] MRI 볼륨 관련 Dicom tag 정리
Subtraction 이미지에 관한 태그(0020,0100) IS TemporalPositionIdentifier = 1(0020,0105) IS NumberOfTemporalPositions = 5 subtraction 영상은 보통 여러개가 존재한다. 해당 subtraction DICOM영상에서 Tag값을 확인해 Sub1, 2, 3, 4, 5를 구분할 수 있다.  (0020, 0013) Instance Number Attribute이미지 번호 (DICOM 슬라이스 순서)(0020,0013) IS InstanceNumber = 90해당 .dcm 파일이 series에서 몇 번째 슬라이스에 해당하는지 나타내는 Tag이다.   (0020,1002) Images in Acquisition Attribute(00..
2024.04.30
no image
[의료 영상] DICOM 전처리
정규화 전처리 코드base_img = dcm_file.pixel_arraymin_val = np.min(base_img)max_val = np.max(base_img)print(min_val)print(max_val)# normalize image / z = (x - min) / (max - min)copy_img = base_img.copy()numerator = copy_img - min_valdenominator = max_val - min_valz = numerator / denominatorz = (z * 255).astype(np.uint8)# 이미지 저장cv2.imwrite('base.png', base_img)cv2.imwrite('normalize.png', z)  pydicom을 통한 ..
2024.02.15