Renderer
Méthodes
Divers
- Renderer.set_size(width: int, height: int, ratio: int)[source]
Mets à jour les tailles pour le rendu
- Renderer.localizations(loc: ndarray, color_mode: int = 0, gaussian: dict[str, Any] | None = None) ndarray[source]
Construit une image Haute résolution (uint16) en fonction des éléments localisés.
- Paramètres:
loc (ndarray) – Position des points à représenter sous forme de tableau 2D de N lignes et au moins 3 colonnes (X, Y, Couleur).
color_mode (int) – Indique si le rendu en cas de superposition additionne les valeurs ou conserve la valeur la plus élevée.
gaussian (dict[str, Any] | None) – Paramètres pour le rendu gaussien loc doit avoir au moins 6 colonnes (X, Y, Couleur, Sigma X, Sigma Y, Theta).
- Renvoie:
Nouvelle image en uint16 de forme (height*ratio, width*ratio).
- Type renvoyé:
Tools
- static Renderer.add_colors_to_localizations(loc: DataFrame, col: str = '', max_value: float = 0) DataFrame[source]
Construit un tableau numpy contenant les coordonnées des localisations et une valeur scalaire associée à utiliser comme intensité/couleur.
Le tableau retourné est de forme
(N, 3)et contient, dans l’ordre :X,YetColor.Les colonnes
XetYsont toujours extraites du DataFrame.La colonne
Colorprovient decolsi elle existe.Si
colest absente, la colonneColorest remplie avec la valeur 1.Si la valeur minimale de
Colorest négative, toutes les valeurs sont décalées afin que le minimum devienne nul. \(C_{Shifted} = C - C_{min}\)Si
max_value > 0, les valeurs deColorsont normalisées linéairement dans l’intervalle[0, max_value]. \(C_{Norm} = C_{Shifted} \times \frac{C}{C_{max}}\)
La fonction ne modifie pas le DataFrame d’origine.
- Paramètres:
- Renvoie:
Dataframe avec la colonne Color ajouté.
- Lève:
KeyError – Si les colonnes
XouYsont absentes.- Type renvoyé:
Note
La normalisation n’est appliquée que si le maximum de la colonne
Coloraprès décalage est strictement positif. Cela évite une division par zéro lorsque toutes les valeurs sont nulles.
- static Renderer.add_colors_to_tracks(trc: DataFrame, source: str = '', max_value: float = 0) DataFrame[source]
Construit un tableau numpy contenant les numéros, plans et coordonnées des trajectoires ainsi qu’une valeur scalaire associée à utiliser comme intensité/couleur.
Le tableau retourné est de forme
(N, 5)et contient, dans l’ordre :Track,Plane,X,YetColor.Les colonnes
Track,Plane,X,YetIntegrated Intensitysont toujours extraites du DataFrame.La colonne
Colorest défini selon la source, si la source n’est pas prévu, la colonneColorest remplie avec la valeur 1.Si la valeur minimale de
Colorest négative, toutes les valeurs sont décalées afin que le minimum devienne nul. \(C_{Shifted} = C - C_{min}\)Si
max_value > 0, les valeurs deColorsont normalisées linéairement dans l’intervalle[0, max_value]. \(C_{Norm} = C_{Shifted} \times \frac{C}{C_{max}}\)
- Paramètres:
trc (DataFrame) – DataFrame contenant au minimum les colonnes
Track,Plane,X,YetIntegrated Intensity.source (str) – Type de données à utiliser pour calculer la composante
Color.max_value (float) – Valeur maximale cible pour la normalisation. Si
max_value ≤ 0, aucune normalisation n’est appliquée.
- Renvoie:
Tableau numpy de forme
(N, 5)de typefloat64contenantTrack,Plane,X,YetColor.- Lève:
KeyError – Si les colonnes
XouYsont absentes.- Type renvoyé:
Note
La normalisation n’est appliquée que si le maximum de la colonne
Coloraprès décalage est strictement positif. Cela évite une division par zéro lorsque toutes les valeurs sont nulles.
- static Renderer.draw_line(img: ndarray, x0: int, y0: int, x1: int, y1: int, color: uint16)[source]
Trace une ligne discrète entre deux points dans une image 2D en utilisant l’algorithme de Bresenham (version entière, sans flottants).
La ligne est rasterisée en parcourant les pixels entre les coordonnées (x0, y0) et (x1, y1), avec une gestion robuste de toutes les pentes (horizontales, verticales, diagonales, fortes et faibles).
Pour chaque pixel visité, la valeur est mise à jour uniquement si la nouvelle couleur est strictement supérieure à la valeur déjà présente. Cela permet de conserver l’intensité maximale (utile par exemple pour des accumulations de tracés ou des cartes d’intensité).
- Paramètres:
img (ndarray) – Image 2D (numpy.ndarray) modifiée in-place. Doit être indexable sous la forme
img[y, x].x0 (int) – Coordonnée X du point de départ.
y0 (int) – Coordonnée Y du point de départ.
x1 (int) – Coordonnée X du point d’arrivée.
y1 (int) – Coordonnée Y du point d’arrivée.
color (uint16) – Intensité à écrire dans les pixels traversés.
- static Renderer.draw_gaussian_2d(img: ndarray, x: ndarray | float, y: ndarray | float, colors: ndarray | float, sx: ndarray | float, sy: ndarray | float, theta: ndarray | float, color_mode: int = 0) ndarray[source]
Dessine des gaussiennes 2D anisotropes dans une image.