itasc.contact_analysis.quantifiers.signed_contact_length

Signed-contact-length quantifier — signed T1 junction lengths for the potential.

A contacts-derived pooled quantity: compute_object_table() returns the signed central-junction length of each T1 event (negative on the losing side, positive on the gaining side) in memory (no per-position artifact). Pooled and Boltzmann-inverted downstream these reproduce the double-well potential. Lengths are in µm when the position’s pixel size resolves, else pixels. The contact_type transition label is normalized here (blank → "unlabelled") so a group axis never sees an empty string.

Classes

SignedContactLengthQuantifier()

Per-T1-event signed central junction length (the potential's samples).

class itasc.contact_analysis.quantifiers.signed_contact_length.SignedContactLengthQuantifier[source]

Bases: Quantifier

Per-T1-event signed central junction length (the potential’s samples).

quantity_id: ClassVar[str] = 'signed_contact_length'

Stable key; an empty value marks an intermediate (non-registered) base.

display_name: ClassVar[str] = 'Signed contact length'

Human-readable label shown wherever a quantity is selected.

requires: ClassVar[tuple[str, ...]] = ('contact_analysis_path',)

PositionInputs field names this quantifier needs to build.

table_keys: ClassVar[tuple[str, ...]] = ('frame', 't1_event_id', 'role', 'contact_type')

The index columns of this quantifier’s object_table — its natural grain (e.g. ("frame", "cell_id")). A non-empty value marks the quantity as aggregated: itasc.contact_analysis.shape_tables pools it across positions into a table named by quantity_id, keyed on these columns. Empty ⇒ not aggregated into an index-keyed table (e.g. contacts). Value columns are namespaced by quantity_id so a later joined view across tables never has colliding names.

compute_object_table(inputs, *, params=None)[source]

The pooled tidy table for one position, computed directly from inputs.

A pooled quantifier (one that declares table_keys) implements this: it returns the same column-major table that object_table used to return after a disk round-trip, but never touches disk. None when this position yields no rows. Producers (contacts) are not pooled and do not implement it. params carries the shared build knobs (e.g. fov_area_mm2) for the quantifiers that opt in; per-position values (pixel size, frame interval) arrive via inputs.