coco_pipe.descriptors ===================== .. py:module:: coco_pipe.descriptors .. autoapi-nested-parse:: Descriptor extraction and the table lifecycle. The descriptor lifecycle has four stages: 1. **extract** — :class:`DescriptorPipeline` turns ``(n_obs, n_channels, n_times)`` arrays into a flat :class:`~coco_pipe.io.structures.DataContainer` of descriptors. 2. **reject** — epoch MAD-outlier rejection via :func:`coco_pipe.io.quality.drop_epoch_outliers` (+ :func:`mad_failures_from_qc` for failure logging). 3. **aggregate** — :func:`build_descriptor_tables` builds per-epoch and group-aggregated subject tables (+ :func:`add_aggregated_band_ratios`). 4. **merge** — :func:`merge_descriptor_tables` concatenates per-shard tables of one table kind; :func:`save_descriptor_table` / :func:`load_descriptor_table` handle on-disk descriptor tables. Submodules ---------- .. toctree:: :maxdepth: 1 /api/coco_pipe/descriptors/configs/index /api/coco_pipe/descriptors/core/index /api/coco_pipe/descriptors/extractors/index /api/coco_pipe/descriptors/io/index /api/coco_pipe/descriptors/naming/index /api/coco_pipe/descriptors/qc/index /api/coco_pipe/descriptors/tables/index /api/coco_pipe/descriptors/validation/index