CommencerCommencez gratuitement

Ajuster un masque

On peut affiner des masques imparfaits en ajoutant ou en retirant des pixels. SciPy propose plusieurs méthodes utiles pour y parvenir, notamment :

  • binary_dilation : ajoute des pixels le long des bords
  • binary_erosion : supprime des pixels le long des bords
  • binary_opening : érode puis dilate, « ouvre » les zones proches des bords
  • binary_closing : dilate puis érode, « comble » les trous

Dans cet exercice, créez un masque d'os, puis ajustez-le pour inclure des pixels supplémentaires.

Pour les exercices restants, nous avons déjà exécuté l'import suivant pour vous :

import scipy.ndimage as ndi

Cet exercice fait partie du cours

<cours>Analyse d'images biomédicales en Python</cours>
Voir le cours

Instructions de l’exercice

  • Créez un os en sélectionnant les pixels de im supérieurs ou égaux à 145.
  • Utilisez ndi.binary_dilation() pour augmenter la taille de mask_bone. Définissez iterations à 5 pour effectuer la dilation plusieurs fois.
  • Utilisez ndi.binary_closing() pour combler les trous dans mask_bone. Définissez iterations à 5 pour combler des trous jusqu'à 10 pixels de large.
  • Tracez le masque d'origine et le masque ajusté.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code