Inverse pressure gradient estimation from PC-MRI velocity - - PowerPoint PPT Presentation
Inverse pressure gradient estimation from PC-MRI velocity - - PowerPoint PPT Presentation
Inverse pressure gradient estimation from PC-MRI velocity measurements reducing the effect of errors in segmentation David Nolte, Cristbal Bertoglio, Axel Osses, Roel Verstappen Center for Mathematical Modeling, Universidad de Chile
Motivation: Cardiovascular flow
∙ Arterial blood pressure very important for diagnosing cardiovascular diseases ∙ Examples: stenosis, heart valve insufficiency Stenosis of the aorta: Low pressure High pressure Stenosis Blood velocity ∙ Surgery if pressure drop critical ∙ Pressure measurements are invasive: catheters equipped with pressure probes ▸ non-invasive methods?
1 / 20
Phase-Contrast MRI
PC-MRI: measure flow velocities with magnetic resonance imaging PC-MRI measures blood velocity velocity pressure Navier-Stokes equations 2D slices 3D data ∙ Estimate pressure gradient from partial measurements with PDE-constrained optimization
2 / 20
PDE-constrained Optimization
3 / 20
Approx. 3D geometry ̃ Ω 2D slice measurements Data Assimilation NSE model:
- btain 3D+time
flow field (퐮, 푝)
PDE-constrained Optimization
Forward model: Navier-Stokes equations. Incompressible, unsteady, laminar flow; blood as Newtonian fluid 휌휕퐮 휕푡 + 휌(퐮 ⋅ ∇)퐮 − 휇Δ퐮 + ∇푝 = ퟎ in ̃ Ω ∇ ⋅ 퐮 = 0 in ̃ Ω + Initial and boundary conditions Solver: ∙ Convection-dominated, complex flow → Fractional step-scheme (Chorin-Temam) ∙ Semi-implicit, skew-symmetric convection term ∙ Backflow stabilization at outflow boundaries ∙ FEM with ℙ1∕ℙ1 elements for velocity/pressure + streamline–diffusion stabilization
4 / 20
PDE-constrained Optimization
∙ Inflow and outflow BCs a priori unknown ▸ Parameters 휃 ∈ ℝ푝 need to be estimated from measurements! ∙ Initial condition: assume 퐮(푡 = 0) = 0 ∙ Minimize discrepancy between model prediction and measurements ̂ 휃 = 햺헋헀 헆헂헇
휃
1 2 | |휃 − 휃0| |
2 푃 −1
0 +
푁
∑
푘=1
1 2 | |푍푘 − 퐻푋푘(휃)| |
2 Γ−1
– 푋푘(휃) = (휃, 푋푘−1(휃푘−1)) ∈ ℝ푛: model state at time 푡푘 – 푍푘 ∈ ℝ푚: velocity measurement at time 푡푘 – 퐻 ∈ ℝ푛×푚: observation operator – 휃0 ∈ ℝ푝: initial guess of parameters – 푃0 ∈ ℝ푝×푝: initial parameter covariance matrix – Γ ∈ ℝ푚×푚: covariance of measurements
5 / 20
PDE-constrained Optimization
Method: Reduced-order Unscented Kalman Filter (Moireau & Chapelle, 2011) ∙ Sequential method For 푘 = 1, ..., 푁푇 : 휃푘 = 햺헋헀 헆헂헇
휃
퐽푘(휃) 퐽푘(휃) = 1 2 | |휃 − 휃푘−1| |
2 ̂ 푃 −1
푘 + 1
2 | |푍푘 − 퐻푋푘(휃)| |
2 Γ−1
∙ ̂ 푃푘 (Cov) updated recursively from deterministic particles ▸ Reduced rank of state covariance: rank( ̂ 푃푘) = 푝 ▸ Assume initial uncertainty only present in parameters ∙ ROUKF requires 푝 + 1 particles, i.e., 푝 + 1 forward evaluations per time step
6 / 20
Geometric Uncertainties
∙ Inverse problem is set up and solved in domain extracted from medical images
Issue:
∙ Uncertainty associated to vessel wall position, at least of order
- f image resolution
∙ Standard no-slip boundary conditions can introduce large errors in estimated pressure drop! ▸ numerical experiments to investigate effects!
7 / 20
Numerical Experiments
Geometries: ∙ 3 stenoses with 40%, 50% and 60% obstruction ∙ Reference geometry ∙ ‘approximate‘ geometries with walls shifed inward by Δ = ퟣ 헆헆 (10%) and Δ = ퟤ 헆헆 (20%)
Figure: 60% stenosis, reference and 20% wall error
Reference solution: solve Navier-Stokes on true domain with BCs: ∙ Outflow condition: homogeneous Neumann, zero-stress ∙ Inflow condition: pulsating plug flow: 퐮 = 퐔 sin(휔푡) ∙ No-slip on walls
8 / 20
Numerical Experiments: Reference
∙ Reference solutions. 푅푒 = 2500 at inlet at peak time ∙ velocity magnitude (top row), pressure (botom row) 40% stenosis 50% stenosis 60% stenosis ∙ Number of elements: ∼ 3 − 4 × 106
9 / 20
Numerical Experiments
Synthetic Measurements: ∙ Generated by interpolating reference solution to coarse measurement meshes, defined at selected planes ∙ 2 planes: (A) inlet cross-section, (B) lengthwise intersection ∙ Image resolution: 퐻 = 1 & ퟤ 헆헆 (simulation: ℎ ≈ ퟢ.ퟤퟧ 헆헆) ∙ Temporal resolution: Δ푇 = ퟤퟢ 헆헌 (simulation: Δ푡 = ퟣ 헆헌)
10 / 20
Numerical Experiments: No-slip results
Parameter estimation: ∙ Given measurements at INLET, approximate (erroneous) geometry, estimate plug flow parameter 퐔 ∙ Pressure drop: 훿푝푘 =
1 |Γ푖| ∫Γ푖 푝푘 − 1 |Γ푛| ∫Γ푛 푝푘
11 / 20
Numerical Experiments: No-slip results
Parameter estimation: ∙ Given measurements at INLET, approximate (erroneous) geometry, estimate plug flow parameter 퐔 ∙ Pressure drop: 훿푝푘 =
1 |Γ푖| ∫Γ푖 푝푘 − 1 |Γ푛| ∫Γ푛 푝푘
Δ = 10% Δ = 20% reference
0.1 0.2 0.3 0.4 5 10 time (s) pressure drop (mmHg) 40% stenosis 0.1 0.2 0.3 0.4 10 20 30 time (s) 50% stenosis 0.1 0.2 0.3 0.4 50 100 time (s) 60% stenosis
11 / 20
Numerical Experiments: No-slip results
∙ measurements only at inlet ∙ Velocity errors: 푘 = ‖퐮푘 − 퐮푘
푟푒푓‖퐿2( ̃ Ω)
Δ = 10% Δ = 20%
0.1 0.2 0.3 0.4 100 200 time (s) 퐿2 velocity error 40% stenosis 0.1 0.2 0.3 0.4 time (s) 50% stenosis 0.1 0.2 0.3 0.4 time (s) 60% stenosis ∙ HUGE errors in 훿푝; plug flow parameter recovered with good precision, within 0.5%
12 / 20
Numerical Experiments: No-slip results
∙ Add measurements in interior! ∙ Error in 휃: 10 − 20% and 25 − 50%
Δ = 10% Δ = 20% reference
−2 2 4 6 훿푝 (mmHg) 40% stenosis 5 10 15 50% stenosis 20 40 60% stenosis 0 0.1 0.2 0.3 0.4 100 200 time (s) velocity error 0 0.1 0.2 0.3 0.4 time (s) 0 0.1 0.2 0.3 0.4 time (s)
13 / 20
Slip/Transpiration BCs
∙ Instead of no-slip boundary conditions: allow for some slip and transpiration on the vessel wall ̃ Γ푤
14 / 20
Slip/Transpiration BCs
∙ Instead of no-slip boundary conditions: allow for some slip and transpiration on the vessel wall ̃ Γ푤 ∙ Slip & transpiration BCs: 퐧 ⋅ [휇∇퐮 − 1푝] ⋅ 퐧 + 훽 퐮 ⋅ 퐧 = 0
- n ̃
Γ푤,
푑−1
∑
푘=1
퐧 ⋅ [휇∇퐮 − 1푝] ⋅ 퐭푘 +
푑−1
∑
푘=1
훾 퐮 ⋅ 퐭푘 = 0
- n ̃
Γ푤, (2) (3) where 훽, 훾 are coefficients controlling the slip and transpiration. ∙ BC is consistent with Poiseuille flow; 훽, 훾 known explicitly
14 / 20
Slip/Transpiration BCs
∙ Instead of no-slip boundary conditions: allow for some slip and transpiration on the vessel wall ̃ Γ푤 ∙ Slip & transpiration BCs: 퐧 ⋅ [휇∇퐮 − 1푝] ⋅ 퐧 + 훽 퐮 ⋅ 퐧 = 0
- n ̃
Γ푤,
푑−1
∑
푘=1
퐧 ⋅ [휇∇퐮 − 1푝] ⋅ 퐭푘 +
푑−1
∑
푘=1
훾 퐮 ⋅ 퐭푘 = 0
- n ̃
Γ푤, (2) (3) where 훽, 훾 are coefficients controlling the slip and transpiration. ∙ BC is consistent with Poiseuille flow; 훽, 훾 known explicitly ∙ General case: estimate parameters
14 / 20
Numerical Experiments: Slip/transpiration results
∙ Measurements: inlet and interior slice ∙ parameters: slip 훾, transpiration 훽, plug flow 퐔
15 / 20
Numerical Experiments: Slip/transpiration results
∙ Measurements: inlet and interior slice ∙ parameters: slip 훾, transpiration 훽, plug flow 퐔
slip Δ = 10% slip Δ = 20% no-slip Δ = 10% no-slip Δ = 20% reference
0.1 0.2 0.3 0.4 −2 2 4 6 time (s) 훿푝 (mmHg) 40% stenosis 0.1 0.2 0.3 0.4 5 10 15 time (s) 50% stenosis 0.1 0.2 0.3 0.4 20 40 time (s) 60% stenosis
15 / 20
Numerical Experiments: Slip/transpiration results
∙ Measurements: inlet and interior slice ∙ parameters: slip 훾, transpiration 훽, plug flow 퐔
slip Δ = 10% slip Δ = 20% no-slip Δ = 10% no-slip Δ = 20% reference
0.1 0.2 0.3 0.4 100 200 time (s) velocity error 0.1 0.2 0.3 0.4 time (s) 0.1 0.2 0.3 0.4 time (s) ∙ accuracy plug flow parameter: 1 − 10% and 10 − 25% for Δ = 10% and 20%
16 / 20
Numerical Experiments: Slip/transpiration results
∙ Accuracy with slip/transpiration much beter than no-slip model for severe stenoses ∙ Plug-flow parameter overestimated with slip/transpiration ▸ increase weight of measurements at the inlet to obtain beter plug flow estimates?
17 / 20
Numerical Experiments: Slip/transpiration results
∙ Accuracy with slip/transpiration much beter than no-slip model for severe stenoses ∙ Plug-flow parameter overestimated with slip/transpiration ▸ increase weight of measurements at the inlet to obtain beter plug flow estimates?
slip Δ = 10% slip Δ = 20% weighted slip Δ = 10% weighted slip Δ = 20% reference
0.1 0.2 0.3 0.4 −2 2 4 6 time (s) 훿푝 (mmHg) 0.1 0.2 0.3 0.4 5 10 time (s) 0.1 0.2 0.3 0.4 10 20 30 time (s)
17 / 20
Numerical Experiments: Slip/transpiration results
∙ With weighted measurements pressure drop estimate more accurate for 40% and 50% ∙ Plug flow parameter within ≤ 1% or 2 − 3% for Δ = 10%, 20% ∙ velocity errors very similar (not shown) ∙ Evolution of parameters over time: (reparameterized as 휃′ = 2휃) 0.1 0.2 0.3 0.4 −40 −20 time (s) 휃 Slip parameter 0.1 0.2 0.3 0.4 12 14 16 time (s) Transpiration param. Δ = 10% Δ = 20% 0.1 0.2 0.3 0.4 5.2 5.4 time (s) Plug flow parameter
18 / 20
Conclusion
∙ Geometrical inaccuracies due to limited image resolution can cause errors in estimated quantities ∙ Improved robustness with slip/transpiration BCs: compensate no-slip errors and improve the accuracy Next steps: ▸ Apply model to real data ▸ Turbulence ▸ FSI?
Phantom of CIB@PUC
19 / 20
Thank you for your atention!
Fractional step algorithm
1. tentative velocity step: 휌 Δ푡 (̃ 퐮푘+1 − 퐮푘) + 휌(퐮푘 ⋅ ∇)̃ 퐮푘+1 + 휌 2 (∇ ⋅ 퐮푘)̃ 퐮푘+1 − ∇ ⋅ (휇∇̃ 퐮푘+1) = ퟎ in Ω (4a) ̃ 퐮푘+1 = 퐠푘+1
푑
- n Γ푑 ⧵ Γ푤
(4b) 휇퐧 ⋅ ∇̃ 퐮푘+1 = ퟎ
- n Γ푛
(4c)
푑−1
∑
푘=1
퐧 ⋅ [ 휇∇̃ 퐮푘+1 − 1푝푘] ⋅ 퐭푘 + 훾 ̃ 퐮푘+1 ⋅ 퐭푘 = 0
- n Γ푤
(4d) 퐧 ⋅ [ 휇∇̃ 퐮푘+1 − 1푝푘] ⋅ 퐧 + 훽̃ 퐮푘+1 ⋅ 퐧 = 0
- n Γ푤.
(4e) 2. projection step: ∇2푝푘+1 = 휌 Δ푡 ∇ ⋅ ̃ 퐮푘+1 in Ω (5a) 퐧 ⋅ ∇푝푘+1 = 0
- n Γ푑 ⧵ Γ푤
(5b) 푝푘+1 = 푔푘+1
푛
- n Γ푛
(5c) 퐧 ⋅ ∇푝푘+1 = 휌 Δ푡 (̃ 퐮푘+1 ⋅ 퐧 − 훽−1푝푘+1)
- n Γ푤
(5d) 3. velocity update step: 퐮푘+1 = ̃ 퐮푘+1 − Δ푡 휌 ∇푝푘+1 in Ω (6) 20 / 20