Astigmatism3D
Fichier contenant des fonctions lié à l’astigmatisme 3D (estimation de la position axiale en fonction des écarts-types sur X et Y).
- z_from_planes(planes: ndarray, z_min: float, z_max: float) ndarray[source]
Estime une position Z (en unités physiques) à partir d’indices de plans.
Les indices de plans sont supposés répartis linéairement entre
z_minetz_max: -min(planes)⇾z_min-max(planes)⇾z_max- valeurs intermédiaires interpolées linéairement.- Paramètres:
- Renvoie:
Tableau NumPy, de même forme que
planes, contenant les valeurs de Z estimées.- Type renvoyé:
- z_from_step(n_planes: int, z_step: float, center: bool = True) ndarray[source]
Estime les positions Z (en unités physiques) pour une pile de plans équidistants.
- Paramètres:
- Renvoie:
Tableau NumPy contenant les valeurs de Z estimées.
- Type renvoyé:
- remove_multi_loc(loc: DataFrame) DataFrame[source]
Supprime les localisations multiples par plan en conservant, pour chaque plan ambigu, la localisation la plus proche de la position moyenne estimée à partir des plans ne contenant qu’une seule localisation.
- Le principe est le suivant :
si un plan ne contient qu’une seule localisation, celle-ci est conservée ;
si un plan contient plusieurs localisations, seule la localisation la plus proche de la moyenne
(X, Y);si aucun plan ne contient une unique localisation, la désambiguïsation n’est pas possible de manière fiable et le DataFrame d’origine est renvoyé.
- sigma_model(model: ndarray, z: ndarray, pixel_size: float, sampling: float = 1) ndarray[source]
Modèle astigmatique sigma(z).
- Paramètres:
model (ndarray) – Modèle astigmatique de forme (2, 5) : paramètres X puis Y, chaque ligne = [Z0, W, C3, C4, A].
z (ndarray) – Ensemble des Z à utiliser pour trouver le sigma en fonction du modèle.
pixel_size (float) – Taille des pixels en nanomètres.
sampling (float) – Facteur d’agrandissement (les fichiers de localisation sauvegardés le sont avant agrandissement donc à laisser à 1).
- Renvoie:
Tableau NumPy contenant les valeurs de sigma en fonction de Z pour le modèle.
- Type renvoyé:
- model_validity(dataset: ndarray, model: ndarray, pixel_size: float, sampling: float = 1) dict[source]
Calcule des métriques d’erreur entre (Sx, Sy) observés et (Sx, Sy) prédits par le modèle aux mêmes positions Z.
RMSE (Root Mean Square Error) : racine de la moyenne des erreurs quadratiques. Mesure l’erreur typique en pénalisant davantage les grandes erreurs. Modèle parfait : RMSE = 0 (en pratique, proche de l’écart-type du bruit si les données sont bruitées).
MAE (Mean Absolute Error) : moyenne des erreurs absolues. Mesure l’erreur moyenne en valeur absolue, moins sensible aux outliers que le RMSE. Modèle parfait : MAE = 0 (en pratique, proche de l’amplitude moyenne du bruit).
R² (coefficient de détermination) : fraction de la variance des observations expliquée par le modèle. Modèle parfait : R² = 1.0. Un R² proche de 0 indique que le modèle n’explique pas mieux que la moyenne. Note : R² peut être négatif si le modèle est très mauvais.
- Paramètres:
dataset (ndarray) – Tableau (N, 3) contenant les colonnes [Sx, Sy, Z] (sigmas en pixels, Z en unités cohérentes avec le modèle).
model (ndarray) – Modèle astigmatique de forme (2, 5) : paramètres X puis Y, chaque ligne = [Z0, W, C3, C4, A].
pixel_size (float) – Taille pixel dans les mêmes unités que Z (par ex. nm), utilisée dans le calcul de sigma.
sampling (float) – Facteur d’échantillonnage (adimensionnel) appliqué dans le calcul de sigma (laisser à 1).
- Renvoie:
Dictionnaire de métriques : RMSE/MAE (en pixels) et R² (adimensionnel) pour X, Y et global.
- Type renvoyé:
- model_projection_validity(dataset: ndarray, model: ndarray, z_max: float, n_curve: int, pixel_size: float, sampling: float = 1) dict[source]
Évalue la validité d’un modèle astigmatique pour l’estimation de Z en projetant les observations (SigmaX, SigmaY) sur la courbe modèle.
Le Z estimé correspond au point de la courbe le plus proche dans le plan (SigmaX, SigmaY). Les métriques retournées quantifient à la fois la précision axiale et la cohérence des données avec le modèle.
RMSE_Z (Root Mean Square Error) : Erreur quadratique moyenne sur Z. Mesure la précision axiale typique. Modèle parfait (sans bruit) : RMSE_Z = 0.
MAE_Z (Mean Absolute Error) : Erreur moyenne absolue sur Z, plus robuste aux outliers que le RMSE. Modèle parfait : MAE_Z = 0.
P95_Z : 95e percentile de ΔZ. Indique une borne haute réaliste de l’erreur axiale pour la majorité des localisations.
Bias_Z : Moyenne de ΔZ. Reflète un biais systématique du modèle. Modèle parfait : Bias_Z = 0.
Std_Z : Écart-type de ΔZ. Mesure la dispersion de l’erreur axiale autour du biais.
Mean_dist_px : Distance moyenne (en pixels) des points observés à la courbe modèle dans l’espace (SigmaX, SigmaY). Sert de score de cohérence / confiance.
P95_dist_px : 95e percentile de la distance à la courbe. Utile pour définir un seuil de rejet des estimations peu fiables.
- Paramètres:
dataset (ndarray) – Tableau (N, 3) contenant les colonnes [SigmaX, SigmaY, Z] (sigmas en pixels, Z dans des unités cohérentes avec le modèle).
model (ndarray) – Modèle astigmatique de forme (2, 5) : paramètres X puis Y, chaque ligne = [Z0, W, C3, C4, A].
z_max (float) – Valeur maximale de Z (le modèle est évalué sur [-z_max, +z_max]).
n_curve (int) – Nombre de points d’échantillonnage de la courbe modèle en Z. Doit être suffisamment grand pour éviter une quantification de Z.
pixel_size (float) – Taille du pixel dans les mêmes unités que Z (ex. nm).
sampling (float) – Facteur d’échantillonnage (adimensionnel) utilisé dans le modèle de sigma (généralement égal à 1).
- Renvoie:
Dictionnaire de métriques décrivant la précision axiale (en unités de Z) et la cohérence des données avec le modèle (distances en pixels).
- Type renvoyé: