본문 바로가기
컴퓨터쟁이/Bioinformatics

DICOM image 회전 시키기

by 빙글빙글이 2022. 2. 15.
728x90
반응형

DICOM인 CT영상이미지를 3가지의 면으로 확인을 하기 위한 코드를 찾았다. 

a2를 보면 이미지가 90도 회전이 필요한 것을 알 수 있다. 

따라서 회전을 하기 위해서 코드를 어떤 함수를 써야하는지 이것저것 찾았었는데,

np.rot90() 함수를 사용하면 된다. 

 

 

[수정 전 코드]

for i, s in enumerate(slices):
    img2d = s.pixel_array
    img3d[:, :, i] = img2d

# plot 3 orthogonal slices
a1 = plt.subplot(2, 2, 1)
plt.imshow(img3d[:, :, img_shape[2]//2])
a1.set_aspect(ax_aspect)

a2 = plt.subplot(2, 2, 2)
plt.imshow(img3d[:, img_shape[1]//2, :])
a2.set_aspect(sag_aspect)

a3 = plt.subplot(2, 2, 3)
plt.imshow(img3d[img_shape[0]//2, :, :].T)
a3.set_aspect(cor_aspect)


plt.show()

 

[결과 화면]

 

 

추가한 부분

np.rot90() 함수

 

[수정 후 코드]

for i, s in enumerate(slices):
    img2d = s.pixel_array
    img3d[:, :, i] = img2d

# plot 3 orthogonal slices
a1 = plt.subplot(2, 2, 1)
plt.imshow(img3d[:, :, img_shape[2]//2])
a1.set_aspect(ax_aspect)

a2 = plt.subplot(2, 2, 2)
plt.imshow(np.rot90(img3d[:, img_shape[1]//2, :]))
a2.set_aspect(sag_aspect)

a3 = plt.subplot(2, 2, 3)
plt.imshow(img3d[img_shape[0]//2, :, :].T)
a3.set_aspect(cor_aspect)


plt.show()

[결과 화면]

 

참고한 코드 

https://github.com/pydicom/pydicom/blob/master/examples/image_processing/reslice.py

 

GitHub - pydicom/pydicom: Read, modify and write DICOM files with python code

Read, modify and write DICOM files with python code - GitHub - pydicom/pydicom: Read, modify and write DICOM files with python code

github.com

 

728x90
반응형

'컴퓨터쟁이 > Bioinformatics' 카테고리의 다른 글

DICOM preprocessing  (0) 2022.02.14
DICOM meta data 사용한 속성 정리  (0) 2022.02.14
DICOM metadata 확인  (0) 2022.02.14
[용어정리] IC50, EC50, potency  (0) 2021.03.03
WGCNA Tutorial  (0) 2021.02.03