You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/apps/framework.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,46 @@ For instance, *MRIQC* generates group-level reports with the following command-l
81
81
$ mriqc /data/bids_root /data/bids_root/derivatives/ group
82
82
```
83
83
84
+
## What are *BIDS Derivatives*?
85
+
86
+
*NiPreps* generate *derivatives* of the original data, and they fulfill the BIDS specification for the results of Apps that are created for subsequent consumption by other BIDS-Apps.
87
+
These derivatives must follow the BIDS Derivatives specification ([draft](https://bids-specification.readthedocs.io/en/derivatives/)).
88
+
An example of BIDS Derivatives filesystem tree, generated with *fMRIPrep* 1.5:
Copy file name to clipboardExpand all lines: docs/devs/releases.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
As of January 2020, *fMRIPrep* has adopted a Calendar Versioning scheme, and with it we are attempting to apply more coherent semantic rules to our releases.
2
+
As of January 2020, *fMRIPrep* has adopted a [Calendar Versioning](https://calver.org) scheme, and with it we are attempting to apply more coherent semantic rules to our releases.
3
3
4
4
!!! warning "Note"
5
5
This document is a draft for internal and external comment. Any commitments expressed here are proposals, and should not be relied upon at this time.
@@ -16,19 +16,19 @@ Patch releases are considered bug-fix releases. Each minor release triggers the
16
16
17
17
These releases must satisfy four conditions:
18
18
19
-
1. Resolving one or more bugs. These mostly include failures of *fMRIPrep* to complete or producing invalid derivatives (e.g., a NIfTI file of all zeroes).
20
-
1. Derivatives compatibility. If a subject may be successfully run on 20.0.n, then the imaging derivatives should be identical if rerun with 20.0.(n+1), modulo rounding errors and the effects of nondeterministic algorithms. The changes between successful runs of 20.0.n and 20.0.(n+1) should not be larger than the changes between two successful runs of 20.0.n. Cosmetic changes to reports are acceptable, while differing fields of view or data types in a NIfTI file would not be.
21
-
1. API compatibility. Workflow-generating functions, workflow input- and outputnode fields must not change. As an end-user application, this may seem overly strict, but the odds of introducing a bug are much higher in these cases.
22
-
1. User interface compatibility. Substantial changes to *fMRIPrep* command line must not happen (e.g., the addition of a new, relevant flag).
19
+
1.**Resolving one or more bugs.** These mostly include failures of *fMRIPrep* to complete or producing invalid derivatives (e.g., a NIfTI file of all zeroes).
20
+
1.**Derivatives compatibility.** If a subject may be successfully run on 20.0.n, then the imaging derivatives should be identical if rerun with 20.0.(n+1), modulo rounding errors and the effects of nondeterministic algorithms. The changes between successful runs of 20.0.n and 20.0.(n+1) should not be larger than the changes between two successful runs of 20.0.n. Cosmetic changes to reports are acceptable, while differing fields of view or data types in a NIfTI file would not be.
21
+
1.**API compatibility.** Workflow-generating functions, workflow input- and outputnode fields must not change. As an end-user application, this may seem overly strict, but the odds of introducing a bug are much higher in these cases.
22
+
1.**User interface compatibility.** Substantial changes to *fMRIPrep* command line must not happen (e.g., the addition of a new, relevant flag).
23
23
24
24
Note that not all bugs can be fixed in a way that satisfies all three of these criteria without significant effort. A developer may determine that the bug will be fixed in the next feature release.
25
25
26
26
Additional acceptable changes within a minor release series:
27
27
28
-
1. Improved tests. These often come along with bug fixes, but they can be free-standing improvements to the code base.
29
-
1. Improved documentation. Unless the documentation is of a feature that will not be present in a bug-fix release, this is always welcome.
30
-
1. Updates to the Dockerfile that improve operation for Docker and/or Singularity users, but do not risk behavior change. A good example is including more templates to reduce the need for network requests. An example of an update to the Dockerfile that forces a minor release increment is a change in the pinned version of any of the dependencies or the base container image.
31
-
1. Improvements to the fmriprep-docker wrapper. As long as a command-line invocation that worked for the previous version continues to work and produce the same Docker command, there's little chance of harm.
28
+
1.**Improved tests.** These often come along with bug fixes, but they can be free-standing improvements to the code base.
29
+
1.**Improved documentation.** Unless the documentation is of a feature that will not be present in a bug-fix release, this is always welcome.
30
+
1.**Updates to the Dockerfile** that improve operation for Docker and/or Singularity users, but do not risk behavior change. A good example is including more templates to reduce the need for network requests. An example of an update to the Dockerfile that forces a minor release increment is a change in the pinned version of any of the dependencies or the base container image.
31
+
1.**Improvements to the *lightweight wrappers*.** As long as a command-line invocation that worked for the previous version continues to work and produce the same Docker command, there's little chance of harm.
0 commit comments