| 152 | self.mod_ged_callable = _xdawn_mod |
| 153 | |
| 154 | def _validate_params(self, X): |
| 155 | _validate_type(self.n_components, int, "n_components") |
| 156 | |
| 157 | # reg is validated in _regularized_covariance |
| 158 | |
| 159 | if self.signal_cov is not None: |
| 160 | if isinstance(self.signal_cov, Covariance): |
| 161 | self.signal_cov = self.signal_cov.data |
| 162 | elif not isinstance(self.signal_cov, np.ndarray): |
| 163 | raise ValueError("signal_cov should be mne.Covariance or np.ndarray") |
| 164 | if not np.array_equal(self.signal_cov.shape, np.tile(X.shape[1], 2)): |
| 165 | raise ValueError( |
| 166 | "signal_cov data should be of shape (n_channels, n_channels)" |
| 167 | ) |
| 168 | _validate_type(self.cov_method_params, (abc.Mapping, None), "cov_method_params") |
| 169 | _validate_type(self.info, (Info, None), "info") |
| 170 | |
| 171 | def fit(self, X, y=None): |
| 172 | """Fit Xdawn spatial filters. |