-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Denoising patch radius clarifications #845
Labels
enhancement
New feature or request
Comments
Hi all, came to report this too! I’m working with infant data so I’ll be interested to hear the discussion on 0x0x0 versus 1x1x1. This is on 1.0.0rc1.
|
Hi @chiuhoward, No fix is in yet but conversation is on-going. |
I think we've resolved the conversation on Slack and can translate it into action items for QSIPrep:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
In
v. 0.22.0
and forward, the behavior of--dwi-denoise-window
changed. Previously, not setting this parameter (thusauto
) setdwidenoise
to run with an extent window of 5x5x5 andpatch2self
to run with a radius that depended on the number of volumes but for adequately sized datasets (number of non-b0 volumes > 50) the default patch radius = 0x0x0. Inv 0.22.0
and forward,dwidenoise
approach has not changed butpatch2self
now gives an error because the variabledwi_denoise_window
is no longer set prior to the call (it is only created when usingdwidenoise
andauto
for the window). See #827.Developer recommendations for
dwidenoise
andpatch2self
suggest the following about the extent window/patch radius:dwidenoise
by default will select a patch size that minimally exceeds the number of diffusion weighted image: "By default, the command will select the smallest isotropic patch size that exceeds the number of DW images in the input data, e.g., 5x5x5 for data with <= 125 DWI volumes, 7x7x7 for data with <= 343 DWI volumes, etc." (https://mrtrix.readthedocs.io/en/dev/reference/commands/dwidenoise.html)patch2self
is 0x0x0 for human data, though infant and NHP (and certainly small animal) data may better use 1x1x1 or larger.In light of these two recommendations, the question is: How much control is desired over the patch radius? There are two (probably more) relatively straightforward alternatives:
dwidenoise
andpatch2self
to allow for automatic selection (dwidenoise
) or a default 0x0x0 (patch2self
). When specified, it is passed to the relevant denoising function as an isotropic patch size.dwidenoise
will choose a sane default value, altering the patch radius may have unintended consequences if too large or too small relative to the number of volumes. However, there may be useful experimentation with the patch radius forpatch2self
(or in cases of infant/NHP data) where being able to set a non-default value is reasonable and possibly necessary.dwidenoise
to auto-select the extent window and using a 0x0x0 patch radius for human data (and maybe a 1x1x1 for infant data).Looking for thoughts before working on a solution to the current error where
patch2self
is not working at all.@mattcieslak feel free to update or clarify as needed.
The text was updated successfully, but these errors were encountered: