Single Component DESPOT Simulations

Download Report

Transcript Single Component DESPOT Simulations

Single Component DESPOT
Simulations
Jason Su
Sep 23, 2012
Motivation
• Developing and vetting simulation tools in the
process of further analyzing the CRLB of
mcDESPOT begun by Lankford and Does
• Many of the concepts and indeed code that
Sean wrote for his single component fitting
algorithms were carried into the mcDESPOT
fitting that is in current use at many sites
Methods
• MATLAB simulations of the single component SPGR
and bSSFP signal equations
– There are two ways to formulate the bSSFP equation, in
the original “brute force” matrix form as:
• 𝑀𝑆𝑆 = 𝑅𝑧 𝜃 𝑆 𝑇𝑅, 𝑇1 , 𝑇2 𝑅𝑥 𝛼 𝑀𝑆𝑆 + 𝐼 − 𝐸1 𝑀0
• 𝑀𝑆𝑆 = [𝐼 − 𝑅𝑧 𝜃 𝑆 𝑇𝑅, 𝑇1 , 𝑇2 𝑅𝑥 𝛼 ]−1 𝐼 − 𝐸1 𝑀0
• mcDESPOT extends this formulation to multiple components
– or as solved by Freeman (1971):
• 𝑀𝑥− =
•
𝑀𝑦−
=
𝑀0 1−𝐸1 𝐸2 sin 𝛼 sin 𝜃
𝐷
𝑀0 1−𝐸1 𝐸2 sin 𝛼 cos 𝜃 −𝐸22 sin 𝛼
𝐷
• Note that this is the steady state signal before the RF pulse
Methods
• I implemented both formulations and verified that they are
exactly equivalent
– The simulations herein are performed with the matrix version
– This allowed the use of one function that can handle both single
and multi-component models, so any verification done here
gives me confidence in the mcDESPOT results
• Data from a simulated tissue are fed into the DESPOT2(-FM)
scheme
1.
2.
T1 and M0 via DESPOT1, linearization of the SPGR data and
fitting
T2 via DESPOT2(-FM) fitting with known T1
• Linearization of phase-180 only SSFP data via DESPOT2
• Fitting of phase-0 and phase-180 data via SRC and DESPOT2-FM, also
fits for off-resonance (θ)
Methods
• Flip angles
– angles_spgr = [2 4 6 8 10 12 14]; % 16 18]; %deg
• Lankford uses the first 7/9 angles, not sure why
– angles_ssfp = [6 14 22 30 38 46 54 62 70];
• Simulated parameters are well within the
bounds of the initial SRC range (T2 = 5-150ms,
θ = 0-2π)
T1 (ms) T2 (ms) M0
θ
900
100
100e3 0
Question
• DESPOT2-FM and mcDESPOT both treat the SSFP
theoretical signal before the RF pulse
– Does the code implementation do this? We actually want to
model the signal after the RF pulse.
– From the old source code available to us, it would appear that
this is unfortunately the case
– Will try to confirm this is the same as the executable we have
from Sean
• I had to fix bugs in the code to get the source to compile properly, so it
is definitely not the same source as the executable from Sean but the
core fitting could still be the same
– What problems does this cause in fitting data that is after RF?
• Note that normal DESPOT2 considers signal after RF
Data Before RF: DESPOT2 Fit
Data Before RF: DESPOT2 Fit
Data After RF: DESPOT2 Fit
Data After RF: DESPOT2 Fit
DESPOT2
• Normal DESPOT2 doesn’t care if the signal is before or after
the RF! Why?
𝑆𝑆𝑆𝐹𝑃
sin(𝛼)
=
𝑇2 = −
𝐸1 −𝐸2 𝑆𝑆𝑆𝐹𝑃
1−𝐸1 𝐸2 tan(𝛼)
𝑇𝑅
+
𝑀0 (1−𝐸1 )
1−𝐸1 𝐸2
𝑚−𝐸
1
ln 𝑚𝐸 −1
1
– where m is the slope of the fitted line
– The after RF signal differs from before RF by a factor of sin(α)
– However, SSSFP appears on both sides so this factor is actually
only resolved in the intercept term after linearization
– T2 is solved so that it only depends on the slope, so there is not
a problem
– M0 is solved after first finding T2, though it is typically ignored
• Perhaps a better treatment is to fit for both jointly with the slope and
intercept, but in this case it nails the correct answer anyway
DESPOT2
• Is deterministic so all the standard deviations
are 0: i.e. after repeated runs on the same
data, the same result is given
• Off-resonance is not modeled, so ignore those
plots
Data Before RF: DESPOT2-FM
Data After RF: DESPOT2 Fit
DESPOT2-FM
• T2 is okay but off-resonance estimation is poor,
sometimes very off in some trials
• SRC fitting is used, which inherently gives results that
change from trial to trial even though the data is
identical, yielding a distribution of solutions
– This is different from the distribution due to noise in the
input data that the CRLB characterizes
– The distribution should hopefully be tight around the true
answer
– T1 is still obtained from the deterministic DESPOT1 fit
DESPOT2-FM
• The results are again nearly identical regardless of
whether the data is before or after RF. Why?
– There is no linearization, there should be no such
immunity and we are fitting the before RF equation
– The answer is an often undocumented part of the SRC
fitting procedure, the phase-0 and phase-180 data are
first normalized by their means along the flip angle
dimension
– Sean has suggested this is a good way to remove the
need to fit for M0, i.e. it simplifies the problem
DESPOT2-FM: The Nitty Gritty
• I’m not sure this is the correct way to remove M0
– The mean across the flip angle dimension is also
influenced by T1 and T2
– Can we remove it by taking a low flip angle image?
This is true of SPGR, for SSFP the equation is
approximately:
M0 1−E1 𝛼
1−𝐸1 𝐸2 −𝐸1 +𝐸2
=
𝑀0 𝛼
1+𝐸2
– We could divide by this and remove M0, but also add
additional T2 dependence that must be included in
the fit
– But is there a reason M0 should be different in SPGR
compared to SSFP?
DESPOT2-FM: The Nitty Gritty
• After normalization by the mean, the
magnitude of Mx + iMy before RF is computed
and fit to the data
– Straight from the source code we have:
• theoreticalMx = (1-e1)*e2*e2*sina*(cos(phasePrecession)-e2)/D;
• 𝑀𝑥− =
𝑀0 1−𝐸1 𝐸2 sin 𝛼 sin 𝜃
𝐷
• theoreticalMy = (1-e1)*e2*e2*sina*sin(phasePrecession)/D;
•
𝑀𝑦−
=
𝑀0 1−𝐸1 𝐸2 sin 𝛼 cos 𝜃 −𝐸22 sin 𝛼
𝐷
– There’s an additional E2 in the code!
DESPOT2-FM: The Nitty Gritty
• The theoretical curve is also normalized to its
mean, so it does take into account additional
influence of T1 and T2 through the norm.
– This also conveniently removes the extra E2 bug.
– Could be that the idea for mean normalization came
about originally as a patch for this unresolved bug
– I’m sure there must be some influence on the stability
or precision of the fitting by using such a complicated
normalization factor as the mean, how to show this?
Actual Curves
Actual Curves
How DESPOT2-FM Sees Curves
How DESPOT2-FM Sees Curves
Question
• Okay well this is all well and good but how do
you know your source is actually what we’ve
been using?
• Does the compiled source give the result as
Sean’s executable?
Compiled from Source
Provided Executable
Answer
• Sorry it’s the same core fitting as far as I can
tell.
• For sure the source we have isn’t what was
used to make the executable since there were
bugs, but the guts seem to be the same.
Question
• Is there a problem with the off-resonance
fitting?
– SRC relies on being able to contain the solution
within a lower and upper bound, however this
breaks down in a cyclic space
– Indeed, with the initial range set as 0-2π, the
“normal” case of on-resonance is hard for SRC to
fit for
– We saw that this was previously the case with the
strange bimodal distribution
Changes
• On my way to examining the off-resonance issue, I took
small steps in modifying the source for DESPOT2-FM
1. Removed mean normalization and gave it the correct M0
(or we can pretend it read it from the DESPOT1 fit) – call
this “noNorm”
2. Also fixed the signal equation, no additional E2 term –
call this “fixedEqn”
3. Additionally modified the SRC off-resonance range from
π-3π, making the space centered around on-resonance –
call this “offRes”
• Negative phases were avoided because there was some existing
logic to throw away such values
Data Before RF: noNorm
Data After RF: noNorm
Effect of the Normalization
• Yup, it’s bad without normalization.
• We’re fitting the wrong equation and it’s
before the RF, so things get even worse in the
“after RF” case
Data Before RF: noNorm Fit
noNorm Curve Fit – Mean Normalized
Data After RF: noNorm Fit
noNorm Curve Fit – Mean Normalized
Mean Normalization
• Notice how after mean normalization, the fits
look nearly identical despite having different
T2 and off-resonances
• This should translate to the CRLB showing this
model has low precision in the presence of
noise
Data Before RF: fixedEqn
Data After RF: fixedEqn
Fixing the Equation
• Having the fitting model match the simulation
model is obviously good
• Since the model is before RF, that fit is nearly
spot on for T2, after RF is wrong of course
– Much of the error manifests as a bias in the offresonance
• Off-resonance fitting is still a problem
Data Before RF: offRes
Data Before RF: DESPOT2-FM
SRC and Off-Resonance
• It is a little curious that T2 is a bit more tightly
distributed in the fixedEqn case but the bias is high, so
still much worse overall
• Rotating the off-resonance space is of course only a
trial solution since it has only just shifted the
problematic cases to ±π phase
– I think the correct way may be to set the range of values
from 0-4π that way there is always ±π buffer for any given
phase
– However, when SRC finds a good candidate at each
contraction step, it should convert the phase to lie within a
2π range in some predictable manner so there’s no
instability about which way to go
What if we only changed the offresonance code?
Relevance to mcDESPOT
• mcDESPOT relies heavily on DESPOT2-FM for it’s initial
off-resonance estimate
– FM is implemented identically as presented, with extra E2
and mean normalization
• Subsequent for off-resonance is subject to the same
issues of SRC and a cyclic dimension
• Mean normalization is used, may worsen precision in
noisy situations
• Equations are still before RF