Module cr72
source code
The Carver and Richards (1972) 2-site all time scale exchange CR72 and CR72 full
models.
Description
This module is for the function, gradient and Hessian of the CR72 and CR72 full
models.
References
The model is named after the reference:
-
Carver, J. P. and Richards, R. E. (1972). General 2-site solution
for chemical exchange produced dependence of T2 upon Carr-Purcell
pulse separation. J. Magn. Reson., 6, 89-105. (DOI: 10.1016/0022-2364(72)90090-X).
Equations
The equation used is:
R2eff = 1/2 [ R2A0 + R2B0 + kex - 2.nu_cpmg.cosh^-1 (D+.cosh(eta+) - D-.cos(eta-)) ] ,
where:
1 / Psi + 2delta_omega^2 \
D+/- = - | +/-1 + -------------------- | ,
2 \ sqrt(Psi^2 + zeta^2) /
1
eta+/- = 2^(-3/2) . -------- sqrt(+/-Psi + sqrt(Psi^2 + zeta^2)) ,
nu_cpmg
Psi = (R2A0 - R2B0 - pA.kex + pB.kex)^2 - delta_omega^2 + 4pA.pB.kex^2 ,
zeta = 2delta_omega (R2A0 - R2B0 - pA.kex + pB.kex).
kex is the chemical exchange rate constant, pA and pB are the
populations of states A and B, and delta_omega is the chemical shift
difference between the two states in ppm.
CR72 model
Importantly for the implementation of this model, it is assumed
that R2A0 and R2B0 are identical. This simplifies some of the
equations to:
R2eff = R20 + kex/2 - nu_cpmg.cosh^-1 (D+.cosh(eta+) - D-.cos(eta-) ,
where:
Psi = kex^2 - delta_omega^2 ,
zeta = -2delta_omega (pA.kex - pB.kex).
Links
More information on the CR72 model can be found in the:
More information on the CR72 full model can be found in the:
|
r2eff_CR72(r20a=None,
r20a_orig=None,
r20b=None,
r20b_orig=None,
pA=None,
dw=None,
dw_orig=None,
kex=None,
cpmg_frqs=None,
back_calc=None)
Calculate the R2eff values for the CR72 model. |
source code
|
|
|
eta_scale = 0.353553390593
|
|
__package__ = ' lib.dispersion '
|
Imports:
arccosh,
cos,
cosh,
isfinite,
fabs,
min,
max,
multiply,
sqrt,
subtract,
sum,
fix_invalid,
masked_greater_equal,
masked_where
r2eff_CR72(r20a=None,
r20a_orig=None,
r20b=None,
r20b_orig=None,
pA=None,
dw=None,
dw_orig=None,
kex=None,
cpmg_frqs=None,
back_calc=None)
| source code
|
Calculate the R2eff values for the CR72 model.
See the module docstring for details.
- Parameters:
r20a (numpy float array of rank [NE][NS][NM][NO][ND]) - The R20 parameter value of state A (R2 with no exchange).
r20a_orig (numpy float array of rank-1) - The R20 parameter value of state A (R2 with no exchange). This is
only for faster checking of zero value, which result in no
exchange.
r20b (numpy float array of rank [NE][NS][NM][NO][ND]) - The R20 parameter value of state B (R2 with no exchange).
r20b_orig (numpy float array of rank-1) - The R20 parameter value of state B (R2 with no exchange). This is
only for faster checking of zero value, which result in no
exchange.
pA (float) - The population of state A.
dw (numpy array of rank [NE][NS][NM][NO][ND]) - The chemical exchange difference between states A and B in rad/s.
dw_orig (numpy float array of rank-1) - The chemical exchange difference between states A and B in ppm.
This is only for faster checking of zero value, which result in
no exchange.
kex (float) - The kex parameter value (the exchange rate in rad/s).
cpmg_frqs (numpy float array of rank [NE][NS][NM][NO][ND]) - The CPMG nu1 frequencies.
back_calc (numpy float array of rank [NE][NS][NM][NO][ND]) - The array for holding the back calculated R2eff values. Each
element corresponds to one of the CPMG nu1 frequencies.
|