Yoğunluk Değerleri

Python ile Biyomedikal Görüntü Analizi

Stephen Bailey

Instructor

Piksel ve voksel

  • Pikseller 2B resim öğeleridir
  • Vokseller 3B hacim öğeleridir
  • İki özellik: yoğunluk ve konum

ayak röntgeni

Python ile Biyomedikal Görüntü Analizi

Veri türleri ve görüntü boyutu

Dizinin veri türü olası yoğunluk aralığını belirler

Tür Aralık Değer say.
uint8 0, 255 256
int8 - 128, 127 256
uint16 0, 2$^{16}$ 2$^{16}$
int16 -2$^{15}$, 2$^{15}$ 2$^{16}$
float16 ~-2$^{16}$, ~2$^{16}$ >>2$^{16}$
import imageio.v2 as imageio

im=imageio.imread('foot-xray.jpg')

im.dtype
    dtype('uint8')

im.size
153600
im_int64 = im.astype(np.uint64)
im_int64.size
1228800
Python ile Biyomedikal Görüntü Analizi

Histogramlar

  • Histogramlar: her yoğunluk değerindeki piksel sayısını sayar.
  • scipy.ndimage içinde uygulanır
    • daha yüksek boyutlu diziler
    • maskelenmiş veri
  • Gelişmiş teknikler ve işlevler scikit-image içinde.
plt.plot(hist)
plt.show()
import scipy.ndimage as ndi

hist=ndi.histogram(im, min=0, max=255, bins=256)
hist.shape
(256,)

Histogram

Python ile Biyomedikal Görüntü Analizi

Eşitleme

  • Dağılımlar sıkça düşük yoğunluklara (arka plan) doğru çarpıktır.

  • Eşitleme: değerleri tam yoğunluk aralığını kullanacak şekilde yeniden dağıtma.

  • Kümülatif dağılım fonksiyonu: (CDF) aralıktaki piksellerin oranını gösterir.

Hist+CDF

Python ile Biyomedikal Görüntü Analizi

Eşitleme

import scipy.ndimage as ndi
hist = ndi.histogram(im, min=0, 
                         max=255,
                        bins=256)

cdf = hist.cumsum() / hist.sum() cdf.shape
(256,)
im_equalized = cdf[im] * 255

fig, axes = plt.subplots(2, 1) axes[0].imshow(im) axes[1].imshow(im_equalized) plt.show()

eşitlenmiş-görüntü

Python ile Biyomedikal Görüntü Analizi

Hadi pratik yapalım!

Python ile Biyomedikal Görüntü Analizi

Preparing Video For Download...