# How to calculate apparent diffusion coefficient (ADC) with example?

Can someone give an example calculation for the apparent diffusion coefficient (ADC)?

There appears to be multiple ways that this can be calculated, e.g. as discussed here: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4166577/

Do you like R ? if so, look at this package "dcemriS4" and its example http://www.inside-r.org/packages/cran/dcemriS4/docs/adc.lm

install.packages("dcemriS4")
install.packages("minpack.lm")
library(dcemriS4)
library(dcemriS4)

S0 <- 10
b <- c(0, 50, 400, 800)  # units?
D <- 0.7e-3              # mm^2 / sec (normal white matter)

## Signal intensities based on the (simplified) Bloch-Torry equation
dwi <- function(S0, b, D) {
S0 * exp(-b*D)
}

set.seed(1234) # this is just to make the example reproducible
signal <- array(dwi(S0, b, D) + rnorm(length(b), sd=0.15),
c(rep(1,3), length(b)))
par(mfrow=c(1,1)) # graphical output
plot(b, signal, xlab="b-value", ylab="Signal intensity")
lines(seq(0,800,10), dwi(S0, seq(0,800,10), D), lwd=2, col=1)
lines(seq(0,800,10), dwi(ADC$S0, seq(0,800,10), ADC$D), lwd=2, col=2)
legend("topright", c("True","Estimated"), lwd=2, col=1:2)


Here you can see an example of the steps used for mir http://rsl.stanford.edu/moseley/tensorcalc/tensorcalc/Steps/ADCmaps/adc.html

here is to understand the math behind of its calculation http://www.ajronline.org/doi/full/10.2214/AJR.12.9231

if you don't like R but you like Matlab, here you can use this code to calculate it in Matlab http://www.mathworks.com/matlabcentral/fileexchange/21130-dti-and-fiber-tracking/content/DTI.m one of the output is ADC for mir data

• I think you should explain the principle behind the calculation rather than posting a code. The code is of little value in this site and if the OP is actually interested in coding then this is not the site for such questions. I guess that is not the case here. – WYSIWYG Jun 20 '16 at 5:55