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 bordsbinary_erosion: supprime des pixels le long des bordsbinary_opening: érode puis dilate, « ouvre » les zones proches des bordsbinary_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>Instructions de l’exercice
- Créez un os en sélectionnant les pixels de
imsupérieurs ou égaux à145. - Utilisez
ndi.binary_dilation()pour augmenter la taille demask_bone. Définisseziterationsà5pour effectuer la dilation plusieurs fois. - Utilisez
ndi.binary_closing()pour combler les trous dansmask_bone. Définisseziterationsà5pour 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()