nipreps / dmriprep

dMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data. The transparent workflow dispenses of manual intervention, thereby ensuring the reproducibility of the results.
https://www.nipreps.org/dmriprep
Apache License 2.0
64 stars 24 forks source link

DOC: Add base SVG file for the "figure1" (aka the workflow) flowchart #124

Closed oesteban closed 3 years ago

oesteban commented 3 years ago

I have taken a stab at mapping the whiteboard scribbles of our sprint into an SVG file. IMG_1811

I've realized several things I will go over in our weekly meeting (in 30 min approx):

Hopefully, this will help us progress faster towards our roadmap.

Resolves: #5

oesteban commented 3 years ago

figure1

dPys commented 3 years ago

This looks great @oesteban !

The only suggestion I have for improvement is that if we're indeed going to include denoising now, the noise map might ideally be generated early on in the pipeline (as indicated above), but the noise correction not be applied until the very end. There are several benefits to splitting up noise sigma estimation and applying actual denoising correction based on that noise profile. For one thing and in the spirit of a preference for single-shot resampling, all of the transforms estimated (i.e. for motion, eddy currents, etc.) from the DWI can be applied to the initial noise map (a 3d or 4d image) to ensure consistent voxelwise alignment while preserving the raw noise distribution. Furthermore, this approach is still also compatible with applying the denoising correction to just the B0 template at an earlier stage to improve eddy/motion correction, as @mattcieslak has suggested doing.

As soon as the denoising correction is actually applied to the DWI data, the underlying distribution of signal changes fundamentally; it's unclear how this would impact assumptions going into our implementation of eddy/motion correction, but for FSL's TOPUP/EDDY it tends to increases runtime and produces suboptimal correction.

oesteban commented 3 years ago

Yup, as we've discussed in the meeting, it is not clear whether denoising should happen before HMC and ECC. It seems clear that it should not happen after resampling (and implicitly, after correction for HM, EC, and SD).

We'll let the data speak for themselves and compare both options. For now, we'll stick with the roadmap (addressing the corrections before anything else).

This SVG is meant to be just a starting point so I'll merge and invite everyone to modify it as they see fit.