FitLins is a tool for estimating linear models, defined by the BIDS Model specification proposal, to BIDS-formatted datasets.
This software is in alpha stage, and should be considered unstable. Users are welcome to test the software, and open issues.
The CLI follows the BIDS-Apps convention:
Usage:
fitlins <bids_root> <out_dir> <analysis_level> [--model <model_name>]
See the output of fitlins --help
for all valid options:
usage: fitlins [-h] [-v] [--participant-label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]] [-m MODEL] [-p PREPROC_DIR] [--derivative-label DERIVATIVE_LABEL] [--space {MNI152NLin2009cAsym}] [--include INCLUDE] [--exclude EXCLUDE] [--n-cpus N_CPUS] [--debug] [-w WORK_DIR] bids_dir output_dir {run,session,participant,dataset} FitLins: Workflows for Fitting Linear models to fMRI positional arguments: bids_dir the root folder of a BIDS valid dataset (sub-XXXXX folders should be found at the top level in this folder). output_dir the output path for the outcomes of preprocessing and visual reports {run,session,participant,dataset} processing stage to be runa (see BIDS-Apps specification). optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit Options for filtering BIDS queries: --participant-label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...] one or more participant identifiers (the sub- prefix can be removed) -m MODEL, --model MODEL location of BIDS model description (default bids_dir/model.json) -p PREPROC_DIR, --preproc-dir PREPROC_DIR location of preprocessed data (if relative path, search bids_dir/derivatives, followed by output_dir) --derivative-label DERIVATIVE_LABEL execution label to append to derivative directory name --space {MNI152NLin2009cAsym} registered space of input datasets --include INCLUDE regex pattern to include files --exclude EXCLUDE regex pattern to exclude files Options to handle performance: --n-cpus N_CPUS maximum number of threads across all processes --debug run debug version of workflow Other options: -w WORK_DIR, --work-dir WORK_DIR path where intermediate results should be stored
At present, FitLins does not support smoothing or operate in subject-native space. It is developed against FMRIPREP-preprocessed datasets, but is intended to work with any dataset following the BIDS Derivatives draft specification.
By default, FitLins will look for a model.json
in the root of the BIDS
directory.
A simple example model for OpenFMRI dataset ds000030 is reproduced below:
{ "name": "ds000030_bart", "description": "model for balloon analog risk task", "input": { "task": "bart" }, "blocks": [ { "level": "run", "transformations": [ { "name": "factor", "input": [ "trial_type", "action" ] }, { "name": "and", "input": [ "trial_type.BALOON", "action.ACCEPT" ], "output": [ "accept" ] }, { "name": "and", "input": [ "trial_type.BALOON", "action.EXPLODE" ], "output": [ "explode" ] } ], "model": { "HRF_variables":[ "accept", "explode" ], "variables": [ "accept", "explode", "FramewiseDisplacement", "X", "Y", "Z", "RotX", "RotY", "RotZ" ] }, "contrasts": [ { "name": "accept_vs_explode", "condition_list": [ "accept", "explode" ], "weights": [1, -1], "type": "T" } ] }, { "level": "dataset", "model": { "variables": [ "accept_vs_explode" ] }, "contrasts": [ { "name": "group_accept_vs_explode", "condition_list":[ "accept_vs_explode" ], "weights": [1], "type": "T" } ] } ] }
Additional examples can be found in the models branch of the main FitLins repository.
Note
The BIDS Model specification is a draft standard, and some details may change over time.
FitLins is in Alpha-stage, and is not suitable for use as a library, as the internal organization may change substantially without deprecation periods. Similarly the outputs (or derivatives) are subject to change, as experience and user feedback prompt. The command-line interface outlined above should be fairly stable, however.