(self, fids)
| 1605 | self._bem_low_res = _read_surface(low_res_path, on_defects=self._on_defects) |
| 1606 | |
| 1607 | def _setup_fiducials(self, fids): |
| 1608 | _validate_type(fids, (str, dict, list)) |
| 1609 | # find fiducials file |
| 1610 | fid_accurate = None |
| 1611 | if fids == "auto": |
| 1612 | fid_files = _find_fiducials_files(self._subject, self._subjects_dir) |
| 1613 | if len(fid_files) > 0: |
| 1614 | # Read fiducials from disk |
| 1615 | fid_filename = fid_files[0].format( |
| 1616 | subjects_dir=self._subjects_dir, subject=self._subject |
| 1617 | ) |
| 1618 | logger.info(f"Using fiducials from: {fid_filename}.") |
| 1619 | fids, _ = read_fiducials(fid_filename) |
| 1620 | fid_accurate = True |
| 1621 | self._fid_filename = fid_filename |
| 1622 | else: |
| 1623 | fids = "estimated" |
| 1624 | |
| 1625 | if fids == "estimated": |
| 1626 | logger.info("Estimating fiducials from fsaverage.") |
| 1627 | fid_accurate = False |
| 1628 | fids = get_mni_fiducials(self._subject, self._subjects_dir) |
| 1629 | |
| 1630 | fid_accurate = True if fid_accurate is None else fid_accurate |
| 1631 | if isinstance(fids, list): |
| 1632 | fid_coords = _fiducial_coords(fids) |
| 1633 | else: |
| 1634 | assert isinstance(fids, dict) |
| 1635 | fid_coords = np.array( |
| 1636 | [fids["lpa"], fids["nasion"], fids["rpa"]], dtype=float |
| 1637 | ) |
| 1638 | |
| 1639 | self._fid_points = fid_coords |
| 1640 | self._fid_accurate = fid_accurate |
| 1641 | |
| 1642 | # does not seem to happen by itself ... so hard code it: |
| 1643 | self._reset_fiducials() |
| 1644 | |
| 1645 | def _reset_fiducials(self): |
| 1646 | dig_montage = make_dig_montage( |
no test coverage detected