Calculating SNR in DWI data

574 views
Skip to first unread message

Mohammad Hadi Aarabi

unread,
Jul 15, 2015, 11:45:54 AM7/15/15
to diffusio...@googlegroups.com
Dear Do,

I would like to calculate the SNR of my DWI data ( SNR per direction or average SNR of whole data ). I appreciate if you help me in this issue.

Best,

Mohammad

Do Tromp

unread,
Jul 15, 2015, 12:46:00 PM7/15/15
to diffusio...@googlegroups.com, mohammad...@gmail.com
Hi Mohammad,


"A different toolbox, called Camino, helps you estimate the signal to noise ratio (SNR) and noise variance of your diffusion image. The tool is called estimatesnrTheir explanation is somewhat complicated but what it comes down to is this -
If you have 2 B0 images: 
 The traditional method for estimating the noise is to sample two ROIs, one in brain white matter, and one in the background. Assuming that the background signal contained only noise, we can estimate the noise standard deviation as
   sigma = sqrt(2.0 / (4.0 - PI)) * stddev(signal in background region)
where the constant scaling corrects for the Rician distribution of the noise, giving us the standard deviation sigma of the original signal. To synthesize data with the same noise conditions, we would take the true signal S_0 and calculate
   S = |[S_0 + N(0, sigma), N(0, sigma)]|
where N(0, sigma) is a random sample drawn from normal distribution with mean 0 and standard deviation sigma.
If you have more than 2 B0 images:
 The second method requires multiple b=0 images, and defines sigma_mult as the standard deviation of the signal over the ROI, across all K b=0 images. Again, let i be a voxel index, then
   sigma_i = stddev(S_{i1},...,S{iK}))  sigma_mult = mean(sigma_1,...,sigma_N)
And finally SNR is
   mean(S_{11}, S_{12},...,S_{1K}, S_{21},...,S_{NK}) / sigma_mult
If there are two or more b=0 images, both snr_diff and snr_mult will both be computed. The more b=0 images there are, the better the estimate via sigma_mult, but sigma_diff only ever uses the first two b=0 images."
Hope that helps,
All the best,
~Do

Eleftherios Garyfallidis

unread,
Jul 15, 2015, 2:03:09 PM7/15/15
to diffusio...@googlegroups.com, mohammad...@gmail.com
Hi Mohammad,

Have a look at this example too. I think it does what you want.

Cheers,
Eleftherios

Do Tromp

unread,
Oct 30, 2015, 12:28:31 PM10/30/15
to Diffusion-imaging
Hi Mohammad,

There are a number of ways to check the SNR of the data. One way I describe in this post:

Or you can check this Camino forum post:

Sorry for my delayed reply.
Hope all is well.
~Do

On Wednesday, July 15, 2015 at 10:45:54 AM UTC-5, Mohammad Hadi Aarabi wrote:
Reply all
Reply to author
Forward
0 new messages