dwidenoise applied to complex data


I have phase and magnitude data acquired with a Siemens PRISMA scanner at a reasonably low SNR. I tried applying dwidenoise in the complex data but I am not sure it is performing better. For instance, I can see the noise floor reduced in some parts and maybe less blurriness when denoising the complex data, but it also returns lower SNR/CNR and visually looks noisier than denoising the magnitude data. I wonder whether this is the behaviour expected or I am doing something wrong. So far, I followed similar steps commented on in previous forum entries (Unwrapping before dwidenoise on complex-valued data) or your guidelines (https://readthedocs.org/projects/mrtrix/downloads/pdf/latest/):

  1. Rescale phase from (-4096:4096) to (0,2pi).
  2. mrcalc Mag.nii.gz Ph_rad.nii.gz -polar complex.nii.gz
  3. dwidenoise complex.nii.gz denoised.nii.gz -noise noisemap.nii.gz
  4. mrcalc denoised.nii.gz -abs abs_denoised.nii.gz

Attached is a screenshot of what I get when applied to magnitude vs complex data.

Thank you so much for your help!

1 Like

Hi @josepman,

OK, that’s clearly not what we would have expected… My guess is that the initial conversion of the phase is not quite right, but I have to admit there may be more going on. I’ve looked into this a bit yesterday as we are also in the process of setting up a protocol here, here are my findings so far (I’ll need to dig deeper in due course, but that’ll have to wait till after the Easter break).

I’ve tested 3 cases, all on the same 1.3mm isotropic, b = 0, 1000, 2500 s/mm², 131 volume 7T dataset:

  • magnitude data only
  • complex with phase correctly converted. This rescales the data from [ -4096 4096 ) to [ -π π ) (should be equivalent to [ 0 2π )). This was done using this command:
    mrcalc DICOM_DWI_mag/ DICOM_DWI_phase/ pi 4096 -div -mult -polar dwi_complex_correct.nii
  • complex with the incorrect phase conversion. This rescales the data from [ 0 4096 ) to [ 0 2π ) – which is likely correct for some datasets, but as it happens, not for this one… This was done using this command:
    mrcalc DICOM_DWI_mag/ DICOM_DWI_phase/ 2 pi -mult 4096 -div -mult -polar dwi_complex.nii

The results look like this:

DW volumes

two examples – all on the same intensity scale:

Noise maps:

All on the same intensity scale:

What does this tell us?

Main take-home points:

  • if the phase is not converted correctly, the estimated noise level is higher, and the images produced appear somewhat noisier (compared to magnitude or correctly-converted complex), and it looks like the intensity itself is lower than expected in places.

  • if the phase is correctly converted, the estimated noise level is similar to that estimated from the magnitude data – if anything, very slightly higher. But the images produced appear significantly noisier than those from the magnitude data.

  • the Rician / magnitude noise bias is considerably lower using complex data – as expected.

So all in all, it looks like the initial phase conversion could be an issue (hard to tell from what you show without knowing the intensity scale on the noise map), but even with the correct phase, the denoised complex images do indeed appear slightly noisier than I would have expected, based on my experiences a while back when we were initially tinkering with these concepts (quite a few years ago now…). So I will be looking into this more closely when I next get the chance…

Any thoughts about this, @dchristiaens…?


1 Like