Alignement : gérer l’échelle et la résolution
Alignement : gérer l’échelle et la résolution
Objectif
À la fin, vous aurez reproduit cette étape de bout en bout sur un cas test.
Avant de commencer
- Deux lames du même tissu (référence + cible).
- Outil d’alignement installé (Warpy ou VALIS).
- Un dossier de sortie dédié pour les transformations.
Pas à pas
- Lire le pixel size (µm/px) de chaque lame avant alignement.
- Calculer le facteur d’échelle entre lame source et cible.
- Resampler si nécessaire avant recalage.
- Vérifier qu’une distance connue garde la même valeur après warp.
- Bloquer la suite si l’écart d’échelle est incohérent.
À copier-coller
import openslide
ref = openslide.OpenSlide('ref.svs')
mov = openslide.OpenSlide('mov.svs')
ref_mpp = float(ref.properties.get('openslide.mpp-x', '0'))
mov_mpp = float(mov.properties.get('openslide.mpp-x', '0'))
scale = mov_mpp / ref_mpp if ref_mpp else None
print('ref_mpp:', ref_mpp, 'mov_mpp:', mov_mpp, 'scale:', scale)
Vérifier que ça marche
- Les repères anatomiques se superposent correctement.
- Le décalage global est faible sur 3 zones de contrôle.
- Les sorties d’alignement sont bien générées.
En cas de problème
- Vérifier que les lames ont des résolutions compatibles.
- Refaire le test sur une zone anatomique simple.