НачатьНачать бесплатно

Интенсивность

В этой главе мы будем работать с рентгеновским снимком кисти руки из соревнования 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()
Редактировать и запускать код