coco_pipe.io.utils ================== .. py:module:: coco_pipe.io.utils .. autoapi-nested-parse:: IO Utilities ============ Helper functions for IO operations. Attributes ---------- .. autoapisummary:: coco_pipe.io.utils.logger coco_pipe.io.utils.mne coco_pipe.io.utils.BIDSPath coco_pipe.io.utils.read_raw_bids Functions --------- .. autoapisummary:: coco_pipe.io.utils._get_mne coco_pipe.io.utils._get_bids_path coco_pipe.io.utils._get_read_raw_bids coco_pipe.io.utils.row_quality_score coco_pipe.io.utils.make_strata coco_pipe.io.utils.sample_indices coco_pipe.io.utils.split_column coco_pipe.io.utils.read_bids_entry coco_pipe.io.utils.load_participants_tsv coco_pipe.io.utils.detect_subjects coco_pipe.io.utils.detect_sessions coco_pipe.io.utils.detect_runs coco_pipe.io.utils.smart_reader coco_pipe.io.utils.default_id_extractor Module Contents --------------- .. py:data:: logger .. py:data:: mne :value: None .. py:data:: BIDSPath :value: None .. py:data:: read_raw_bids :value: None .. py:function:: _get_mne() Lazily import MNE so base IO structures stay lightweight. .. py:function:: _get_bids_path() Lazily import mne-bids' ``BIDSPath``. .. py:function:: _get_read_raw_bids() Lazily import the MNE-BIDS raw reader. .. py:function:: row_quality_score(df: pandas.DataFrame, exclude_cols: Optional[List[str]] = None, count_zero: bool = True) -> pandas.Series Calculate a 'badness' score for each row (NaNs + Infs + Zeros). Lower is better. .. py:function:: make_strata(df: pandas.DataFrame, covariates: List[str], n_bins: int = 5, binning: str = 'quantile') -> pandas.Series Create a single stratification label from multiple covariates. Numeric covariates are binned. .. py:function:: sample_indices(df: pandas.DataFrame, target: str, size_map: Dict[Any, int], rng, replace: bool, prefer_clean: bool, exclude: List[str]) -> pandas.Index Sample indices for each class based on size_map. .. py:function:: split_column(name: str, sep: str, reverse: bool) -> Tuple[str, str] Split a column into (unit, feature) using `sep` and `reverse`. .. py:function:: read_bids_entry(bids_path: Any, is_pre_epoched: bool, is_evoked: bool, mode: str, window_length: Optional[float], stride: Optional[float], event_id: Optional[Union[Dict[str, int], str, List[str]]] = None, tmin: float = -0.2, tmax: float = 0.5, baseline: Optional[Tuple[Optional[float], Optional[float]]] = None) -> Tuple[numpy.ndarray, numpy.ndarray, List[str], float, Optional[numpy.ndarray]] .. py:function:: load_participants_tsv(root: pathlib.Path) -> Dict[str, Dict[str, Any]] Reads participants.tsv and returns dict: {sub_id: {col: val, ...}}. .. py:function:: detect_subjects(root: pathlib.Path) -> List[str] .. py:function:: detect_sessions(root: pathlib.Path, subject: str) -> List[str] .. py:function:: detect_runs(root: pathlib.Path, subject: str, session: Optional[str] = None, task: Optional[str] = None, datatype: str = 'eeg') -> List[str] Detect available runs for a given subject/session/task. .. py:function:: smart_reader(path: pathlib.Path) -> Any .. py:function:: default_id_extractor(path: pathlib.Path) -> str