######## Scaffold ######## :class:`bsb:bsb.core.Scaffold` is the main object of the BSB infrastructure (see the :doc:`/getting-started/top-level-guide` for an introduction to this class). Properties ---------- The Scaffold object tights together the network description of the ``Configuration`` with the data stored in the :class:`bsb:bsb.storage.Storage`. You can access the latter classes with respectively the :attr:`scaffold.configuration ` and the :attr:`scaffold.storage ` attributes. Scaffold also provides a direct access to all of its main configuration components as class attributes: - :attr:`scaffold.network ` -> :class:`bsb:bsb.config._config.NetworkNode` - :attr:`scaffold.regions ` -> :class:`bsb:bsb.topology.region.Region` - :attr:`scaffold.partitions ` -> :class:`bsb:bsb.topology.partition.Partition` - :attr:`scaffold.cell_types ` -> :class:`bsb:bsb.cell_types.CellType` - :attr:`scaffold.morphologies ` -> :class:`bsb:bsb.morphologies.Morphology` - :attr:`scaffold.morphologies ` -> :class:`bsb:bsb.cell_types.CellType` - :attr:`scaffold.placement ` -> :class:`bsb:bsb.placement.strategy.PlacementStrategy` - :attr:`scaffold.connectivity ` -> :class:`bsb:bsb.connectivity.strategy.ConnectionStrategy` - :attr:`scaffold.simulations ` -> :class:`bsb:bsb.simulation.simulation.Simulation` - :attr:`scaffold.after_placement ` -> :class:`bsb:bsb.postprocessing.AfterPlacementHook` - :attr:`scaffold.after_connectivity ` -> :class:`bsb:bsb.postprocessing.AfterConnectivityHook` There are also a list of methods starting with ``get_`` that allows you to retrieve these components with some additional filtering parameters (:meth:`get_cell_types `, :meth:`get_placement `, :meth:`get_placement_of `, :meth:`get_connectivity `) Workflow methods ---------------- Scaffold contains also all the functions required to run the reconstruction pipeline, and to simulate the resulting networks. You can run the full reconstruction with the :meth:`compile ` method or any of its sub-step: - Topology creation / update: :meth:`resize ` - Cell placement: :meth:`run_placement ` - After placement hook: :meth:`run_after_placement ` - Cell connectivity: :meth:`run_connectivity ` - After placement hook: :meth:`run_after_connectivity ` - Run a simulation: :meth:`run_simulation ` Similarly, you can clear the results of the reconstruction stored so far with the :meth:`clear ` or any of its sub-step: - Cell placement: :meth:`clear_placement ` - Cell connectivity: :meth:`clear_connectivity ` Get Stored data --------------- You can also inspect the data produced during the reconstruction from the storage: - :class:`bsb:bsb.storage.interfaces.PlacementSet` from :meth:`get_placement_set `, :meth:`get_placement_sets ` - :class:`bsb:bsb.storage.interfaces.ConnectivitySet` from :meth:`get_connectivity_set `, :meth:`get_connectivity_sets `