Habitat Spec component catalog ============================== **Reference** chooser for registered ``Spec`` names. Walk-throughs stay in the Habitat Guide (:doc:`../examples/index`). This page lists every built-in name, constructor parameter, and the Python / YAML twin. Concept and embedding: :doc:`../tutorial/habitat_analysis` · :doc:`../examples/habitat_atomic_ops`. The gallery scripts (one-step, two-step, direct-pooling) show **one** worked :class:`~habit.spec.HabitatSpec`. This page is the chooser from that example outward: which registered names exist for each stage, what each parameter means, and how to write the same choice in Python and YAML. When a recipe shows ``Spec("raw")`` or ``Spec("kmeans")``, look up that stage below. Parameter tables are generated at Sphinx build time from each component constructor. Do not copy them into notebooks — look names and constructor signatures up at runtime:: from habit.plugins import list_plugins from habit.spec import parse_feature_expression from habit.voxel_features import RawVoxelFeatures, VoxelFeatureExtractorRegistry print([info.name for info in list_plugins("voxel_feature_extractor")]) print(VoxelFeatureExtractorRegistry.constructor_signature("raw")) voxel = VoxelFeatureExtractorRegistry.create("raw", modality="T1") voxel = RawVoxelFeatures(modality="T1") Full live catalog (every domain): :doc:`../api/plugins`. How a ``HabitatSpec`` is assembled ---------------------------------- A habitat study is an **ordered list of stages**. Each :class:`~habit.spec.Stage` is a label plus a :class:`~habit.spec.Spec`. A leaf is one extractor on one series (section 1A). Combining series or families is a tree from :func:`~habit.spec.parse_feature_expression` (section 1B):: Stage("