Skip to content

Commit 45fd4c0

Browse files
authored
Merge pull request #291 from mgxd/fix/bids-age-parsing
FIX: Ensure age from sessions file is not overriden
2 parents 68902bd + bdce663 commit 45fd4c0

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

nibabies/utils/bids.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -288,13 +288,15 @@ def parse_bids_for_age_months(
288288
age = _get_age_from_tsv(sessions_tsv, level='session', key=f'ses-{session_id}')
289289

290290
participants_tsv = Path(bids_root) / 'participants.tsv'
291-
if participants_tsv.exists():
291+
if participants_tsv.exists() and age is None:
292292
age = _get_age_from_tsv(participants_tsv, level='participant', key=f'sub-{subject_id}')
293293

294294
return age
295295

296296

297-
def _get_age_from_tsv(bids_tsv: Path, level: Literal['session', 'participant'], key: str):
297+
def _get_age_from_tsv(
298+
bids_tsv: Path, level: Literal['session', 'participant'], key: str
299+
) -> Optional[int]:
298300
import pandas as pd
299301

300302
df = pd.read_csv(str(bids_tsv), sep='\t')
@@ -328,7 +330,6 @@ def _get_age_from_tsv(bids_tsv: Path, level: Literal['session', 'participant'],
328330
def _verify_age_json(bids_json: Path) -> bool:
329331
try:
330332
data = json.loads(bids_json.read_text())
331-
assert data['age']['Units'] == 'months'
333+
return data['age']['Units'].lower() == 'months'
332334
except Exception:
333335
return False
334-
return True

0 commit comments

Comments
 (0)