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
There have been multiple potential enhancements to dwidenoise discussed. While there may be additional ideas for improving denoising that may be kept private as research developments, this list is items that are hopefully acceptable for public listing for the purpose of participant recruitment.
Evaluate demeaning: dwidenoise: Add option -demean #2363
Use of single-precision floating-point with an imprecise decomposition algorithm can lead to artifacts in noise estimation & rank selection. One potential solution proposed some time ago was to explicitly demean the signal, storing that mean as a signal component to be included in the output series. Doing so however necessitates ensuring that the rank estimation does not become biased.
Alternative decomposition: dwidenoise: try using bidiagonal divide and conquer SVD #2906
Simply changing the decomposition used from the Eigen library may improve precision, though at the cost of computation time. This should ideally be evaluated across multiple use cases.
Modify rank estimation: dwidenoise: Modified rank estimation #2591
May be possible to directly translate the modified estimators from externally published work to the MRtrix3 implementation. Would need to contrast against the existing modification of @jelleveraart's estimator as "Exp2".
Facilitate two-pass approach: ENH dwidenoise: Two-pass approach #2274
This could be used to stabilise against outliers in noise level estimation. It could also be used in pipelines that explicitly separate between the estimation of corrections to be applied vs. the application of those corrections.
This would be expedited for higher-level workflows by New command dwi2noise #3035.
Spherical kernel: ENH dwidenoise: Spherical kernel #2742
Already published; having implemented would reduce issues around kernel size selection, and could also be used to mitigate against issues of kernel size / independence at FoV extremities.
Soft component thresholding: ENH dwidenoise: Optimal shrinkage #3022
Would mitigate quantisation effects due to a component being just above vs. just below the MP distribution cutoff. May improve denoising of datasets with a very small number of volumes.
Overcomplete local PCA: ENH dwidenoise: Overcomplete local PCA #3024
Makes output reconstructed DWI volumes a weighted sum of the results of multiple decompositions, rather than being dependent on the single PCA rank reduction at that voxel.
Subsampling: ENH dwidenoise: Subsampling #3034
Reduce the total number of SVDs to be performed by reconstructing the low-rank signal for multiple output image voxels from a single patch.
Alternative noise level estimation: dwidenoise: Alternative noise level estimation #3040
If there are potential IP issues around imposition of the MP distribution, this approach may serve as a suitable alternative.
Also:
Build dataset of exemplar series for denoising efficacy evaluation
Sometimes we hear about a particular dataset where the denoising performs poorly. We're also now using this method for multi-echo fMRI data in addition to DWI data. So it would be good to start building a dataset of different acquisitions of different quality, so that methods and heuristics can be refined to try to make the implementation robust against such variation, or to provide instructions on recommended settings in different scenarios. Edit: New Issue: dwidenoise exemplar database #3036.
The text was updated successfully, but these errors were encountered:
There have been multiple potential enhancements to
dwidenoise
discussed. While there may be additional ideas for improving denoising that may be kept private as research developments, this list is items that are hopefully acceptable for public listing for the purpose of participant recruitment.Evaluate demeaning: dwidenoise: Add option -demean #2363
Use of single-precision floating-point with an imprecise decomposition algorithm can lead to artifacts in noise estimation & rank selection. One potential solution proposed some time ago was to explicitly demean the signal, storing that mean as a signal component to be included in the output series. Doing so however necessitates ensuring that the rank estimation does not become biased.
Alternative decomposition: dwidenoise: try using bidiagonal divide and conquer SVD #2906
Simply changing the decomposition used from the Eigen library may improve precision, though at the cost of computation time. This should ideally be evaluated across multiple use cases.
Modify rank estimation: dwidenoise: Modified rank estimation #2591
May be possible to directly translate the modified estimators from externally published work to the MRtrix3 implementation. Would need to contrast against the existing modification of @jelleveraart's estimator as "
Exp2
".Facilitate two-pass approach: ENH dwidenoise: Two-pass approach #2274
This could be used to stabilise against outliers in noise level estimation. It could also be used in pipelines that explicitly separate between the estimation of corrections to be applied vs. the application of those corrections.
This would be expedited for higher-level workflows by New command
dwi2noise
#3035.Spherical kernel: ENH dwidenoise: Spherical kernel #2742
Already published; having implemented would reduce issues around kernel size selection, and could also be used to mitigate against issues of kernel size / independence at FoV extremities.
Handle >4D data: ENH dwidenoise: Support >4D data #3021
Would make the method more amenable in particular to multi-echo fMRI data.
Soft component thresholding: ENH dwidenoise: Optimal shrinkage #3022
Would mitigate quantisation effects due to a component being just above vs. just below the MP distribution cutoff. May improve denoising of datasets with a very small number of volumes.
Overcomplete local PCA: ENH dwidenoise: Overcomplete local PCA #3024
Makes output reconstructed DWI volumes a weighted sum of the results of multiple decompositions, rather than being dependent on the single PCA rank reduction at that voxel.
Subsampling: ENH dwidenoise: Subsampling #3034
Reduce the total number of SVDs to be performed by reconstructing the low-rank signal for multiple output image voxels from a single patch.
Linear phase ramp removal: dwidenoise: Low-frequency phase removal #3037
Might be more crucial that originally recognised for complex data denoising.
Variance-stabilising transform: dwidenoise: Variance-stabilising transform #3041
Alternative noise level estimation: dwidenoise: Alternative noise level estimation #3040
If there are potential IP issues around imposition of the MP distribution, this approach may serve as a suitable alternative.
Also:
Sometimes we hear about a particular dataset where the denoising performs poorly. We're also now using this method for multi-echo fMRI data in addition to DWI data. So it would be good to start building a dataset of different acquisitions of different quality, so that methods and heuristics can be refined to try to make the implementation robust against such variation, or to provide instructions on recommended settings in different scenarios.
Edit: New Issue: dwidenoise exemplar database #3036.
The text was updated successfully, but these errors were encountered: