Skip to main content

Outputs

This document describes the outputs generated by the main module of the Aegle pipeline. The outputs are organized into the following files and directories:

  • cell_profiling/: Contains per-patch CSV files summarizing single-cell data:
    • patch-{i}-cell_by_marker.csv: Per-cell marker expression data.
    • patch-{i}-cell_metadata.csv: Morphology and intensity statistics per cell.
  • channel_stats.csv: Summary intensity statistics for each image channel across all patches.
  • extracted_channel_patches.npy: Numpy array of image patches with overlapping regions, prepared for segmentation analysis.
  • original_seg_res_batch.pickle: Original segmentation masks before post-processing or matching.
  • matched_seg_res_batch.pickle: Segmentation masks after matching nuclei to cells, along with matching statistics.
  • patches_metadata.csv: Comprehensive metadata summarizing intensity characteristics and quality checks for each patch.
  • copied_config.yaml: A copy of the pipeline configuration parameters used during execution for reproducibility.

Detailed descriptions of file contents and column definitions are provided in the following section.

Details

cell_profiling/patch-{i}-cell_by_marker.csv

This file contains per-cell marker expression data for each image patch. Columns include:

  • cell_id: Unique identifier for each cell.
  • marker: Mean intensity values for each marker within the cell. Values represent quantified protein expression levels for single-cell analysis.

cell_profiling/patch-{i}-cell_metadata.csv

This file provides cell-level metadata, morphology, and intensity statistics for each image patch:

  • cell_id: Unique identifier corresponding to segmentation labels.
  • Basic morphology:
    • area: Size of the cell in pixels.
    • centroid_x, centroid_y: Spatial coordinates of the cell's center.
    • perimeter: Length of the cell boundary in pixels.
    • convex_area: Area of the convex hull surrounding the cell.
    • axis_major_length, axis_minor_length: Major and minor axes lengths of the cell.
    • eccentricity: Eccentricity of an ellipse fitted to the cell shape.
  • Intensity statistics per marker:
    • marker_cov: Coefficient of Variation (standard deviation divided by mean).
    • marker_laplacian_var: Laplacian variance indicating local intensity variations.
  • Overall statistics:
    • cell_entropy: Shannon entropy summarizing marker intensity distributions within each cell.

channel_stats.csv

Summary statistics for intensity values across each image channel:

  • Channel
  • Min
  • Median
  • Max
  • 95%
  • Mean
  • Std Dev

extracted_channel_patches.npy

Numpy array containing patched images with overlapping regions. Dimensions: (num_patches, patch_size, patch_size, [nucleus, wholecell]).

original_seg_res_batch.pickle

Pickled list of numpy ndarrays containing segmentation masks:

  • cell: Cell segmentation mask, uint16, shape (height, width).
  • nucleus: Nucleus segmentation mask, uint16, shape (height, width).

matched_seg_res_batch.pickle

Pickled list of numpy ndarrays with matched segmentation masks and statistics:

  • cell_matched_mask: Matched cell mask (uint16, shape (height, width)).
  • nucleus_matched_mask: Matched nucleus mask (uint16, shape (height, width)).
  • cell_outside_nucleus_mask: Cell mask excluding nucleus region (uint16, shape (height, width)).
  • matched_fraction: Fraction of pixels successfully matched (float).

patches_metadata.csv

Metadata summarizing each image patch:

  • patch_id
  • height, width
  • nucleus_mean: Mean intensity of nucleus channel.
  • nucleus_std: Standard deviation of nucleus intensity.
  • nucleus_non_zero_perc: Percentage of non-zero pixels in nucleus channel.
  • wholecell_mean: Mean intensity of wholecell channel.
  • wholecell_std: Standard deviation of wholecell intensity.
  • wholecell_non_zero_perc: Percentage of non-zero pixels in wholecell channel.
  • is_empty: Patch identified as empty (nucleus_non_zero_perc < threshold, default: 0.05).
  • is_noisy: Patch identified as noisy (nucleus_mean < threshold, default: 1).
  • is_bad_patch: Logical OR of is_empty and is_noisy.
  • is_informative: Logical negation of is_bad_patch.

codex_patches.pkl (Deprecated)

Pickled object containing the CodexPatches class, which includes information about patch generation parameters and results. This file is used for reproducibility and debugging.