Интенсивность
В этой главе мы будем работать с рентгеновским снимком кисти руки из соревнования Radiological Society of North America 2017 года. Поглощение рентгеновских лучей наиболее высоко в плотных тканях, таких как кость, поэтому значения интенсивности в таких областях должны быть высокими. Именно это свойство позволяет использовать подобные снимки для определения «костного возраста» у детей.
Для начала загрузим изображение и проверим диапазон его интенсивности.
Тип данных изображения определяет диапазон допустимых значений интенсивности: например, 8-битные беззнаковые целые числа (uint8) принимают значения от 0 до 255. Цветовая шкала помогает соотнести эти значения с визуальным представлением изображения.
Во всех упражнениях этой главы используются следующие импорты:
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()