Skip to content

Conversation

@hoechenberger
Copy link
Member

@hoechenberger hoechenberger commented Apr 15, 2022

Several (all?) Windows users attending a workshop @agramfort and I hosted yesterday were running into issues when working with BEM surfaces we had shared with them as part of a FreeSurfer subjects directory.

The reason was that transferring the symlinks turned out to be problematic, and thus, users ended up with invalid files. They had to manually copy over the BEM surfaces from the bem/flash or bem/watershed (?) directories to bem/ and rename them.

Since our collaborators are working in highly heterogenous settings (macOS, Linux, Windows), this is indeed a huge problem for data sharing, and it's not obvious at all to a common user WHY things are not working as expected.

I therefore here propose an API change without deprecation cycle, changing the default value of the make_*_bem() functions' copy parameter from False to True, to always create a copy by default (and not a symlink).

I'd further like to propose we change our sample data accordingly, getting rid of the symbolic links for the BEM surfaces there as well.

I'm happy to discuss this at today's office hour.

cc @agramfort

Several (all?) Windows users attenting a workshop we hosted yesterday
were running into issues when working with BEM surfaces we had shared
with them as part of a FreeSurfer subjects directory.

The reason was that transferring the symlinks turned out to be
problematic, and this users ended up with invalid files. They had to
manually copy over the BEM surfaces from the `bem/flash` or
`bem/watershed` (?) directories to `bem/` and rename them.

Since our collaborators are working in highly heterogenous settings
(macOS, Linux, Windows), this is indeed a huge problem for data
sharing, and it's not obvious at all to a common user WHY things are
not working as expected.

I therefore here propose an API change without deprecation cycle,
changing the default value of the `make_*_bem()` functions' `copy`
parameter from `False` to `True`, to always create a copy by default
(and not a symlink).

I'd further like to propose we change our sample data accordingly,
getting rid of the symbolic links for the BEM surfaces there as well.

I'm happy to discuss this at today's office hour.

cc @agramfort
Copy link
Member

@agramfort agramfort left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@hoechenberger hoechenberger marked this pull request as ready for review April 15, 2022 12:12
@hoechenberger
Copy link
Member Author

This is ready for review.

I would even opt for backporting this to the 1.0 branch.

@hoechenberger hoechenberger added API backport-candidate on-merge: backport to maint/1.11 labels Apr 15, 2022
@hoechenberger
Copy link
Member Author

I tested this locally and it seems to be doing the Right Thing.

@larsoner larsoner merged commit df2a581 into mne-tools:main Apr 15, 2022
@hoechenberger hoechenberger deleted the surf-copy branch April 15, 2022 13:45
@hoechenberger hoechenberger changed the title WIP: Copy BEM surfaces by default (don't symlink) Copy BEM surfaces by default (don't symlink) Apr 15, 2022
larsoner added a commit to wmvanvliet/mne-python that referenced this pull request Apr 19, 2022
* upstream/main: (40 commits)
  FIX: Flake (mne-tools#10540)
  FIX: Correct link (mne-tools#10536)
  DOC: Update installers (mne-tools#10535)
  ENH: Add dark mode to website (mne-tools#10523)
  WIP: Copy BEM surfaces by default (don't symlink) (mne-tools#10531)
  Avoid lowpass=0 in brainvision data (mne-tools#10517)
  DOC: Update installers [skip azp] [skip actions] (mne-tools#10528)
  FIX: Fix for old build (mne-tools#10527)
  Fix line noise at wrong frequencies (mne-tools#10525)
  FIX : read fids in eeglab (mne-tools#10521)
  MAINT: Prefer PySide6 in testing (mne-tools#10513)
  ENH: Add overview_mode support (mne-tools#10501)
  MRG: Updates for qtpy in mne-qt-browser (mne-tools#10509)
  BUG: Fix bug with themes on macOS (mne-tools#10500)
  MAINT: Bump installer links (mne-tools#10511)
  Add metadata to combine_channels (mne-tools#10504)
  MAINT: Standardize tests (mne-tools#10502)
  CI: Test circle (mne-tools#10506)
  ENH: Use HiDPI splash screen on HiDPI screens (mne-tools#10503)
  WIP,MNT: Add support for QtPy (mne-tools#10430)
  ...
larsoner added a commit to agramfort/mne-python that referenced this pull request Apr 21, 2022
* upstream/main: (52 commits)
  MAINT: Extra test for coreg (mne-tools#10549)
  BUG: Fix annot meas_date / crop (mne-tools#10491)
  Update latest.inc
  Use liblinear solver instead of lbgfs in all decodung examples [skip azp][skip actions] (mne-tools#10552)
  STY: Hotfix for HTML [ci skip]
  Allow making inverse solutions from fixed-orientation discrete forward models, enabling multi-dipole modeling (mne-tools#10464)
  Correct documented default number of CV splits [skip azp][skip actions] (mne-tools#10548)
  MRG: Add error checking to prevent the creation of montage with invalid [x, y, z] (mne-tools#10547)
  MRG: Add "verbose" parameter to pick_channels() method (mne-tools#10544)
  CI: Avoid bad PySide6 (mne-tools#10545)
  FIX: Flake (mne-tools#10540)
  FIX: Correct link (mne-tools#10536)
  DOC: Update installers (mne-tools#10535)
  ENH: Add dark mode to website (mne-tools#10523)
  WIP: Copy BEM surfaces by default (don't symlink) (mne-tools#10531)
  Avoid lowpass=0 in brainvision data (mne-tools#10517)
  DOC: Update installers [skip azp] [skip actions] (mne-tools#10528)
  FIX: Fix for old build (mne-tools#10527)
  Fix line noise at wrong frequencies (mne-tools#10525)
  FIX : read fids in eeglab (mne-tools#10521)
  ...
@hoechenberger hoechenberger added backported and removed backport-candidate on-merge: backport to maint/1.11 labels May 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants