Інтенсивність
У цьому розділі ми працюватимемо з рентгенограмою кисті з конкурсу 2017 року від Radiological Society of North America. Поглинання рентгенівських променів найбільше в щільних тканинах, зокрема в кістках, тож відповідні значення інтенсивності мають бути високими. Завдяки цьому такі зображення можна використовувати для прогнозування «кісткового віку» у дітей.
Почнемо з того, що завантажимо зображення та перевіримо діапазон його інтенсивностей.
Тип даних зображення визначає можливий діапазон інтенсивностей: наприклад, 8-бітні беззнакові цілі (uint8) можуть набувати значень від 0 до 255. Панель кольорів (colorbar) допомагає пов'язати ці значення з відображеним зображенням.
У всіх вправах цього розділу використовуються такі імпорти:
import imageio.v2 as imageio
import numpy as np
import matplotlib.pyplot as plt
Ця вправа є частиною курсу
Біомедична обробка зображень у Python
Інструкції до вправи
- Завантажте зображення "hand-xray.jpg" за допомогою
imageio. - Виведіть тип даних (
dtype), мінімальне (min()) і максимальне (max()) значення інтенсивності зображення. - Побудуйте зображення за допомогою
plt.imshow(). Явно задайте мінімальне (0) і максимальне (255) значення колірної мапи через аргументиvminіvmax. - Додайте панель кольорів за допомогою
plt.colorbar(), потім відобразьте графік за допомогою спеціальної функціїformat_and_render_plot(). Це вже зроблено для вас.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Load the hand radiograph
im = ____
print('Data type:', ____)
print('Min. value:', ____)
print('Max value:', ____)
# Plot the grayscale image
____
plt.colorbar()
format_and_render_plot()