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
library
1, 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 dataset
7 (150 orientations, b=2000s/mm^2) where Rician
noise is added. CSD
8 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 error
10 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 al
11 (explicit scheme, $$$\Delta t = 0.05$$$).
Discussion
Although contextual
PDEs had proven to be useful in different clinical applications
2,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 fields
13. Fiber-to-bundle coherence measures
2 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