Feature extraction¶
Choose feature families per channel, then merge their results using the
field/cell identity. Morphology uses [None] as its channel selection.
ic.batch_calculate_features(
[([None], "morphological"),
(["C2", "C3"], "profiling"),
(["C3"], "objects")],
all_data=False, reset=True, max_mesh_size=1000,
)
features = ic.merge_dataframes(discard_morphological_nan=True)
Feature families¶
morphologicalmeasures the cell geometry and inverse-phase profiles.profilingmeasures background-subtracted channel signal along or across the cell, plus texture.objectsrequires detected object contours for that channel.membraneuses detected-object/contour data to sample membrane-associated signal around a selected contour.svmsupplies phase and geometry features for quality curation.
colocalization exists in the source but is incomplete. The generic dispatch
can see other helper names too; only the implemented feature families above are
documented as workflow choices. The older phase mention in a docstring does
not correspond to an implemented feature method.
Profiles and texture¶
Axial profiles sample around the midline. Mesh profiles average intensity across
the width at successive positions. normalize_per_cell performs min–max
normalization within that profile; a constant profile becomes zeros. This
normalization removes amplitude differences between cells and should not be
interpreted as an absolute fluorescence measurement.
Radial intensity distribution samples successive eroded contours and uses the cropped image intensity range for normalization. GLCM descriptors use quantized image intensities and the implementation’s background masking and matrix settings. They depend on acquisition and preprocessing as well as signal structure.
Optional data and failure behavior¶
all_data is method-specific. In the current source it gates detailed
per-object arrays for objects; it does not suppress the profiling or membrane
arrays. The Feature dictionary identifies conditional outputs.
Cells above max_mesh_size are removed from the image’s cell list. A failure
in an individual feature calculation sets its discard state for that pass and
records a cell error; the corresponding feature row is omitted. Other feature
families can still retain a row for that identity, so a merged table can contain
missing channel quantities. See Processing summaries and logging.
Repeated calculations¶
reset=True clears all feature tables. reset=False retains other pairs,
but recalculating an existing method/channel pair replaces that pair’s table.
Every feature calculation invalidates the previously merged table. Merge again
before export or downstream correlation calculations. The five-channel example
uses two passes to apply C2 signal shifting separately from C3–C5 measurements.