coco_pipe.io.config#

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 coco_pipe.io.load.load_data() and the dataset classes in 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 <hamza.abdelhedi@umontreal.ca>

Classes#

BaseDatasetConfig

!!! abstract "Usage Documentation"

TabularConfig

Configuration for TabularDataset.

BIDSConfig

Configuration for BIDSDataset.

EmbeddingConfig

Configuration for EmbeddingDataset.

DatasetConfig

Master configuration container for IO.

Module Contents#

class coco_pipe.io.config.BaseDatasetConfig(/, **data)#

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

Variables:
  • __class_vars__ – The names of the class variables defined on the model.

  • __private_attributes__ – Metadata about the private attributes of the model.

  • __signature__ – The synthesized __init__ [Signature][inspect.Signature] of the model.

  • __pydantic_complete__ – Whether model building is completed, or if there are still undefined fields.

  • __pydantic_core_schema__ – The core schema of the model.

  • __pydantic_custom_init__ – Whether the model has a custom __init__ function.

  • __pydantic_decorators__ – Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

  • __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.

  • __pydantic_parent_namespace__ – Parent namespace of the model, used for automatic rebuilding of models.

  • __pydantic_post_init__ – The name of the post-init method for the model, if defined.

  • __pydantic_root_model__ – Whether the model is a [RootModel][pydantic.root_model.RootModel].

  • __pydantic_serializer__ – The pydantic-core SchemaSerializer used to dump instances of the model.

  • __pydantic_validator__ – The pydantic-core SchemaValidator used to validate instances of the model.

  • __pydantic_fields__ – A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

  • __pydantic_computed_fields__ – A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

  • __pydantic_extra__ – A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

  • __pydantic_fields_set__ – The names of fields explicitly set during instantiation.

  • __pydantic_private__ – Values of private attributes set on the model instance.

Parameters:

data (Any)

path: pathlib.Path = None#
subjects: int | list[str | int] | None = None#
class coco_pipe.io.config.TabularConfig(/, **data)#

Bases: BaseDatasetConfig

Configuration for TabularDataset.

Parameters:

data (Any)

mode: Literal['tabular'] = 'tabular'#
target_col: str | None = None#
index_col: str | int | None = None#
sep: str = None#
header: int | list[int] | None = 0#
sheet_name: str | int | None = 0#
columns_to_dims: list[str] | None = None#
col_sep: str = '_'#
meta_columns: list[str] | None = None#
clean: bool = False#
clean_kwargs: dict[str, Any] = None#
select_kwargs: dict[str, Any] = None#
class coco_pipe.io.config.BIDSConfig(/, **data)#

Bases: BaseDatasetConfig

Configuration for BIDSDataset.

Parameters:

data (Any)

mode: Literal['bids'] = 'bids'#
task: str | None = None#
session: str | list[str] | None = None#
runs: str | list[str] | None = None#
datatype: str = 'eeg'#
suffix: str | None = None#
loading_mode: str = None#
target_col: str | None = None#
window_length: float | None = None#
stride: float | None = None#
event_id: dict[str, int] | str | list[str] | None = None#
tmin: float = -0.2#
tmax: float = 0.5#
baseline: tuple[float | None, float | None] | None = None#
drop_short_epochs: bool = True#
units: str | None = None#
class coco_pipe.io.config.EmbeddingConfig(/, **data)#

Bases: BaseDatasetConfig

Configuration for EmbeddingDataset.

Parameters:

data (Any)

mode: Literal['embedding'] = 'embedding'#
pattern: str = '*.pkl'#
dims: tuple[str, Ellipsis] = ('obs', 'feature')#
coords: dict[str, list | Any] | None = None#
task: str | None = None#
run: str | None = None#
processing: str | None = None#
class coco_pipe.io.config.DatasetConfig(/, **data)#

Bases: pydantic.BaseModel

Master configuration container for IO.

Parameters:

data (Any)

dataset: TabularConfig | BIDSConfig | EmbeddingConfig = None#