itasc.contact_analysis.shape

Shape compute core: per-object morphology + relational nucleus-vs-cell shape.

The headless backend for the shape quantifiers. compute_object_shape() runs skimage.measure.regionprops() over any tracked-label stack (cell or nucleus) and returns a tidy column-major table; compute_relational_table() pairs each nucleus with its cell and emits relational quantities. Both compute in memory — the aggregate stage pools the tables, nothing is persisted per position. No Qt / napari import, so scripts and the standalone wheel can use it.

itasc.contact_analysis.shape.compute_object_shape(label_path, *, pixel_size_um, object_key='cell_id')[source]

Per-object shape descriptors for every frame, as a column-major table.

Columns: frame, object_key, then DESCRIPTOR_COLUMNS.

Return type:

dict[str, ndarray]

Parameters:
itasc.contact_analysis.shape.compute_relational_table(cell_labels_path, nucleus_labels_path, *, pixel_size_um)[source]

The relational per-(frame, id) table, computed in memory (no file written).

Return type:

dict[str, ndarray]

Parameters:

Submodules

core

Compute a per-object, per-frame shape table — label-agnostic.

relational

Compute the relational nucleus-vs-cell shape table.