nipoppy.utils¶
Utility functions.
Module Contents¶
- nipoppy.utils.add_path_suffix(path, suffix, sep='-')¶
Add a suffix to a path, before the last file extension (if any).
- Parameters:
path (nipoppy.env.StrOrPathLike)
suffix (str)
- Return type:
- nipoppy.utils.add_path_timestamp(path, timestamp_format='%Y%m%d_%H%M', sep='-')¶
Add a timestamp to a path, before the last file extension (if any).
- Parameters:
path (nipoppy.env.StrOrPathLike)
- Return type:
- nipoppy.utils.add_pybids_ignore_patterns(current, new)¶
Add pattern(s) to ignore for PyBIDS.
- Parameters:
current (List[re.Pattern])
new (Sequence[str | re.Pattern] | str | re.Pattern)
- nipoppy.utils.apply_substitutions_to_json(json_obj, substitutions)¶
Apply substitutions to a JSON object.
- nipoppy.utils.check_participant_id(participant_id, raise_error=False)¶
Make sure a participant ID is valid.
Specifically: - Check that it does not have the sub- prefix, stripping it if it does - Check that it only has alphanumeric characters
- Parameters:
participant_id (Optional[str]) – The participant ID to check. If None, returns None.
raise_error (bool, optional) – Whether to raise an error if the participant ID has the sub- prefix, by default False. Note: an error is always raised if the participant ID contains non-alphanumeric characters after being stripped of the sub- prefix.
- Returns:
The participant ID without the BIDS prefix
- Return type:
- Raises:
- nipoppy.utils.check_session_id(session_id, raise_error=False)¶
Make sure a session ID is valid.
Specifically: - Check that it does not have the ses- prefix, stripping it if it does - Check that it only has alphanumeric characters
- Parameters:
participant_id (Optional[str]) – The participant ID to check. If None, returns None.
raise_error (bool, optional) – Whether to raise an error if the session ID has the ses- prefix, by default False. Note: an error is always raised if the session ID contains non-alphanumeric characters even being stripped of the ses- prefix.
session_id (Optional[str])
- Returns:
The session ID without the BIDS prefix
- Return type:
- Raises:
- nipoppy.utils.create_bids_db(dpath_bids, dpath_pybids_db=None, validate=False, reset_database=True, ignore_patterns=None, resolve_paths=True)¶
Create a BIDSLayout using an indexer.
- Parameters:
dpath_bids (nipoppy.env.StrOrPathLike)
dpath_pybids_db (Optional[nipoppy.env.StrOrPathLike])
ignore_patterns (Optional[list[str | re.Pattern] | str | re.Pattern])
- Return type:
bids.BIDSLayout
- nipoppy.utils.get_pipeline_tag(pipeline_name, pipeline_version, pipeline_step=None, participant_id=None, session_id=None, sep='-')¶
Generate a tag for a pipeline.
- nipoppy.utils.load_json(fpath, **kwargs)¶
Load a JSON file.
- Parameters:
fpath (nipoppy.env.StrOrPathLike) – Path to the JSON file
**kwargs – Keyword arguments to pass to json.load
- Returns:
The JSON object.
- Return type:
- nipoppy.utils.participant_id_to_bids_participant_id(participant_id)¶
Add the BIDS prefix to a participant ID.
- nipoppy.utils.process_template_str(template_str, resolve_paths=True, objs=None, **kwargs)¶
Replace template strings with values from kwargs or objects.
- nipoppy.utils.save_df_with_backup(df, fpath_symlink, dname_backups=None, use_relative_path=True, dry_run=False, **kwargs)¶
Save a dataframe as a symlink pointing to a timestamped “backup” file.
- Parameters:
df (pd.DataFrame) – The dataframe to save
fpath_symlink (nipoppy.env.StrOrPathLike) – The path to the symlink
dname_backups (Optional[str], optional) – The directory where the timestamped backup file should be written (automatically determined if None), by default None
use_relative_path (bool, optional) – Use relative instead of absolute path for the symlink, by default True
dry_run (bool, optional) – Return the file path but do not save the file, by default False
- Returns:
None if no file was saved, otherwise the path to the backup file
- Return type:
Path or None
- nipoppy.utils.save_json(obj, fpath, **kwargs)¶
Save a JSON object to a file.
- nipoppy.utils.session_id_to_bids_session_id(session_id)¶
Add the BIDS prefix to a session ID.
If session_id is None, returns None.
- nipoppy.utils.DPATH_DATA¶
- nipoppy.utils.DPATH_EXAMPLES¶
- nipoppy.utils.DPATH_LAYOUTS¶
- nipoppy.utils.DPATH_SAMPLE_PIPELINES¶
- nipoppy.utils.FIELD_DESCRIPTION_MAP¶
- nipoppy.utils.FPATH_DEFAULT_LAYOUT¶
- nipoppy.utils.FPATH_SAMPLE_CONFIG¶
- nipoppy.utils.FPATH_SAMPLE_CONFIG_FULL¶
- nipoppy.utils.FPATH_SAMPLE_DICOM_DIR_MAP¶
- nipoppy.utils.FPATH_SAMPLE_MANIFEST¶
- nipoppy.utils.TEMPLATE_REPLACE_PATTERN¶