playnano.analysis.utils.frames module

Frame-based post-processing helpers.

E.g. summarize per-frame statistics or produce histograms.

playnano.analysis.utils.frames.frame_summary_to_dataframe(features_per_frame: Sequence[Sequence[dict]]) DataFrame[source]

Build a DataFrame with one row per frame.

Summarises number of features, total area, mean intensity, etc.

Parameters:

features_per_frame (list of lists of dict) – As returned by FeatureDetectionModule.run()[“features_per_frame”].

Returns:

Columns:
  • frame_index (int)

  • n_features (int)

  • total_area (int)

  • mean_area (float)

  • mean_intensity (float)

Return type:

pd.DataFrame

playnano.analysis.utils.frames.plot_frame_histogram(df: DataFrame, column: str, ax: Axes | None = None, save_to: Path | None = None, bins: int = 20) Axes[source]

Plot a histogram of a per-frame summary metric.

Parameters:
  • df (pandas.DataFrame) – As returned by frame_summary_to_dataframe.

  • column (str) – Which column to histogram (e.g. ‘n_features’).

  • ax (matplotlib Axes, optional)

  • save_to (Path, optional)

  • bins (int) – Number of histogram bins.

Returns:

ax

Return type:

matplotlib Axes