Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
model = 'default'
derivatives = True if not opts.derivatives else opts.derivatives
# Need this when specifying args directly (i.e. neuroscout)
# god bless neuroscout, but let's make it work for others!
if isinstance(derivatives, list) and len(derivatives) == 1:
# WRONG AND EVIL to those who have spaces in their paths... bad bad practice
# TODO - fix neuroscout
derivatives = derivatives[0].split(" ")
pipeline_name = 'fitlins'
if opts.derivative_label:
pipeline_name += '_' + opts.derivative_label
deriv_dir = op.join(opts.output_dir, pipeline_name)
os.makedirs(deriv_dir, exist_ok=True)
bids.write_derivative_description(opts.bids_dir, deriv_dir)
work_dir = mkdtemp() if opts.work_dir is None else opts.work_dir
# Go ahead and initialize the layout database
if opts.database_path is None:
database_path = Path(work_dir) / 'dbcache'
reset_database = True
else:
database_path = opts.database_path
reset_database = False
layout = BIDSLayout(opts.bids_dir,
derivatives=derivatives,
ignore=ignore,
force_index=force_index,
database_path=database_path,
database_path = Path(work_dir) / 'dbcache'
reset_database = True
else:
database_path = opts.database_path
reset_database = False
layout = BIDSLayout(opts.bids_dir,
derivatives=derivatives,
ignore=ignore,
force_index=force_index,
database_path=database_path,
reset_database=reset_database)
subject_list = None
if opts.participant_label is not None:
subject_list = bids.collect_participants(
layout, participant_label=opts.participant_label)
# Build main workflow
logger.log(25, INIT_MSG(
version=__version__,
subject_list=subject_list)
)
fitlins_wf = init_fitlins_wf(
database_path, deriv_dir,
analysis_level=opts.analysis_level, model=model,
space=opts.space, desc=opts.desc_label,
participants=subject_list, base_dir=work_dir,
smoothing=opts.smoothing, drop_missing=opts.drop_missing,
)