Denoise
denoise - Diffusion-Weighted Image Noise Reduction
Part of the micaflow processing pipeline for neuroimaging data.
This module denoises diffusion-weighted images (DWI) using the Patch2Self algorithm, which leverages redundant information across diffusion gradients to remove noise without requiring additional reference scans. Patch2Self is a self-supervised learning approach that improves image quality and enhances subsequent diffusion analyses by removing random noise while preserving anatomical structures.
Features:
Self-supervised learning approach requiring no separate reference data
Adapts to the unique noise characteristics of each dataset
Preserves anatomical structure while effectively removing noise
Compatible with standard diffusion MRI acquisition protocols
Improves subsequent analyses such as fiber tracking and diffusion metrics
API Usage:
- micaflow denoise
–input <path/to/dwi.nii.gz> –bval <path/to/dwi.bval> –bvec <path/to/dwi.bvec> –output <path/to/denoised_dwi.nii.gz>
Python Usage:
>>> from micaflow.scripts.denoise import run_denoise
>>> run_denoise(
... moving="raw_dwi.nii.gz",
... moving_bval="dwi.bval",
... moving_bvec="dwi.bvec",
... output="denoised_dwi.nii.gz"
... )
Command Line Usage
micaflow denoise [options]
Source Code
View the source code: GitHub Repository
Description
- This script denoises diffusion-weighted images (DWI) using the Patch2Self
algorithm, which leverages redundant information across diffusion gradients to remove noise without requiring additional reference scans.
Full Help
╔════════════════════════════════════════════════════════════════╗
║ DWI IMAGE DENOISING ║
╚════════════════════════════════════════════════════════════════╝
This script denoises diffusion-weighted images (DWI) using the Patch2Self
algorithm, which leverages redundant information across diffusion gradients
to remove noise without requiring additional reference scans.
────────────────────────── USAGE ──────────────────────────
micaflow denoise [options]
─────────────────── REQUIRED ARGUMENTS ───────────────────
--input : Path to the input DWI image (.nii.gz)
--bval : Path to the b-values file (.bval)
--bvec : Path to the b-vectors file (.bvec)
--output : Output path for the denoised image (.nii.gz)
─────────────────── EXAMPLE USAGE ───────────────────
micaflow denoise \
--input raw_dwi.nii.gz \
--bval dwi.bval \
--bvec dwi.bvec \
--output denoised_dwi.nii.gz
────────────────────────── NOTES ─────────────────────────
- Patch2Self is a self-supervised learning method for denoising
- Processing preserves anatomical structure while removing noise
- The implementation uses OLS regression with b0 threshold of 50 s/mm²
- B0 volumes are not denoised separately in this implementation