coco_pipe.io.config =================== .. py:module:: coco_pipe.io.config .. autoapi-nested-parse:: Configuration Schemas for IO ============================ Pydantic models for verifying dataset configurations. Classes ------- TabularConfig Configuration for tabular data (CSV, Excel). BIDSConfig Configuration for BIDS-compliant datasets. EmbeddingConfig Configuration for pre-computed embeddings. DatasetConfig Union container for any dataset configuration. These schemas mirror the keyword arguments accepted by :func:`coco_pipe.io.load.load_data` and the dataset classes in :mod:`coco_pipe.io.dataset`. Only serializable, scalar parameters live here; callables and in-memory tables (``reader``, ``id_fn``, ``subject_metadata_df``, ``subject_key``) are passed to ``load_data`` directly and are intentionally not part of the config schema. Author: Hamza Abdelhedi Classes ------- .. autoapisummary:: coco_pipe.io.config.BaseDatasetConfig coco_pipe.io.config.TabularConfig coco_pipe.io.config.BIDSConfig coco_pipe.io.config.EmbeddingConfig coco_pipe.io.config.DatasetConfig Module Contents --------------- .. py:class:: BaseDatasetConfig(/, **data) Bases: :py:obj:`pydantic.BaseModel` !!! abstract "Usage Documentation" [Models](../concepts/models.md) A base class for creating Pydantic models. :ivar __class_vars__: The names of the class variables defined on the model. :ivar __private_attributes__: Metadata about the private attributes of the model. :ivar __signature__: The synthesized `__init__` [`Signature`][inspect.Signature] of the model. :ivar __pydantic_complete__: Whether model building is completed, or if there are still undefined fields. :ivar __pydantic_core_schema__: The core schema of the model. :ivar __pydantic_custom_init__: Whether the model has a custom `__init__` function. :ivar __pydantic_decorators__: Metadata containing the decorators defined on the model. This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1. :ivar __pydantic_generic_metadata__: A dictionary containing metadata about generic Pydantic models. The `origin` and `args` items map to the [`__origin__`][genericalias.__origin__] and [`__args__`][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the `parameter` item maps to the `__parameter__` attribute of generic classes. :ivar __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models. :ivar __pydantic_post_init__: The name of the post-init method for the model, if defined. :ivar __pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel]. :ivar __pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model. :ivar __pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model. :ivar __pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. :ivar __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects. :ivar __pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] is set to `'allow'`. :ivar __pydantic_fields_set__: The names of fields explicitly set during instantiation. :ivar __pydantic_private__: Values of private attributes set on the model instance. .. py:attribute:: path :type: pathlib.Path :value: None .. py:attribute:: subjects :type: int | list[str | int] | None :value: None .. py:class:: TabularConfig(/, **data) Bases: :py:obj:`BaseDatasetConfig` Configuration for TabularDataset. .. py:attribute:: mode :type: Literal['tabular'] :value: 'tabular' .. py:attribute:: target_col :type: str | None :value: None .. py:attribute:: index_col :type: str | int | None :value: None .. py:attribute:: sep :type: str :value: None .. py:attribute:: header :type: int | list[int] | None :value: 0 .. py:attribute:: sheet_name :type: str | int | None :value: 0 .. py:attribute:: columns_to_dims :type: list[str] | None :value: None .. py:attribute:: col_sep :type: str :value: '_' .. py:attribute:: meta_columns :type: list[str] | None :value: None .. py:attribute:: clean :type: bool :value: False .. py:attribute:: clean_kwargs :type: dict[str, Any] :value: None .. py:attribute:: select_kwargs :type: dict[str, Any] :value: None .. py:class:: BIDSConfig(/, **data) Bases: :py:obj:`BaseDatasetConfig` Configuration for BIDSDataset. .. py:attribute:: mode :type: Literal['bids'] :value: 'bids' .. py:attribute:: task :type: str | None :value: None .. py:attribute:: session :type: str | list[str] | None :value: None .. py:attribute:: runs :type: str | list[str] | None :value: None .. py:attribute:: datatype :type: str :value: 'eeg' .. py:attribute:: suffix :type: str | None :value: None .. py:attribute:: loading_mode :type: str :value: None .. py:attribute:: target_col :type: str | None :value: None .. py:attribute:: window_length :type: float | None :value: None .. py:attribute:: stride :type: float | None :value: None .. py:attribute:: event_id :type: dict[str, int] | str | list[str] | None :value: None .. py:attribute:: tmin :type: float :value: -0.2 .. py:attribute:: tmax :type: float :value: 0.5 .. py:attribute:: baseline :type: tuple[float | None, float | None] | None :value: None .. py:attribute:: drop_short_epochs :type: bool :value: True .. py:attribute:: units :type: str | None :value: None .. py:class:: EmbeddingConfig(/, **data) Bases: :py:obj:`BaseDatasetConfig` Configuration for EmbeddingDataset. .. py:attribute:: mode :type: Literal['embedding'] :value: 'embedding' .. py:attribute:: pattern :type: str :value: '*.pkl' .. py:attribute:: dims :type: tuple[str, Ellipsis] :value: ('obs', 'feature') .. py:attribute:: coords :type: dict[str, list | Any] | None :value: None .. py:attribute:: task :type: str | None :value: None .. py:attribute:: run :type: str | None :value: None .. py:attribute:: processing :type: str | None :value: None .. py:class:: DatasetConfig(/, **data) Bases: :py:obj:`pydantic.BaseModel` Master configuration container for IO. .. py:attribute:: dataset :type: TabularConfig | BIDSConfig | EmbeddingConfig :value: None