Настройка маски
Несовершенные маски можно улучшить, добавляя или удаляя пиксели. В SciPy для этого есть несколько удобных методов:
binary_dilation: добавляет пиксели вдоль краёвbinary_erosion: удаляет пиксели вдоль краёвbinary_opening: сначала сужает, затем расширяет — «открывает» области вблизи краёвbinary_closing: сначала расширяет, затем сужает — «заполняет» отверстия
В этом упражнении вы создадите маску костей, а затем настроите её, добавив дополнительные пиксели.
Для оставшихся упражнений мы уже выполнили следующий импорт:
import scipy.ndimage as ndi
Это упражнение является частью курса
Анализ биомедицинских изображений на Python
Инструкции к упражнению
- Создайте маску костей, выбрав из
imпиксели со значением, большим или равным145. - С помощью
ndi.binary_dilation()увеличьте размерmask_bone. Установите параметрiterationsравным5, чтобы выполнить расширение несколько раз. - С помощью
ndi.binary_closing()заполните отверстия вmask_bone. Установите параметрiterationsравным5, чтобы закрыть отверстия шириной до 10 пикселей. - Отобразите исходную и скорректированную маски.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create and tune bone mask
mask_bone = ____
mask_dilate = ndi.binary_dilation(____, ____)
mask_closed = ____
# Plot masked images
fig, axes = plt.subplots(1,3)
axes[0].imshow(mask_bone)
axes[1].imshow(mask_dilate)
____
format_and_render_plot()