diff --git a/.gitmodules b/.gitmodules index 6f548f1..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +0,0 @@ -[submodule "tests/data/ds000005-fmriprep"] - path = tests/data/ds000005-fmriprep - url = https://gin.g-node.org/nipreps-data/ds000005-fmriprep - datalad-id = 92e566e4-1c80-434e-a4d7-5bf9fb483d76 - datalad-url = https://gin.g-node.org/nipreps-data/ds000005-fmriprep diff --git a/.zenodo.json b/.zenodo.json index fcc06d6..0bb5985 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -10,7 +10,7 @@ ], "creators": [ { - "affiliation": "Department of Psychology, Florida International University", + "affiliation": "University of Pennsylvania", "name": "Salo, Taylor", "orcid": "0000-0001-9813-3167" }, diff --git a/README.rst b/README.rst index e0313cf..9a9a513 100644 --- a/README.rst +++ b/README.rst @@ -31,6 +31,11 @@ Here are a few of the key features: In this case, the fMRIPost-AROMA workflow will pull a transform from MNI152NLin2009cAsym to MNI152NLin6Asym from TemplateFlow and apply it, along with the boldref-to-MNI152NLin2009cAsym transform, to the boldref-space derivatives. + - fMRIPrep with ``--level full`` and raw BOLD data. + In this case, the fMRIPost workflow will apply minimal preprocessing steps internally + to generate the required derivatives. + This will rarely be used, but may be useful for fMRIPost workflows that require raw data, + like fMRIPost-phase. .. warning:: @@ -40,3 +45,20 @@ Here are a few of the key features: 4. General NiPreps infrastructure for running a BIDS App, such as a config file, a command-line interface, and tools to generate HTML reports. + + +***** +Usage +***** + +If you use this template to create a new fMRIPost workflow, you will need to: + +1. Replace all instances of ``fmripost_template`` with the name of your new workflow. +2. Replace all instances of ``fMRIPost-template`` with the name of your new workflow. +3. Modify the workflows and interfaces to apply your desired processing steps. +4. Update the documentation to reflect the new workflow. + +Please also include something like the following in your boilerplate: + +> Data were postprocessed using *fMRIPost-*, +> which is based on *fMRIPost-template* ([cite fMRIPost-template version and DOI here]). diff --git a/docs/api.rst b/docs/api.rst index e28e126..c09134f 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -1,11 +1,12 @@ .. include:: links.rst -================ +################ Developers - API -================ +################ +*************************************************** The *NiPreps* community and contributing guidelines ---------------------------------------------------- +*************************************************** *fMRIPost-template* is a *NiPreps* application, and abides by the `NiPreps Community guidelines `__. @@ -13,8 +14,10 @@ Please, make sure you have read and understood all the documentation provided in the `NiPreps portal `__ before you get started. + +*************************************** Setting up your development environment ---------------------------------------- +*************************************** We believe that *fMRIPost-template* must be free to use, inspect, and critique. Correspondingly, you should be free to modify our software to improve it @@ -27,13 +30,17 @@ As part of such efforts, we maintain some `tips and guidelines for developers `__ to help minimize your burden if you want to modify the software. + +***************************** Internal configuration system ------------------------------ +***************************** .. automodule:: fmripost_template.config :members: from_dict, load, get, dumps, to_filename, init_spaces + +********* Workflows ---------- +********* .. automodule:: fmripost_template.workflows.base diff --git a/docs/changes.rst b/docs/changes.rst index ac10c4f..86b6cd4 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -1,7 +1,7 @@ .. include:: links.rst ----------- +########## What's new ----------- +########## .. include:: ../CHANGES.rst diff --git a/docs/conf.py b/docs/conf.py index 465bec9..86ec9c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,6 +51,7 @@ 'sphinx.ext.linkcode', 'sphinx.ext.napoleon', 'sphinxarg.ext', # argparse extension + 'sphinxcontrib.bibtex', # to include references in docs 'nipype.sphinxext.plot_workflow', ] @@ -151,6 +152,13 @@ # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False +# ----------------------------------------------------------------------------- +# sphinxcontrib-bibtex +# ----------------------------------------------------------------------------- +bibtex_bibfiles = ['../src/fmripost_template/data/boilerplate.bib'] +bibtex_style = 'unsrt' +bibtex_reference_style = 'author_year' +bibtex_footbibliography_header = '' # -- Options for HTML output ---------------------------------------------- diff --git a/docs/faq.rst b/docs/faq.rst index 5e08994..8d72e96 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -1,15 +1,17 @@ .. include:: links.rst -================================ +################################ FAQ - Frequently Asked Questions -================================ +################################ .. contents:: :local: :depth: 1 + +***************** What is fMRIPost? ------------------ +***************** fMRIPost workflows are BIDS Apps that ingress fMRI preprocessing derivative datasets. They fall under the broader umbrella of NiPost workflows, diff --git a/docs/index.rst b/docs/index.rst index 7608ae0..6116905 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,8 +6,9 @@ .. include:: links.rst .. include:: ../README.rst +******** Contents --------- +******** .. toctree:: :maxdepth: 3 diff --git a/docs/installation.rst b/docs/installation.rst index 2b115b8..1ef8b47 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,29 +1,34 @@ .. include:: links.rst ------------- +############ Installation ------------- +############ + *fMRIPost-template* should be installed using container technologies. .. code-block:: bash docker pull nipreps/fmripost-template:main +************************************************ Containerized execution (Docker and Singularity) -================================================ +************************************************ + *fMRIPost-template* is a *NiPreps* application, and therefore follows some overarching principles of containerized execution drawn from the BIDS-Apps protocols. For detailed information of containerized execution of *NiPreps*, please visit the corresponding `Docker `__ or `Singularity `__ subsections. + External Dependencies ---------------------- -*fMRIPost-template* is written using Python 3.8 (or above), and is based on +===================== + +*fMRIPost-template* is written using Python 3.11 (or above), and is based on nipype_. *fMRIPost-template* requires some other neuroimaging software tools that are -not handled by the Python's packaging system (Pypi): +not handled by the Python's packaging system (PyPi): - FSL_ (version 6.0.7.7) - ANTs_ (version 2.5.1) @@ -33,8 +38,11 @@ not handled by the Python's packaging system (Pypi): - `bids-validator `_ (version 1.14.0) - `connectome-workbench `_ (version 1.5.0) + +*********************************************** Not running on a local machine? - Data transfer -=============================================== +*********************************************** + If you intend to run *fMRIPost-template* on a remote system, you will need to make your data available within that system first. diff --git a/docs/license.rst b/docs/license.rst index a126362..e2924d6 100644 --- a/docs/license.rst +++ b/docs/license.rst @@ -1,11 +1,15 @@ +####################################### About the *NiPreps* framework licensing ---------------------------------------- +####################################### + Please check https://www.nipreps.org/community/licensing/ for detailed information on the criteria we use to license *fMRIPost-template* and other projects of the framework. + +******************* License information -------------------- +******************* Copyright (c) the *NiPreps* Developers. *fMRIPost-template* is licensed under the Apache License, Version 2.0 (the "License"); diff --git a/docs/links.rst b/docs/links.rst index 98f4db4..5260e3a 100644 --- a/docs/links.rst +++ b/docs/links.rst @@ -1,15 +1,11 @@ .. _Nipype: https://nipype.readthedocs.io/en/latest/ .. _BIDS: https://bids.neuroimaging.io/ .. _`BIDS Derivatives`: https://bids-specification.readthedocs.io/en/stable/05-derivatives/01-introduction.html -.. _`BEP 011`: https://bids-specification.readthedocs.io/en/bep011/05-derivatives/04-structural-derivatives.html -.. _`BEP 012`: https://bids-specification.readthedocs.io/en/bep012/05-derivatives/05-functional-derivatives.html .. _Installation: installation.html .. _workflows: workflows.html .. _FSL: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/ .. _ANTs: https://stnava.github.io/ANTs/ .. _FreeSurfer: https://surfer.nmr.mgh.harvard.edu/ -.. _`submillimeter reconstruction`: https://surfer.nmr.mgh.harvard.edu/fswiki/SubmillimeterRecon -.. _`mri_robust_template`: https://surfer.nmr.mgh.harvard.edu/fswiki/mri_robust_template .. _AFNI: https://afni.nimh.nih.gov/ .. _GIFTI: https://www.nitrc.org/projects/gifti/ .. _`Connectome Workbench`: https://www.humanconnectome.org/software/connectome-workbench.html @@ -20,6 +16,4 @@ .. _Singularity: https://github.com/singularityware/singularity .. _SPM: https://www.fil.ion.ucl.ac.uk/spm/software/spm12/ .. _TACC: https://www.tacc.utexas.edu/ -.. _tedana: https://github.com/me-ica/tedana -.. _`T2* workflow`: https://tedana.readthedocs.io/en/latest/generated/tedana.workflows.t2smap_workflow.html#tedana.workflows.t2smap_workflow # noqa .. _`citation boilerplate`: https://www.nipreps.org/intro/transparency/#citation-boilerplates diff --git a/docs/outputs.rst b/docs/outputs.rst index ac253e6..49a50bf 100644 --- a/docs/outputs.rst +++ b/docs/outputs.rst @@ -2,9 +2,9 @@ .. _outputs: ------------------------------- +############################## Outputs of *fMRIPost-template* ------------------------------- +############################## *fMRIPost-template* outputs conform to the :abbr:`BIDS (brain imaging data structure)` Derivatives specification (see `BIDS Derivatives`_, along with the @@ -23,8 +23,9 @@ upcoming `BEP 011`_ and `BEP 012`_). Confound time series. +****** Layout ------- +****** Assuming fMRIPost-template is invoked with:: @@ -47,16 +48,18 @@ The log directory contains `citation boilerplate`_ text. records metadata recommended by the BIDS standard. +************** Visual Reports --------------- +************** *fMRIPost-template* outputs summary reports, written to ``/fmripost_template/sub-