Parsing
Fichier contenant des fonctions pour parser les entrées et sorties des DLLs externes.
- apply_dataframe_type(data: DataFrame, columns: list[str], numeric_type: str = 'int32')[source]
Force les colonnes en paramètres à adopter un type numérique. Vérfie la présence des colonnes avant la transformation pour éviter les problèmes et préserve les NaN s’ils sont présents.
- rearrange_dataframe_columns(data: DataFrame, columns: list[str], remaining: bool = True) DataFrame[source]
Réorganise les colonnes d’un DataFrame en mettant certaines en premier, avec l’option d’ajouter les colonnes restantes dans leur ordre d’origine.
- Paramètres:
- Renvoie:
Un nouveau DataFrame avec les colonnes réorganisées.
- Lève:
ValueError – Si une colonne spécifiée dans columns n’existe pas dans data.
- Type renvoyé:
- log10_dataframe(data: DataFrame, columns: list[str]) DataFrame[source]
Applique un log en base 10 sur certaines colonnes du dataframe (remplace par Nan les valeurs inférieures ou égales à 0). :param data: Dataframe à modifier :param columns: Colonnes à modifier :return: Dataframe avec les colonnes ayant été modifiées.
- get_meta(data: list | ndarray) DataFrame[source]
Créer le Dataframe pour les informations meta (dimensions du fichier et calibration). :param data: Liste des informations en entrée :return:
DataFramecontenant les métadonnées :raises ValueError: Si le nombre d’éléments ne correspond au nombre attendu pour le fichier meta.
- parse_irregular_array(data: ndarray) DataFrame[source]
Parsing du résultat de la DLL PALM.
Entrée : un tableau 1D où chaque bloc est encodé comme : [L, x0, x1, …, x{L-1}, L2, y0, y1, …, …] Le parsing s’arrête dès qu’un L ≤ 0 est rencontré.
- Règles :
Le premier élément d’un bloc (L) donne le nombre d’éléments qui suivent pour ce bloc.
Les longueurs négatives ou nulles (L ≤ 0) signalent la fin du flux.
Les blocs tronqués (pas assez d’éléments après L) lèvent une
ValueError.Les valeurs des blocs (sans L) sont retournées dans le DataFrame.
Les lignes n’ayant pas le même nombre de colonnes sont complétées par NaN.
- Paramètres:
data (ndarray) – Données 1D récupérées depuis la DLL PALM. Doit être indexable et de dimension 1.
- Renvoie:
DataFrameoù chaque ligne correspond à un bloc et les colonnes contiennent les valeurs du bloc, complétées par NaN.- Lève:
ValueError – Entrée invalide (nombre de dimensions ou taille finale incorrecte)
- Type renvoyé:
- parse_result(data: ndarray, file_type: str = 'Localization', is_log: bool = False, fit_mode: int = 0) DataFrame[source]
Parsing du résultat de la DLL PALM.
- Pour les localisations et les trajectoires, on a un tableau 1D de grande taille en entrée :
On le découpe en tableau 2D à 13 colonnes (
N_SEGMENTS). La taille du tableau est vérifiée et tronquée si nécessaire.On le transforme en dataframe avec les colonnes définies par SEGMENTS.
On supprime les lignes remplies de 0 et de -1. Un test sur les colonnes X ou Y strictement positif suffit (le SigmaX et SigmaY peuvent être à 0).
Pour les calculs sur trajectoire, on a un tableau 1D représentant un tableau 2D irrégulier (avec un nombre de colonnes non constant (
parse_irregular_array()).- Paramètres:
data (ndarray) – Données en entrée récupérées depuis la DLL PALM.
file_type (str) – Type de fichier à parser (Localization, Tracking, Astigmatism 3D Model, MSD, Instant diffusion, Fit)
is_log (bool) – Applique un logarithme sur le résultat (si nécessaire, pour les calculs sur trajectoires).
fit_mode (int) – Mode d’ajustement (si nécessaire, pour les calculs sur trajectoires).
- Renvoie:
DataFrameparsé- Type renvoyé: