Visualization

Module contenant les fonctions de visualisation.

normalize_data(data: ndarray, scale: int = 8191) ndarray[source]

Normalisation des données avec prise en compte de l’ordre de grandeur et adaptation des plages.

Règles :
  • Si toutes les valeurs sont dans [0,1], normalisation vers [0, SCALE].

  • Si valeurs négatives et positives, on prend la puissance de 2 la plus proche de max(abs(min), abs(max)) et on transpose vers [0, SCALE].

  • Colonne uniforme : on force une valeur constante de SCALE.

  • Si toutes les valeurs sont positives, on considère 0 comme min et on normalise avec la puissance de 2 la plus proche du max.

Parameters:
  • data (ndarray) – Données à normaliser.

  • scale (int) – Échelle de normalisation

Returns:

Données normalisées.

Return type:

ndarray

get_bins_number(data: ndarray, limits=(30, 300)) int[source]

Calcule un nombre de bin adaptatif pour un histogramme.

Parameters:
  • data (ndarray) – Données à analyser

  • limits – Bornes pour le nombre de bins.

Returns:

Nombre de bins.

Return type:

int

render_hr_image(width: int, height: int, ratio: int, points: ndarray, normalization: bool = True) ndarray[source]

Construit une image Haute résolution en fonction des éléments localisés.

Parameters:
  • width (int) – Largeur de l’image.

  • height (int) – Hauteur de l’image.

  • ratio (int) – Ratio d’agrandissement de l’image.

  • points (ndarray) – Localisations des points.

  • normalization (bool) – Normalisation des valeurs (pour les mettre entre 0 et SCALE).

Returns:

Nouvelle image en uint16 de forme (height*ratio, width*ratio).

Return type:

ndarray

render_tracks_image(width: int, height: int, ratio: int, tracks: DataFrame) ndarray[source]

Construit une image haute résolution (uint16) à partir de trajectoires localisées. Chaque trajectoire est tracée par segments (P0→P1, P1→P2, …) avec une couleur unique.

Colonnes attendues dans tracks :
  • “Track” : identifiant de la trajectoire (int)

  • “Plane” : ordre/plan (int) ; uniquement utilisé pour trier temporellement

  • “X”, “Y” : coordonnées (float, en pixels dans l’image de base)

  • “Color” : intensité à tracer (0..65535). Toute valeur hors bornes est tronquée.

Parameters:
  • width (int) – Largeur de l’image de base.

  • height (int) – Hauteur de l’image de base.

  • ratio (int) – Ratio d’agrandissement de l’image (>=1). Les coordonnées sont multipliées par ce facteur.

  • tracks (DataFrame) – Tableau des points de trajectoires.

Returns:

Nouvelle image en uint16 de forme (height*ratio, width*ratio).

Return type:

ndarray

render_roi(image: ndarray, points: ndarray, roi_size: int, color: list[int]) ndarray[source]

Construit une image RGB à partir d’une image en niveaux de gris et ajoute des contours de ROIs autour des points donnés.

Parameters:
  • image (ndarray) – Image d’entrée en niveaux de gris (numpy array 2D).

  • points (ndarray) – Tableau 2D des coordonnées (X, Y) des points, sous forme de flottants.

  • roi_size (int) – Taille du carré à dessiner autour de chaque point.

  • color (list[int]) – Couleur du contour du ROI en RGB (tuple ou liste de trois valeurs).

Returns:

Image RGB avec les contours des ROIs dessinés.

Return type:

ndarray

plot_histogram(ax: Axes, data: ndarray, title: str, limit: bool = True, kde: bool = True, density: bool = True)[source]

Trace un histogramme des données avec Seaborn, et optionnellement une courbe kernel density estimation.

Parameters:
  • ax (Axes) – Axe sur lequel tracer l’histogramme.

  • data (ndarray) – Données sous forme de tableau numpy.

  • title (str) – Titre de l’histogramme.

  • limit (bool) – Si True, applique la règle des 3 sigmas pour limiter les données.

  • kde (bool) – Si True, superpose une kde gaussienne.

  • density (bool) – Si True, normalise l’histogramme pour afficher une densité de probabilité.

plot_plane_violin(ax: Axes, data: ndarray, title: str)[source]

Trace un graphique type violon pour les données en entrée .

Parameters:
  • ax (Axes) – Axe sur lequel tracer l’histogramme.

  • data (ndarray) – Données à tracer sous forme de tableau numpy.

  • title (str) – Titre du graphique.

plot_plane_heatmap(ax: Axes, data: ndarray, title: str, cmap='magma')[source]

Trace une heatmap montrant la densité des valeurs par plan.

Parameters:
  • ax (Axes) – Axe sur lequel tracer la heatmap.

  • data (ndarray) – Données sous forme de tableau numpy. La première colonne représente les plans, la deuxième, les valeurs.

  • title (str) – Titre du graphique.

  • cmap – Color Map utilisé pour tracer la heatmap (liste des colormaps).