Source code for glmdenoise.io.public

from glmdenoise.io.directory import run_bids_directory
import os


[docs]def run_public(dataset_url, sub=None, task=None): """Download dataset by datalad URL and denoise it. Example: `glmdenoise ///workshops/nih-2017/ds000114` Args: dataset_url (str): URL of dataset, e.g. '///workshops/nih-2017/ds000114' subject (str, optional): BIDS identifier of one subject to run. Defaults to None, meaning all subjects. task (str, optional): Name of specific task to run. Defaults to None, meaning all tasks. """ missing_datalad_msg = """ You're trying to run GLMdenoise on a publicly available dataset. This requires: - datalad >= 0.11.4 (pip install datalad) - git-annex >= 6.20180913 (on Ubuntu 19.04: apt install git-annex) """ try: import datalad.api except ImportError: print(missing_datalad_msg) # Unix error code for 'Package not installed': 65 # See /usr/include/asm-generic/errno.h exit(65) root_dir = os.path.expanduser('~/datalad') dataset_dir = os.path.join(root_dir, dataset_url.lstrip('/')) try: datalad.api.install( source=dataset_url, path=dataset_dir, recursive=True, get_data=True ) except datalad.support.exceptions.IncompleteResultsError: print('Could not download all files, data potentially incomplete') run_bids_directory(dataset_dir, sub=sub, task=task)