Fast implementations of contextual PDE’s for HARDI data processing in DIPY
Stephan Meesters1, Gonzalo Sanguinetti1, Eleftherios Garyfallidis2, Jorg Portegies1, and Remco Duits1

1Department of Mathematics and Computer Science, Eindhoven University of Technology, Eindhoven, Netherlands, 2Computer Science Department, University of Sherbrooke, Sherbrooke, QC, Canada

Synopsis

We present a novel open-source module that implements a contextual PDE framework for processing HARDI data. It’s potential in enhancement of ODF/FOD fields is demonstrated where the aim is to enhance the alignment of elongated structures while preserving crossings. The method for contextual enhancement is based on a hypo-elliptic PDE defined in the domain of coupled positions and orientations and can be solved with a shift-twist convolution. The module is available in the DIPY (Diffusion Imaging in Python) software library, which makes it widely available for the neuroimaging community.

Purpose

We present a novel open-source module, included in the DIPY (Diffusion Imaging in Python) software library1, implementing the contextual PDE framework of Portegies et al.2 for processing HARDI data. Here we propose an efficient implementation based on multithreaded processing and pre-computed lookup tables that enable large scale experiments. We demonstrate its potential in crossing-preserving enhancement of ODF/FOD fields where the aim is to enhance the alignment of elongated structures such that crossings are maintained.

Methods

The contextual enhancement method is based on a linear (hypo-elliptic) PDE in the domain of coupled positions and orientations3 $$$\mathbb{R}^3 \rtimes S^2$$$. This domain carries a non-flat geometrical differential structure, that allows including a notion of alignment between neighboring points2. Let $$$({\bf y},{\bf n}) \in \mathbb{R}^3\rtimes S^2$$$ where $$${\bf y}$$$ and $$${\bf n}$$$ denote the spatial and angular part, respectively. Let $$$W:\mathbb{R}^3 \rtimes S^2 \times \mathbb{R}^+ \to \mathbb{R}$$$ be the function representing the evolution of FOD/ODF field. Then, the contextual PDE with evolution time $$$t\geq 0$$$ is given by:

$$\begin{cases} \frac{\partial}{\partial t} W({\bf y},{\bf n},t) &= ((D^{33}({\bf n} \cdot \nabla)^2 + D^{44} \Delta_{S^2})W)({\bf y},{\bf n},t) \\ W({\bf y},{\bf n},0) &= U({\bf y},{\bf n}), \end{cases}$$

where $$$D^{33}>0$$$ is the coefficient for the spatial smoothing which occurs strictly in the direction of $$$n$$$; $$$D^{44}>0$$$ is the coefficient for the angular smoothing ($$$\Delta_{S^2}$$$ denotes the Laplace-Beltrami operator on the sphere $$$S^2$$$); $$$U:\mathbb{R}^3\rtimes S^2 \to \mathbb{R}$$$ is the initial condition. The equation is solved via a shift-twist convolution (denoted by $$$\ast_{\mathbb{R}^3\rtimes S^2}$$$) with its corresponding kernel $$$P_t:\mathbb{R}^3\rtimes S^2 \to \mathbb{R}^+$$$:

$$W({\bf y},{\bf n},t) = (P_t \ast_{\mathbb{R}^3 \rtimes S^2} U)({\bf y},{\bf n}) = \int_{\mathbb{R}^3} \int_{S^2} P_t (R^T_{{\bf n}^\prime}({\bf y}-{\bf y}^\prime), R^T_{{\bf n}^\prime} {\bf n} ) U({\bf y}^\prime, {\bf n}^\prime) \hspace{0.2em} d\sigma ({\bf n}^\prime) d{\bf y}^\prime.$$

Here, $$$R_{\bf n}$$$ is a 3D rotation that maps the vector $$$(0,0,1)$$$ onto $$${\bf n}$$$ and $$$d\sigma({\bf n^\prime})$$$ is the usual surface measure on the sphere $$$S^2$$$. The kernel $$$P_t$$$ has a stochastic interpretation, see Fig. 1. It can be seen as the limiting distribution obtained by accumulating random walks of particles in the position/orientation domain, where in each step the particles can (randomly) move forward/backward along their current orientation, and (randomly) change their orientation. In practice, as the exact analytical formulas for the kernel $$$P_t$$$ are yet unknown, we use the recent approximation given by Portegies et al.4 The shift-twist convolutions are implemented using the Cython language and multithread processing via the OpenMP library. Following ideas in Rodriguez et al.5, further speedup is achieved by computing lookup-tables containing rotated versions of the kernel $$$P_t$$$ sampled over a discrete set of orientations. In order to ensure rotationally invariant processing, the discrete orientations are required to be equally distributed over a sphere, obtained by an electrostatic repulsion model6.

Results

An example illustrating the method is performed on the Stanford HARDI dataset7 (150 orientations, b=2000s/mm^2) where Rician noise is added. CSD8 is first applied to create the FOD field in Fig. 2b. The result of the enhancement for $$$D_{33}=1$$$, $$$D_{44}=0.02$$$ and $$$t=1$$$ is depicted in Fig. 2c. For those parameters, the kernel is sampled on a 7x7x7 spatial grid and 100 orientations. Optionally, in order to recover sharp angular distributions, one can apply the Spherical Deconvolution Transform (SDT)9 to obtain the results in Fig. 2d. For comparison we applied CSD to the original data (the data without the added noise), see Fig 2a. The better alignment of glyphs shows that a significant enhancement of the coherent structures is achieved. This is also supported quantitatively by computation of the average angular error10 w.r.t to the original data, which is 23.5° for the enhanced data and 33.8° for the noisy data. Regarding computation time, after a one-time computation of the lookup-table (taking several minutes) for the same experiment a speed up of 209% is achieved w.r.t. the finite difference implementation proposed by Creusen et al11 (explicit scheme, $$$\Delta t = 0.05$$$).

Discussion

Although contextual PDEs had proven to be useful in different clinical applications2,12, their use had been limited due to the lack of flexible implementations or their inherent high computational demands. Our new open source module available in DIPY makes the framework presented here widely available to the neuroimage community and flexible to be included within the existing processing pipeline of DIPY. The novel implementation of the shift-twist convolution via multithreading and lookup-tables allow for large scale experiments. A similar framework can be applied to other contextual PDE applications, e.g. morphological operations in ODF fields13. Fiber-to-bundle coherence measures2 can be obtained using the same routines and will be included in DIPY.

Acknowledgements

The research leading to these results has received funding from the European Research Council under the European Community's Seventh Framework Programme (FP7/2007-2014) / ERC grant agreement no. 335555.

References

1. E. Garyfallidis, M. Brett, B. Amirbekian, et al. Front Neuroinform, 2014; 8:8
2. J. Portegies, R. Fick, G. Sanguinetti, et al. PLoS One. 2015
3. R. Duits and E. Franken. IJCV. 2011; 92:231-264
4. J. Portegies, G. Sanguinetti, S. Meesters, et al. SSVM. 2015. pp. 40-52
5. P. Rodriguez, R. Duits, B. Romeny, et al. EG VCBM. 2010. pp 1-8
6. D. Jones, M. Horsfield, and A. Simmons. MRM, 1999. 42(3):515-525
7. A. Rokem, J. Yeatman, F. Pestilli, et al. PLoS One. DOI: 10.1371/journal.pone.0123272
8. J. Tournier, F. Calamante, and A. Connelly. NeuroImage. 35(4):1459–1472.
9. M. Descoteaux, A. Anwander, T.R. Knösche, et al. TMI. 2009; 28:269-286
10. A. Daducci, E. Canales-Rodriguez, M. Descoteaux, et al. TMI. 2014; 33(2):384-399
11. E. Creusen, R. Duits and T. Dela Haije, SSVM. 2011. 6667:14-25
12. V. Prckovska, M. Andorrà, P. Villoslada, et al. Visualization and Processing of Higher Order Descriptors for Multi-Valued Data. pp. 353-377
13. R. Duits, T. Dela Haije, E. Creusen, et al. JMIV. 2013; 46(3):326-368

Figures

Figure 1. A) Random paths simulating the stochastic process. B) The contour enhancement kernel arises from the accumulation of infinitely many sample paths. The red glyphs are a representation of the kernel at each grid point. C) The contour enhancement kernel oriented in the positive z-direction. Figure adapted from [2].

Figure 2. A) FOD field (only a slice 15x15 is displayed) of the original data obtained via CSD. B) CSD of the data+noise (SNR=4) C) Contextual enhancement eliminates small data incoherence and enhance elongated structures. D) Optionally, sharp angular distributions are obtained by subsequently applying the Spherical Deconvolution Transform [9].



Proc. Intl. Soc. Mag. Reson. Med. 24 (2016)
2055