개발/의학영상처리

의학영상처리 Intro

dev-power 2025. 1. 5. 15:12

 일반적으로 영상 처리 알고리즘 코드는 Matlab을 사용하지만, 최근 영상 처리 분야에서도 딥러닝 기술이 많이 활용됨을 고려해 Python으로 수행합니다.

 

 

Sampling


Sampling이란?

 이미지를 디지털화하는 과정 중 하나로, 연속적인 아날로그 신호를 디지털 신호로 변환하는 작업입니다. Sampling value는 메모리 공간과 직접적인 연관이 있으므로 적절한 sampling rate를 선택하는 것이 중요합니다.

일반적으로 10보다는 100으로 sampling하는 것이 좋겠지만, 메모리 공간의 여유도 생각해야합니다.

Shannon's sampling theorem

 가장 적합한 sampling rate를 보여줍니다. 만약 연속적인 신호를 Fourier Transform 으로 분리했을 때, 가장 큰 주파수 성분을 $f_{max}$ 라고 한다면, 가장 적합한 샘플링 주파수는 다음과 같습니다. 

$$f >= f_{max} * 2$$

이 주파수를 Nyquist rate 라고 합니다.

 

 두번째 사진은 첫번째 사진의 nyquist rate 보다 작은 주파수로 sampling 한 사진입니다. 바지의 세로 무늬가 가로 무늬로 aliasing 되었습니다. 이를 보정하기 위해 세번째 사진에서는 sampling 작업 이전에 blur 처리를 했습니다. 원본과 다소 차이가 생길지라도 aliasing 은 피할 수 있습니다.

 

 

 

디지털 이미지의 종류


Binary image

 흑과 백으로만 이루어진 이미지는 0과 1, 즉 1픽셀 당 1비트로 표현할 수 있습니다. 이 때 0이 검은색, 1이 흰색입니다.

 

 

Gray scale image

 Gray scale image 는 얼마나 회색을 세밀하게 구분하느냐에 따라서 용량이 달라집니다. 1픽셀 당 1바이트로 표현할 수 있습니다. 8비트니까 $2^8 = 256$ 개로 색을 나눌 수 있는데, 0이 검은색, 255가 흰색입니다.

 

 

True color(RGB)

 RGB 값마다 각각 8비트의 값들이 필요하므로 1픽셀당 3바이트가 필요합니다.

 

 

Indexed color

 Indices 의 values 는 RGB pixel value 입니다.

 RGB는 하나의 픽셀이 3바이트나 차지하므로 영상의 크기가 조금만 커져도 컴퓨터의 메모리 공간을 많이 차지합니다. 이것이 부담스러웠던 시절 indexed color 방식을 사용했습니다. 각각의 색깔에 코드를 부여해서 해당 RGB 값을 해석하는 방식입니다. 1바이트로 하나의 색깔을 표현할 수 있으므로 총 256가지 색을 사용하는 것입니다. 이때 사용하는 색깔 코드를 colormap 이라고 합니다. 최근에는 잘 사용되지 않습니다.

 

 

 

Bit planes


Bit planes 란?

 Gray scale 이미지는 1바이트, 즉 8비트로 이루어져있습니다. 한 픽셀을 8개의 비트로 나누면 결국 8개의 binary image 를 얻는 것과 다름이 없습니다. 각각의 binary image 를 하나의 bit plane 으로 생각할 수 있습니다.

 첫번째 bit plane 은 LSB plane 이라 부르고, 여덟번째 bit plane을 MSB plane 이라 부릅니다. MSB plane 에 가까울수록 이미지에 영향을 많이 줍니다.

MSB plane 에 가까울수록 이미지에 영향을 많이 준다.

 

 

Bit plane 별로 플로팅

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

image = Image.open('cameraman.jpeg')
image_np = np.array(image)
bps = [(image_np >> i) % 2 for i in range(8)]
for i in range(8):
	plt.subplot(3, 3, i + 1)
    plt.imshow(bps[i], cmap='gray')
    plt.axis('off')
    
plt.show()

 

MSB 에 가까운 planes 를 많이 포함할수록 원본과 비슷해짐을 확인할 수 있다.

 

'개발 > 의학영상처리' 카테고리의 다른 글

Point Processing  (0) 2025.01.05