sct_dmri_denoise_patch2self¶
U t i l i t y f u n c t i o n t o d e n o i s e d i f f u s i o n M R I i m a g e s . R e t u r n s t h e d e n o i s e d i m a g e a n d a l s o t h e d i f f e r e n c e b e t w e e n t h e i n p u t a n d t h e o u t p u t . T h e P a t c h 2 S e l f d e n o i s i n g a l g o r i t h m i s b a s e d o n s e l f - s u p e r v i s e d d e n o i s i n g v i a s t a t i s t i c a l i n d e p e n d e n c e o f n o i s e , a s d e s c r i b e d i n t h e f o l l o w i n g p u b l i c a t i o n s : Utility function to denoise diffusion MRI images. Returns the denoised image and also the difference between the input and the output. The Patch2Self denoising algorithm is based on self-supervised denoising via statistical independence of noise, as described in the following publications:
F a d n a v i s e t a l . P a t c h 2 S e l f : D e n o i s i n g D i f f u s i o n M R I w i t h S e l f - s u p e r v i s e d L e a r n i n g . N e u r I P S , 2 0 2 0 , V o l . 3 3 . ( h t t p s : / / a r x i v . o r g / a b s / 2 0 1 1 . 0 1 3 5 5 ) Fadnavis et al. Patch2Self: Denoising Diffusion MRI with Self-supervised Learning. NeurIPS, 2020, Vol. 33. (https://arxiv.org/abs/2011.01355)
S c h i l l i n g e t a l . P a t c h 2 S e l f d e n o i s i n g o f d i f f u s i o n M R I i n t h e c e r v i c a l s p i n a l c o r d i m p r o v e s i n t r a - c o r d c o n t r a s t , s i g n a l m o d e l l i n g , r e p e a t a b i l i t y , a n d f e a t u r e c o n s p i c u i t y . m e d R x i v , 2 0 2 1 . ( h t t p s : / / w w w . m e d r x i v . o r g / c o n t e n t / 1 0 . 1 1 0 1 / 2 0 2 1 . 1 0 . 0 4 . 2 1 2 6 4 3 8 9 v 2 ) Schilling et al. Patch2Self denoising of diffusion MRI in the cervical spinal cord improves intra-cord contrast, signal modelling, repeatability, and feature conspicuity. medRxiv, 2021. (https://www.medrxiv.org/content/10.1101/2021.10.04.21264389v2)
T h e i m p l e m e n t a t i o n i s b a s e d o n D I P Y ( h t t p s : / / d o c s . d i p y . o r g / s t a b l e / e x a m p l e s _ b u i l t / p r e p r o c e s s i n g / d e n o i s e _ p a t c h 2 s e l f . h t m l ) . The implementation is based on DIPY (https://docs.dipy.org/stable/examples_built/preprocessing/denoise_patch2self.html).
usage: sct_dmri_denoise_patch2self -i <file> -b <file>
[-model {ols,ridge,lasso}] [-radius <int>]
[-o <str>] [-h] [-v <int>]
MANDATORY ARGUMENTS¶
- -i
I n p u t N I f T I i m a g e t o b e d e n o i s e d . E x a m p l e : ` i m a g e _ i n p u t . n i i . g z ` Input NIfTI image to be denoised. Example:
image_input.nii.gz- -b
I n p u t b v a l s f i l e c o r r e s p o n d i n g t o t h e N I f T I f i l e t o b e d e n o i s e d . E x a m p l e : ` f i l e n a m e . b v a l ` Input bvals file corresponding to the NIfTI file to be denoised. Example:
filename.bval
OPTIONAL ARGUMENTS¶
- -model
P o s s i b l e c h o i c e s : o l s , r i d g e , l a s s o Possible choices: ols, ridge, lasso
T y p e o f r e g r e s s i o n m o d e l u s e d f o r s e l f - s u p e r v i s e d t r a i n i n g w i t h i n P a t c h 2 S e l f . Type of regression model used for self-supervised training within Patch2Self.
D e f a u l t : ` ` ‘ o l s ‘ ` ` Default:
'ols'- -radius
P a t c h R a d i u s u s e d t o g e n e r a t e p - n e i g h b o u r h o o d s w i t h i n P a t c h 2 S e l f . N o t e s : Patch Radius used to generate p-neighbourhoods within Patch2Self. Notes:
A r a d i u s o f ` 0 ` w i l l u s e 1 x 1 x 1 p - n e i g h b o u r h o o d s , a r a d i u s o f ` 1 ` w i l l u s e 3 x 3 x 3 p - n e i g h b o u r h o o d s , a n d s o o n . A radius of
0will use 1x1x1 p-neighbourhoods, a radius of1will use 3x3x3 p-neighbourhoods, and so on.F o r a n i s o t r o p i c p a t c h s i z e s , p r o v i d e a c o m m a - d e l i m i t e d l i s t o f 3 i n t e g e r s . ( e . g . ` - r a d i u s 0 , 1 , 0 ` ) . F o r i s o t r o p i c p a t c h s i z e s , p r o v i d e a s i n g l e i n t v a l u e ( e . g . ` - r a d i u s 0 ` ) . For anisotropic patch sizes, provide a comma-delimited list of 3 integers. (e.g.
-radius 0,1,0). For isotropic patch sizes, provide a single int value (e.g.-radius 0).
D e f a u l t : ` ` ‘ 0 ‘ ` ` Default:
'0'- -o
N a m e o f t h e o u t p u t N I F T I i m a g e . Name of the output NIFTI image.
MISC ARGUMENTS¶
- -v
P o s s i b l e c h o i c e s : 0 , 1 , 2 Possible choices: 0, 1, 2
V e r b o s i t y . 0 : D i s p l a y o n l y e r r o r s / w a r n i n g s , 1 : E r r o r s / w a r n i n g s + i n f o m e s s a g e s , 2 : D e b u g m o d e . Verbosity. 0: Display only errors/warnings, 1: Errors/warnings + info messages, 2: Debug mode.
D e f a u l t : ` ` 1 ` ` Default:
1