Keywords

1 Introduction

The motivation of this paper is to build a simulation environment to predict patient-specific tissue response caused by mechanical stimuli. This is particularly important in scenarios where an estimate of such behaviour is available from the population but is not patient-specific. For instance, given the deformed state of a human organ or even the effect of tools interacting with it, the main goal is to sample elastic behaviour from a probability distribution that best characterises the observations.

Soft tissue characterisation is typically performed either in-vivo using Magnetic Resonance Elastography (MRE) via shear wave propagation within a small window of strain (e.g. 500 \(\upmu \mathrm{{m)}}\) [6] or ex-vivo by mechanical loading of small blocks of resected tissue. For human tissue, linear models are only appropriate for small strains (where tissue behaves roughly linearly) and nonlinear hyperelastic models are more appropriate for larger strains. Brain tissue has been widely investigated [11] and recent studies report Ogden hyperelastic models best fit the observations [3, 8, 9]. However, whilst computer-assisted interventions mostly take into account patient-specific anatomy, elastic behaviour is typically modelled with average values reported from the literature. Although it is relevantly easy to compare linear models (Lamé coefficients), it is more difficult to compare hyperelastic models due to differences in model order and coefficient heterogeneity. Furthermore, reported parameters fit observations over a smaller range of strains than necessary for real-time simulation of deformable bodies.

Few generative models have been proposed for sampling mechanical behaviour. In animation, Martin et al. [7] proposed the simulation of complex material behaviour via interpolation in strain space of an example manifold and then compute a force based on elastic potentials to attract a solid to that configuration. This approach later became the foundation of projective dynamics [4]. In multi-scale modelling, Bhattacharjee et al. [2] proposed a model reduction using manifold learning (isomap) and neural networks for hyperelastic heterogeneous materials. Stochastic processes have also been used to model phenomena as random functions including the mechanical characterisation of soft tissue [10].

In this paper, we propose a Gaussian Process for regression to learn a distribution over strain energy density functions that allows for sampling elastic properties of human brain tissue (brain in general, white matter, grey matter and abnormalities) from MRE, linear and hyperelastic models reported in the literature. A Neo-Hookean hyperelastic meta-model is then used to fit samples drawn from the distribution whilst guaranteeing a valid strain energy density function that can be used for real-time simulation.

2 Methods

Elasticity of Brain Tissue. From the literature we collected a total of 73 elastic models with reported coefficients corresponding to MRE, linear and hyperelastic models as strain energy density functions [3, 8, 9, 11]. A strain energy density function \(\varPsi \), or elastic potential, relates strain (represented by the deformation tensor \(\pmb {F}\)) to stress (obtained using the gradient of \(\varPsi \) with respect to F). We can define a nonlinear hyperelastic model \(\varPsi (\lambda _1, \lambda _2, \lambda _3)\) in terms of its principal stretches \(\lambda _i\), where \(\hat{\pmb {F}}\) is calculated using a rotation variant SVD [14, 16] from \(\pmb {F}\) with rotations \(\pmb {U}\) and \(\pmb {V}\) (Eq. 1). For instance, Eq. 1 defines a Neo-Hookean hyperelastic model in terms of \(\lambda _i\) and shear modulus \(\mu \). Although \(\varPsi \) can also be defined in terms of the invariants of the right Cauchy-Green deformation tensor \(\pmb {C}=\pmb {F}^T\pmb {F}\) [15], it becomes difficult to express all materials, e.g. Ogden [16].

Fig. 1.
figure 1

Brain tissue models from the literature expressed in terms of their strain energy density function \(\varPsi \). Horizontal axis represents stretch \(\lambda \) during rest (\(=\)1), compression (<1) and tension (>1). Different ranges of compression/tension tests are shown for MRE (5%), linear (10%) and hyperelastic (<45%) studies. Top: \(\varPsi \) in Pascals. Bottom: natural log transform of \(\varPsi \).

MRE and linear models were also defined in terms of their strain energy density function \(\varPsi _{linear}(\pmb {F}) = \mu _{L} \pmb {\epsilon }:\pmb {\epsilon } + \frac{\lambda _{L}}{2}tr^{2}(\pmb {\epsilon })\), where \(\pmb {\epsilon }= \frac{1}{2}(\pmb {F}+\pmb {F}^T)-I\) is the small strain tensor, and \(\mu _{L}\), \(\lambda _{L}\) are the Lamé coefficients which are related to the material properties (i.e. Young’s modulus and Poisson’s ratio) [13]. We use compression and tension strain ranges when reported in the literature, which was only for hyperelastic models (20, 30, 40, and 45\(\%\)), otherwise we assume strain ranges of for MRE studies and for linear models (Fig. 1 top). Recent studies report fitted parameters of a hyperelastic model independently for compression and tension [3] and these are treated accordingly.

$$\begin{aligned} \begin{gathered} \pmb {F}=\pmb {U}\hat{\pmb {F}}\pmb {V}^T\\ \hat{\pmb {F}} = \begin{bmatrix} \lambda _1 &{} 0 &{} 0 \\ 0 &{} \lambda _2 &{} 0 \\ 0 &{} 0 &{} \lambda _3 \\ \end{bmatrix} \\ \varPsi _{N-H} = \frac{\mu }{2}(\lambda _1^2 + \lambda _2^2 + \lambda _3^2 - 3) \end{gathered} \end{aligned}$$
(1)

Generative Model. Gaussian Process (GP) regression is a non-parametric Bayesian approach to learn distributions over functions [12]. We define a multi-task GP following an Intrinsic Coregionalization Model (ICM) [1] where we assume correlation among the tasks with heterotopic data \(D_t\) (\(N=73\)) sampled from different patients/brain regions and under different experimental conditions (Eq. 2). We define a total of \(T=12\) tasks (\(f_{\mathcal {GP}_t}(\pmb {\lambda }_t)\), \(t=1,\dotsc ,T\)) related to the combination of brain tissue types (brain in general, white matter, grey matter and abnormalities) and elastic model types (MRE, linear, hyperelastic). Each curve is discretised in \(I=100\) points and the number of curves in each task may vary (\(n \in t\)). \(\varPsi \) varies significantly across stretches finding their log space (\(ln \varPsi \)) easier to optimise. Each task \(f_{\mathcal {GP}_t}(\pmb {\lambda }_t)\) is a multiple output vector-valued function that takes as inputs stretches \(\pmb {\lambda }_t \in \mathfrak {R}^{1xI}\) (x-axis of Fig. 1) and as outputs strain energy density functions in log space (\(ln \varPsi \), y-axis in Fig. 1 bottom) with Gaussian noise \(\pmb {\epsilon }_t \sim \mathcal {N}(\pmb {0},\pmb {\sigma }_t^2)\) (Eq. 3). The proposed kernel structure is a Matérn 3/2 covariance kernel \(k(\pmb {\lambda }_t,\pmb {\lambda }_t') = k_{M3/2}\) that captures the covariance within tasks. The covariance across tasks is mapped with the coregionalization matrix \(\pmb {B}\), which is positive-definite and defined by \(\pmb {B}=\pmb {W}\pmb {W}^T + \pmb {\kappa }_t\pmb {I}\), where \(\pmb {W}\) is of rank 1 and relates to coefficients used for the linear interpolation of \(f_{\mathcal {GP}_t}(\pmb {\lambda }_t)\) and \(\kappa \) reflects the variance across tasks (Eq. 4). The GP regression optimisation has 38 parameters (Matérn length scale and variance, as well as 12-valued vectors \(\pmb {\text {W}}\), \(\pmb {\kappa }_t\) and \(\pmb {\sigma }_t^2\)). \(k_{M3/2}\) is initialised with a unit variance (fixed), and length scale of 0.01. After GP optimisation, we draw samples from the distribution \(f_{\mathcal {GP}_t}(\pmb {\lambda }_t)\) for a task t and a range of stretches \(\pmb {\lambda }_t\). We sample over a range of , where \(\mu _s\) and \(\sigma _s\) are the mean and standard deviation of the distribution, respectively.

$$\begin{aligned} \begin{gathered} D_t = \{(\pmb {\lambda }_{i,n}, ln~\varPsi _n(\pmb {\lambda }_{i,n})) \mid i \in I, n \in N, t \in T, n \in t \} \end{gathered} \end{aligned}$$
(2)
$$\begin{aligned} \begin{gathered} ln~\varPsi _{\mathcal {GP}_t}(\pmb {\lambda }_t) \sim \mathcal {GP}(0, k(\pmb {\lambda }_t,\pmb {\lambda }_t'))\\ f_{\mathcal {GP}_t}(\pmb {\lambda }_t) = ln~\varPsi _{\mathcal {GP}_t}(\pmb {\lambda }_t) + \pmb {\epsilon }_t \end{gathered} \end{aligned}$$
(3)
$$\begin{aligned} \begin{bmatrix} f_{\mathcal {GP}_1}(\pmb {\lambda }_t) \\ \vdots \\ f_{\mathcal {GP}_T}(\pmb {\lambda }_T) \end{bmatrix} \sim \mathcal {N}\left( \begin{bmatrix} \pmb {0} \\ \vdots \\ \pmb {0} \end{bmatrix}, \pmb {B}\otimes \pmb {K} + \pmb {\sigma }_t^2 \pmb {I} \right) \end{aligned}$$
(4)

Hyperelastic Meta-model. We define a compressible Neo-Hookean hyperelastic meta-model \(\varPsi _{meta}\) (Eq. 5a) using Lamé coefficients \(\mu _m\), \(\lambda _m\), principal stretches \(\lambda _{i=1,2,3}\) (Eq. 1) and \(J=\lambda _1\lambda _2\lambda _3\) to fit the samples described above. For a uniaxial tension/compression mechanical test, \(\varPsi _{meta}\) can be reduced to \(\varPsi _{opt}(\lambda _1, \lambda _1^{-\frac{1}{2}}, \lambda _1^{-\frac{1}{2}}) = \frac{\mu _m}{2} (\lambda _1^2 + 2 \lambda _1^{-1} -3)\). \(ln \varPsi _{opt}\) is then used to fit the sample via non-linear least squares optimisation with a bound on weight \(\mu _m\) to be positive. For real-time simulation, we define \(\varPsi _{meta}\) in terms of its principal stretches \(\lambda _i\) and express it using the Valanis-Landel hypothesis (Eq. 5b) similar to [16], where \(f(\lambda _i)\), \(g(\lambda _i\lambda _j)\) and \(h(\lambda _1\lambda _2\lambda _3)\) are one-dimensional strain energy density functions for uniaxial, biaxial and triaxial strain, respectively.

$$\begin{aligned} \varPsi _{meta} = \frac{\mu _m}{2}(\lambda _1^2 + \lambda _2^2 + \lambda _3^2 - 3) - \mu _m ln J + \frac{\lambda _m}{2}(ln J)^2 \end{aligned}$$
(5a)
$$\begin{aligned} f(\lambda _i) = \frac{\mu _m}{2}(\lambda _i^2 - 1), \ \ \ \ \ \ g(\lambda _i\lambda _j) = 0, \ \ \ \ \ \ h(J) = -\mu _m ln J + \frac{\lambda _m}{2}(ln J)^2 \end{aligned}$$
(5b)

Implementation. The presented generative model is implemented in Python (3.6). For each elastic model from the literature, we describe \(\varPsi \) in terms of their principal stretches \(\lambda _i\) using symbolic mathematics with SymPy (1.3) and evaluate it for a uniaxial tensile/compressible mechanical test. The GP is implemented in GPy (1.9.6) [5] and its parameters are optimised using the default bound constrained optimisation L-BFGS-B algorithm in SciPy (1.2.1). Least square minimisation of \(\varPsi _{opt}\) was performed with the Trust Region Reflective (trf) method in SciPy. For real-time simulation, we implemented a hyperelastic Finite Element Model partly based on VegaFEM (http://run.usc.edu/vega/) and following [14, 16] as a native C++ plugin executed using the Unity3D game engine.

Validation. We evaluate the performance of the GP by reporting learnt parameters and inference across the confidence interval given a brain tissue and elastic model type. We report the performance of \(\varPsi _{meta}\) and validate our approach by running real-time nonlinear hyperelastic FEM simulation (see above) for each inferred strain energy density functions when applying external forces (10 N) to a subset of nodes of a volumetric tetrahedral mesh obtained from a human brain segmented using a T1-w MRI and Geodesic Information Flow (GIF) parcellation (Fig. 2). The volumetric deformable model (in yellow) consists of 437 tetrahedra and 163 nodes, whereas the surface model (in pink) consists of 50,000 triangles and 24580 vertices. Dirichlet fixed boundary conditions (in green) where defined on 10 vertices at the base of the brain and falx cerebri (as in [11]) based on two primitive boxes (in green).

Fig. 2.
figure 2

From a T1-weighted MRI (a) we determine a brain parcellation using GIF (b). The parcellation is used to create a fine surface and coarse volumetric mesh of the human brain. (c) Volumetric elements are shown in yellow with red spheres indicating nodes where external forces (10 N) are applied to in the direction towards the screen. (d) Boundary conditions are defined by fixing nodes inside green boxes located at the base of the brain and falx cerebri. (Color figure online)

3 Results

Table 1 reports the variance (\(\pmb {\kappa }_t\)) and noise (\(\pmb {\sigma }_t^2\)) for the best fit GP, using a Matérn 3/2 kernel, \(T=12\) tasks and rank \(\pmb {W}=1\). As shown in the table, the hyperelastic models had the highest variance and noise for the task considered. We found the GP converged and better fit means and confidence intervals (including extended ranges of stretches than those reported in the literature) compared to other kernels tested including squared exponential, linear, bias and simple combinations of these.

Table 1. Number of samples (n), GP parameters (\(\pmb {\kappa }_t\), \(\pmb {\sigma }_t^2\)) and nonlinear least squares optimisation cost of \(\varPsi _{opt}\) for a total of \(T=12\) tasks (elastic model and tissue types).

Validation of Meta-model. We evaluated the performance of \(\varPsi _{opt}\) to represent \(\varPsi \) models from the literature using nonlinear least squares optimisation. We observe higher optimisation costs of hyperelastic models compared to linear models (Table 1). The highest errors are observed in cases where multiple terms are used and tension/compression tests are modelled independently (Fig. 3).

Fig. 3.
figure 3

Full (top) and close-up view (bottom) of meta-model (dash/solid) fitted to four linear elastic (left) and four hyperelastic (right) models (circles) in \(ln \varPsi \) and \(\varPsi \) space. Although the meta-model adequately fits linear data, it underperforms fitting hyperelastic models with n-terms (pink) or are defined as mixed models (grey/orange). (Color figure online)

Fig. 4.
figure 4

Top: GP of three tasks (MRE-GM, hyperelastic-WM and -healthy brain tissue) learnt in \(ln \varPsi \) showing data (+), mean (blue), and confidence interval CI (light blue). Bottom: CI is transformed to \(\varPsi \) space (dashed lines) with 10 samples drawn from the distribution (circles) and fitted to a Neo-Hookean meta-model (black lines). (Color figure online)

Validation of Generative Model. We examine three learnt GP functions (Fig. 4). The proposed GP is able to fit well the mean and variance of strain energy density functions in log space (\(ln \varPsi \)) for linear models in general. Small variations in log space are translated into significant changes in \(\varPsi \), where differences are noticeable between grey matter and white matter tissue. When generating samples for linear models and fitting the proposed Neo-Hookean meta-model, smooth and uniform samples (lines in grey colour) are obtained within the confidence interval. Related to hyperelastic models, we were also able to capture a function spanning different ranges of stretches. However, the fluctuations observed in \(\varPsi \) space of healthy brain tissue are the result of the variability reported in the literature. The data used for white matter (Fig. 4 centre) describes \(\varPsi \) in two different parts (one for tension and one for compression) that one Neo-Hookean meta-model with a single term is unable to capture, resulting in regions of the meta-model falling outside of the confidence interval. Despite this limitation, the meta-model is able to cope with fluctuations and therefore avoids negative slopes in the gradient that cause instabilities during real-time simulation.

Validation of Generative Model and Meta-model. We demonstrate our approach by estimating the elastic parameters of brain tissue given a reference deformed state, a hyperelastic model of white matter (corpus callosum) consisting of two models (compression and tension) [3], which is loaded into our simulation platform and where external forces are applied as in Fig. 2. To validate our approach six samples are drawn from the hyperelastic white matter distribution (Fig. 4 centre) within \(-2\sigma _s\) and \(+2\sigma _s\) from the mean \(\mu _s\), i.e. from soft to hard, respectively (Fig. 5 blue series). Each sample is then fitted to the proposed meta-model (Fig. 5 orange series) and the optimised shear modulus \(\mu _m\) is used to initialise the nonlinear hyperelastic FEM before applying an external force of 10 N to a subset of nodes (Fig. 2). After 3 s, we compute node displacements with respect to the reference nodes and quantify similarity by means of root-mean-squared error (RMSE) of node displacements (Fig. 5 bottom). Given the RMSE, we confirmed that the reference elastic behaviour is between \(+1.2\sigma \) and \(+2\sigma \) from the mean. Although external forces are difficult to measure during a real scenario, recent approaches attempt to estimate these using machine learning algorithms. With better boundary conditions and accounting for different types of regions in the brain, we envisage that the presented generative model could be used similarly as the validation described above to estimate elastic properties that characterise nonlinear deformation.

Fig. 5.
figure 5

Estimating elastic behaviour by drawing six samples [\(\mu _s-2\sigma _s\),\(\mu _s+2\sigma _s\)] from white matter hyperelastic distribution. Top: Mean and confidence interval (grey), sample from distribution (blue), and meta-model (orange) for each sample along a reference picked from the literature. Bottom: Colour map indicating (red) the Euclidean distance of each volumetric node to those nodes of a reference state with similarity quantified as root-mean-squared error in mm. (Color figure online)

4 Conclusion and Future Work

Our approach allows for sampling strain energy density functions from a GP regression method to approximate elastic behaviour of human brain tissue. There are numerous ways of extending this work in the future. Further studies could incorporate combined load and other factors such as age, fibre orientation or differentiate between different regions of similar type of tissue. Further work will investigate other strategies of GP kernel choice and extend our meta-model to models with more terms such as Ogden.