Skip to content

Commit

Permalink
FIX: Use "recording" for recording entity, not "rec" (#1359)
Browse files Browse the repository at this point in the history
* FIX: don't use "rec" for recording entity. Use the full name

Fixes #1348

See: https://bids-specification.readthedocs.io/en/stable/modality-specific-files/physiological-recordings.html

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* DOC: update changelog

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stefan Appelhoff <[email protected]>
  • Loading branch information
3 people authored Jan 1, 2025
1 parent 3f59b0e commit ad67a04
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
1 change: 1 addition & 0 deletions doc/whats_new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Detailed list of changes
^^^^^^^^^^^^

- :func:`mne_bids.read_raw_bids` can optionally return an ``event_id`` dictionary suitable for use with :func:`mne.events_from_annotations`, and if a ``values`` column is present in ``events.tsv`` it will be used as the source of the integer event ID codes, by `Daniel McCloy`_ (:gh:`1349`)
- BIDS dictates that the recording entity should be displayed as "_recording-" in the filename. This PR makes :class:`mne_bids.BIDSPath` correctly display "_recording-" (instead of "_rec-") in BIDSPath.fpath. By `Scott Huberty`_ (:gh:`1348`)
- :func:`mne_bids.make_dataset_description` now correctly encodes the dataset description as UTF-8 on disk, by `Scott Huberty`_ (:gh:`1357`)

⚕️ Code health
Expand Down
2 changes: 1 addition & 1 deletion mne_bids/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@
"run": "run",
"proc": "processing",
"space": "space",
"rec": "recording",
"recording": "recording",
"split": "split",
"desc": "description",
}
Expand Down
8 changes: 6 additions & 2 deletions mne_bids/path.py
Original file line number Diff line number Diff line change
Expand Up @@ -2088,7 +2088,7 @@ def get_entity_vals(
):
continue
if ignore_recordings and any(
[f"_rec-{a}_" in filename.stem for a in ignore_recordings]
[f"_recording-{a}_" in filename.stem for a in ignore_recordings]
):
continue
if ignore_splits and any(
Expand Down Expand Up @@ -2280,7 +2280,11 @@ def _filter_fnames(
r"_proc-(" + "|".join(processing) + ")" if processing else r"(|_proc-([^_]+))"
)
space_str = r"_space-(" + "|".join(space) + ")" if space else r"(|_space-([^_]+))"
rec_str = r"_rec-(" + "|".join(recording) + ")" if recording else r"(|_rec-([^_]+))"
rec_str = (
r"_recording-(" + "|".join(recording) + ")"
if recording
else r"(|_recording-([^_]+))"
)
split_str = r"_split-(" + "|".join(split) + ")" if split else r"(|_split-([^_]+))"
desc_str = (
r"_desc-(" + "|".join(description) + ")" if description else r"(|_desc-([^_]+))"
Expand Down
4 changes: 2 additions & 2 deletions mne_bids/tests/test_path.py
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,7 @@ def test_make_filenames():
datatype="ieeg",
)
expected_str = (
"sub-one_ses-two_task-three_acq-four_run-1_proc-six_rec-seven_ieeg.json"
"sub-one_ses-two_task-three_acq-four_run-1_proc-six_recording-seven_ieeg.json"
)
assert BIDSPath(**prefix_data).basename == expected_str
assert (
Expand Down Expand Up @@ -896,7 +896,7 @@ def test_make_filenames():
basename = BIDSPath(**prefix_data, check=False)
assert (
basename.basename
== "sub-one_ses-two_task-three_acq-four_run-1_proc-six_rec-seven_ieeg.h5"
== "sub-one_ses-two_task-three_acq-four_run-1_proc-six_recording-seven_ieeg.h5"
)

# what happens with scans.tsv file
Expand Down

0 comments on commit ad67a04

Please sign in to comment.