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.

Paramètres:
  • data (DataFrame) – DataFrame à modifier.

  • columns (list[str]) – Colonnes à modifier.

  • numeric_type (str) – Type à adopter.

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:
  • data (DataFrame) – Le DataFrame à réorganiser.

  • columns (list[str]) – Liste des noms de colonnes à placer en premier.

  • remaining (bool) – Si True, ajoute les colonnes non spécifiées après celles définies dans columns.

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é:

DataFrame

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.

Paramètres:
Type renvoyé:

DataFrame

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: DataFrame contenant les métadonnées :raises ValueError: Si le nombre d’éléments ne correspond au nombre attendu pour le fichier meta.

Paramètres:

data (list | ndarray)

Type renvoyé:

DataFrame

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:

DataFrame où 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é:

DataFrame

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:

DataFrame parsé

Type renvoyé:

DataFrame

parse_localization_for_tracking(data: DataFrame) ndarray[source]

Parsing du résultat de la localisation pour le suivi au sein de la DLL.

Paramètres:

data (DataFrame) – Donnée en entrée récupérées depuis la localisation.

Renvoie:

ndarray transformé pour le suivi.

Type renvoyé:

ndarray