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