Skip to content

Commit

Permalink
Merge pull request #147 from oesteban/docs/revise-roadmap
Browse files Browse the repository at this point in the history
DOC: Revise *dMRIPrep*'s road-map
  • Loading branch information
oesteban authored Jan 21, 2021
2 parents fa908c5 + 2572c62 commit 54d109c
Showing 1 changed file with 99 additions and 40 deletions.
139 changes: 99 additions & 40 deletions docs/roadmap.rst
Original file line number Diff line number Diff line change
@@ -1,70 +1,129 @@
.. include:: links.rst

--------------------
Development road map
--------------------
Development road-map
====================
This road-map serves as a guide for developers as well as a way for us to
communicate to users and other stake-holders aboout the expectations they should
have about the current functionality of the software and future developments.
communicate to users and other stake-holders about the expectations they should
have for the current functionality of the software and future developments.

Version 0.3 (Targetted for March 1st, 2020)
-------------------------------------------
This version should be considered an early alpha of the software, but will
contain a full pipeline of processing from a raw BIDS dataset to analyzable data.
If you would like to be part of the team developing this road-map, please be sure to
read our `Contributors Guidelines <https://www.nipreps.org/community/CONTRIBUTING>`__.
Then, you can contact the developers through the `Mattermost channel <https://mattermost.brainhack.org/brainhack/channels/dmriprep>`__ to be invited to our bi-weekly meetings.

At this point, the processing pipeline will include the following major steps:
This road-map proposes a :abbr:`RERO (release early, release often)` philosophy, scheduling
a monthly release until the first stable 1.0 release is reached.

#. Susceptibility distortion correction.
Using `SDCFlows <https://github.com/poldracklab/sdcflows>`__
.. important::

#. Signal drift estimation
Leveraging the :math:`b=0` extraction, rescaling and averaging that was merged in `#50 <https://github.com/nipreps/dmriprep/pull/50>`__
Updated: Dec 18, 2020
Latest release: `0.3.0 (October 13, 2020) <changes.html#october-13-2020>`__.

Version 0.4 (April 1st, 2020)
-----------------------------
Version 0.4 (Before end of 2020)
--------------------------------
Version 0.4 will condense all the outcomes of our sprint towards ISMRM's 2021 abstracts deadline.
This mostly includes house-keeping work, and most prominently, the integration of the *SDCFlows* 2.0
alpha releases, which makes *dMRIPrep* go ahead of *fMRIPrep* in addressing distortions caused by
:math:`B_0` inhomogeneity.

This release will also include Salim's efforts in `#144 <https://github.com/nipreps/dmriprep/pull/144>`__
to provide a temporary implementation of head-motion and eddy-currents correction using
FSL's ``eddy``.
This temporary solution will be replaced by our 3dSHORE-based algorithm ported from QSIPREP,
and left in place for researchers who prefer this option.

Version 0.5 (January, 2021)
---------------------------
#. Continue with the *SDCFlows 2.0* integration:

- Cover more complex fieldmap specifications
- Automatically set up "*fieldmap-less*" estimations

#. Framewise-displacement (or equivalent) calculation

We will identify volumes that are outliers in terms of head-motion, or other
severe artifacts that make them likely candidates for exclusion from further
analysis.
Regarding the *or equivalent* note above: following with `this conversation
<https://neurostars.org/t/head-motion-parameters-different-when-using-fmriprep-and-spm/17386/4>`__,
it could be interesting to calculate some sort of average displacement of voxels
within the white-matter mask instead.

#. Finalize ongoing PRs about reporting number of shells

- `#73 <https://github.com/nipreps/dmriprep/pull/73>`__
- `#129 <https://github.com/nipreps/dmriprep/pull/129>`__

#. First draft of ISBI 2021 tutorial:

- Accept the design for our ISBI 2021 tutorial and document it on the notebooks repo.
- First draft
- Start development
- Plan for supporting Derek and Ariel in taking the head-motion correction to the finish line.

Version 0.6 (February, 2021)
----------------------------
#. Head motion correction.

A SHOREline-based approach, ported from QSIPREP. In cases where the data are
"shelled", 3dSHORE will be used as the diffusion model. If the data are
single-shell, we will use SFM as the diffusion model.

#. Eddy current correction.
#. :math:`B_1` inhomogeneity correction

We will explore the possible adaptations of the HMC based on SHOREline above.
In cases where the data are "shelled", 3dSHORE will be
used as the diffusion model. If the data are single-shell, we will use SFM
as the diffusion model.
- Decide whether it can be brought around from estimation on T1w images
- Decide whether it should be a default-off option that can be enabled with
a flag, or else, generate both conversions always.

#. Framewise-displacement calculation
#. Initiate Phase I of testing

We will identify volumes that are outliers in terms of head motion, or other
severe artifacts that make them likely candidates for exclusion from further
analysis.
- Compose our test-bed dataset
- Document Phase I testing and reporting protocols
- Start execution

Version 0.5 (May 1st, 2020)
----------------------------
#. Registration between dMRI and T1w image.
# Continue with the development of ISBI 2021 tutorial

Version 0.7 (March, 2021)
-------------------------
The *noisy month*. This is not a musical event, but a development cycle where we will
focus on the implementation of steps addressing noise in DWI:

#. Identification of outlier measurements (+ imputation?)

If we get around to doing thesee steps earlier, they can also be included in
earlier releases.
#. Implementation of component-based noise identification techniques

- Comparison of multiple approaches including MP-PCA, NLMeans, and Patch2Self (`#132 <https://github.com/nipreps/dmriprep/issues/132>`__)

Version 1.0 (Targetted for September 2020)
------------------------------------------
After integrating the above steps, we will spend the time leading to a 1.0
testing the software on various datasets, evaluating and validating the
resulting derivatives.
#. Gibbs-ringing: investigate whether it should be estimated if other techniques
are in place (i.e., component-based above), and ordering of steps.

#. Rician bias modeling.

#. DWI carpet-plot and confounds collation.

#. Testing Phase I execution

#. Final release of the ISBI 2021 tutorial

Version 0.8 (April, 2021)
-------------------------
This release will only address bugfixes conducive to finishing evaluation Phase I,
which should conform a pretty solid ensemble ready for premiere in ISMRM 2021.

Version 0.9 (May, 2021)
-----------------------
#. First official presentation at ISMRM 2021 (should the abstract be accepted)
#. Evaluation Phase II starts.

- Determine an appropriate dataset
- Plan for benchmarking experiments (`#121 <https://github.com/nipreps/dmriprep/issues/121>`__)
- Start with addressing issues as they are reported

Version 1.0 (Targetted for September 2021)
------------------------------------------
Wrap-up evaluation Phase II with the first stable release of *dMRIPrep*.

Long-term plans
---------------
In the long run we would like to explore the following processing steps:

- Gibbs ringing (using DIPY's image-based implementation).
- Denoising (e.g., MP-PCA)
- Rician bias correction
- Gradient non-linearity correction
- B1 inhomogeneity field estimation and :abbr:`INU (intensity non-uniformity) correction`
- Signal drift correction

0 comments on commit 54d109c

Please sign in to comment.