1 Introduction

Tensor fields have been become an important topic, because they are used in various fields. For example, stress tensor fields (Fig. 1a) can describe the response of a material to applied forces (Burgkart et al. 2009; Hotz et al. 2004; Kratz et al. 2011; Ren et al. 2017, 2019). Diffusion tensor fields have served as a common representation platform for describing the anisotropic behaviors in medical datasets and effectively allow us to track characteristic biological tissues such as nerve and muscle fibers (Basser 1995; McGraw et al. 2004; Sepasian et al. 2015) (Fig. 1b). Diffusion tensor fields can also be used for quadrilateral/hexahedral mesh generation (Bi et al. 2012; Palacios et al. 2016; Yang et al. 2018) for finite element analysis in industrial manufacturing (Fujishiro et al. 2002; Ito and Okuda 2007) (Fig. 1c). Furthermore, general tensor fields can also be used for analyzing high-dimensional data (Abbasloo et al. 2016; Bi et al. 2017, 2018, 2019; Weiss and Lindstrom 2016) (Fig. 1d).

Fig. 1
figure 1

Tensor fields are used in various applications: a stress tensor fields (Hotz et al. 2004), b nerve fibers in human brain (Sepasian et al. 2015), c mesh generation for the finite element analysis (Palacios et al. 2016), and d adaptive multilinear tensor product wavelets (Weiss and Lindstrom 2016)

In order to take good use of all these merits of tensor fields, it is necessary for us to further understand the interior features of tensor fields. Here, visualization of tensor fields can help us to study more unknown properties. Currently, there are mainly two kinds of visualization methods for tensor fields, as shown in Fig. 2: glyphs and streamlines.

Fig. 2
figure 2

Taxonomy for visualization of tensor fields: glyphs and streamlines

Glyphs can be used to visualize a second-order 2D (or 3D) tensor (Gerrits et al. 2017), which can be defined by a 2 × 2 (or 3 × 3) matrix. Kindlmann and Weinstein (1999) have given out a most intuitive example for understanding the simplest glyph for visualization of a tensor, as shown in Fig. 3. When water drops at a newspaper, water molecules will move in random orientations (Brownian motion). If the movements of these water molecules are completely random, their paths will form a circle, as shown in the left of Fig. 3. This is the visualization of an isotropic tensor, which also leads to a great challenge in streamlines tracking due to its non-orientational properties. Actually, in most case, the motion of water molecules will be affected by surrounding environments, like the texture of surface, the gravity of water molecules, and so on. Figure 3 shows that the movement of the water molecules in horizontal orientation is larger than that in vertical orientations. This is called anisotropy of a tensor. The two orientations of the movements can be represented by the eigenvectors of the diffusion tensor, while the length of the movements can be represented by the corresponding eigenvalues. Therefore, the matrix of a diffusion tensor is a symmetrical positive-defined matrix. The detailed definitions will be given in Sect. 2.

Fig. 3
figure 3

Water diffusion results in kleenex and newspaper, respectively (Kindlmann and Weinstein 1999)

Meanwhile, in general, the matrix of a tensor is not symmetrical positive defined. In another word, the eigenvalues of a tensor matrix maybe negative, even imaginary number. In this case, it will be difficult to visualize a tensor using a glyph. Because we do not know how to draw a line whose length is negative or imaginary number. Actually, this is also carefully visualized using color, shape, size, and some other visualization symbols. Therefore, in this paper, the tensor visualization methods using glyphs will be classified according to the properties of the eigenvalues of a tensor sample. As shown in Fig. 2, the visualization of a tensor whose all eigenvalues are positive will be introduced firstly, followed by the tensor with negative eigenvalues and imaginary eigenvalues. Finally, it is also described to visualize the difference of two tensors using one glyph (Zhang et al. 2016).

Streamlines can be used to describe the anisotropic behaviors behind tensor fields. For tracking the streamlines in a tensor field, there are mainly three important issues that need to be dealt with carefully:

  • Seed points (streamlines) selection;

  • Interpolation method;

  • Discontinuity around degenerate points (isotropic tensors).

Firstly, seed points (streamlines) selection is very important for good visualization results. Too many seed points (such as all tensor samples) will cause streamlines intersection, visual confusion, and some other problems. Meanwhile, selecting seed points evenly is not equal generating streamlines evenly. This is because the tracing orientations will be changed around degenerate points. This will also cause streamlines intersection. Therefore, a good seed points selection method should satisfy streamlines which are evenly distributed without intersection. For this purpose, the isotropic tensors should be well dealt with.

Secondly, interpolation scheme is also important for tracking the streamlines in a tensor field. Existing interpolation approaches can be divided into matrix-based interpolation and eigen-based interpolation, as shown in Fig. 2. The merits of matrix-based interpolation include simple and continuity, but this kind of interpolation method cannot keep the anisotropic features of tensor fields. On the other hand, the eigen-based interpolation methods can fully retain the anisotropic features of tensor fields. This is because the eigenvalues and eigenvectors are interpolated, respectively. However, withdraw of the eigen-based interpolation is the discontinuity around degenerate points.

Finally, we can see that isotropic tensors play an important role in both seed point selection and interpolation. The most important feature of an isotropic tensor is that no tracking orientation can be obtained. This means that the tracking process can be started and ended at isotropic tensors. Therefore, the properties of isotropic tensors are also researched, such as the degenerate lines are detected in Bi et al. (2010a, b, 2011). The topological structure of tensor fields is also studied and visualized in (Wang and Hotz 2017; Zheng and Pang 2004; Zheng et al. 2005).

The remainder of this paper is organized as follows: Sect. 2 provides several related basic and important definitions for visualization of tensor fields. Section 3 introduces three kinds of tensor fields visualizations using glyphs; followed by description of streamlines for tracking tensor fields in Sect. 4. Section 5 discusses existing technical challenges and possible orientations for future research. Section 6 concludes the paper.

2 Fundamentals

In this paper, we mainly introduce the glyph visualization for second-order 2D/3D tensor fields, and the streamlines tracking for second-order 2D/3D diffusion tensor fields. Therefore, in this section, several definitions about second-order 2D/3D tensor fields will be given.

2.1 A second-order 2D/3D tensor

In mathematical, a second-order 3D (2D) tensor (T) can be represented as a 3 × 3 (2 × 2) matrix. The eigenvectors (ei, i = 1, 2, 3) and eigenvalues (λi, i = 1, 2, 3) of the matrix can be used to visualize the tensor.

Here, we can simply divide tensors into three sets according to its eigenvalues.

  • S1 all eigenvalues are positive;

  • S2 all eigenvalues are real, but including negative eigenvalues;

  • S3 imaginary eigenvalues exist.

All these three sets of tensors will be visualized using glyphs.

2.2 Anisotropy of a diffusion tensor

Diffusion tensor is a special case in set S1. The matrix of 3D diffusion tensor is a symmetrical positive matrix. The eigenvalues and eigenvectors can be used to draw a glyph for visualization, as shown in Fig. 4. The orientations of the ellipsoid coordinate axes can be represented by the eigenvectors. Here, e1, e2, and e3 form the orthonormal basis of the ellipsoid. The lengths of the ellipsoid coordinate axes are the corresponding eigenvalues (λ1 ≥ λ2 ≥ λ3). Of course, besides ellipsoid, a tensor can also be visualized by other glyphs, such as superquadric (Kindlmann 2004a, b; Kindlmann and Westin 2006; Schultz and Kindlmann 2010a, b).

Fig. 4
figure 4

A diffusion tensor can be represented by an ellipsoid (Bi 2012; Bi et al. 2010). The orientations of the ellipsoid coordinate axes are represented by the eigenvectors. The length is the corresponding eigenvalues

The anisotropy is an important property, which can be characterized by the magnitudes of the eigenvalues. A tensor with high anisotropy means that the largest eigenvalues is much larger than the other two. The corresponding eigenvector orientation can be used to track the streamlines of a tensor field. This is because this orientation represents the main moving orientation of Brownian motion. Therefore, the anisotropy of a diffusion tensor is also well researched. Several metrics for evaluating such anisotropy have been proposed in Pierpaoli and Basser 2000; Westin et al. 1997. These metrics include linearity (Cl), planarity (Cp), sphericity (Cs), and fractional anisotropy (FA) as follows:

$$C_{\text{l}} = \left( {\lambda_{1} - \lambda_{2} } \right)/\left( {\lambda_{1} + \lambda_{2} + \lambda_{3} } \right),$$
(1)
$$C_{\text{p}} = 2\left( {\lambda_{2} - \lambda_{3} } \right)/\left( {\lambda_{1} + \lambda_{2} + \lambda_{3} } \right),$$
(2)
$$C_{\text{s}} = 3\lambda_{3} /\left( {\lambda_{1} + \lambda_{2} + \lambda_{3} } \right),$$
(3)
$$\begin{aligned} {\text{FA}} = \frac{{\sqrt {3\left( {\left( {\lambda_{1} - \bar{\lambda }} \right)^{2} + \left( {\lambda_{2} - \bar{\lambda }} \right)^{2} + \left( {\lambda_{3} - \bar{\lambda }} \right)^{2} } \right)} }}{{\sqrt{2\left( {\lambda_{1}^{2} + \lambda_{2}^{2} + \lambda_{3}^{2} } \right)}}}, \hfill \\ {\text{where}}\;\bar{\lambda } = \left( {\lambda_{1} + \lambda_{2} + \lambda_{3} } \right)/3 \hfill \\ \end{aligned}$$
(4)

Note that Cl + Cp+ Cs = 1 and 0 ≤ Cl, Cp, Cs, FA ≤ 1. The relationship among them (Alexander et al. 2000; Kindlmann et al. 2000) can be visualized as Fig. 5.

Fig. 5
figure 5

Relationship (Kindlmann et al. 2000) among the metrics Cl, Cs, Cp, and FA

Isotropic tensor is a diffusion tensor which has at least two same eigenvalues. Tracking streamlines around isotropic tensors is a very challenging task. This is because the Brownian motion has no move orientation. The topological configuration of isotropic tensor has been well investigated (Hesselink et al. 1997; Schultz 2011; Zheng et al. 2005). We also call the isotropic tensor in a tensor field as degenerate point. Figure 6a shows the three kinds of degenerate points for 2D tensor field: trisection, double wedge, and single wedge. Here, the red point is the generate point. The methods of locating degenerate points in a diffusion tensor fields were also researched in (Barrick and Clark 2004; Bi et al. 2010a; Peikert and Sadlo 2008). Furthermore, degenerate lines (Tricoche et al. 2008; Zheng et al. 2005) and degenerate surfaces (Kindlmann et al. 2006, 2007; Schultz et al. 2007, 2010) were also researched, as shown in Fig. 6b, c.

Fig. 6
figure 6

Topological of degenerate points a (Zheng et al. 2005a), degenerate lines b (Zheng et al. 2005b), and degenerate surfaces c (Kindlmann et al. 2006)

3 Tensor visualization using glyphs

In this section, we will introduce existing glyphs visualization methods for tensor fields. Glyphs for tensors have been studied more than 20 years, such as probe graph (De Leeuw et al. 1993), Reynolds stress glyphs (Moore et al. 1995), and so on. As described in Fig. 2, a glyph for one tensor will be given firstly in Sect. 3.1, followed by the glyph that can show the difference between two tensors in Sect. 3.2.

3.1 The glyph for one tensor

For visualization of one tensor using glyphs, we will classify the glyph visualization methods according to their eigenvalues. Our explanation will start from the diffusion tensors with all positive eigenvalues in Sect. 3.1.1 to that with negative eigenvalues in Sect. 3.1.2, until the tensor whose eigenvalues include imaginary number in Sect. 3.1.3.

3.1.1 Visualizing the tensor with all positive eigenvalues

The glyphs for tensor visualization with all positive eigenvalues include: cuboid, cylinder, ellipsoid, and superquadric. All these four kinds of glyphs can be drawn by using the three eigenvectors and eigenvalues.

Cuboid is the simplest to be drawn, but it causes misleading orientation for the tensor whose linearity (Cl) is 0, as shown in the right bottom of Fig. 7a. The two orientations of the tensor inside the red circle can be arbitrary. In order to resolve this problem, cylinder is designed, as shown in Fig. 7b. However, cylinder causes a new problem. Discontinuity occurs in the tensor field visualized by cylinder, marked by the red broken line in Fig. 7b. After that ellipsoid is proposed which can fully resolve both of these two issues (Fig. 7c).

Fig. 7
figure 7

Four kinds of glyph visualization of tensor fields (Kindlmann 2004a): a cuboids (Golub and Loan 1996), b cylinders (Westin et al. 1999), c ellipsoids, and d superquadric. The red circle in a shows that the orientation of the tensor cannot be decided uniquely. The red broken line in b shows the discontinuity in the tensor field

Ellipsoid is still used today, although it is also not perfect. Figure 8a, b shows the visual ambiguous of ellipsoid glyphs, which is called bas-relief ambiguity (Belhumeur et al. 1999). The eight tensors in Fig. 8a are different tensors, but it seems that they are the same tensor due to the different viewpoints. On the other hand, the eight tensors in Fig. 8b are the same tensor from different viewpoints. It seems that they are eight different tensors. In order to resolve this visual ambiguous problem caused by different viewpoints, the superquadric tensor glyph is proposed, as shown in Fig. 8c, d. Superquadric tensor glyphs combine all merits of cuboid, cylinder, and ellipsoid, while also resolve all the ambiguous problems of them. The final result is shown in Fig. 7d. More details about superquadric can be found in (Ebert and Rheingans 2000; Ebert and Shaw 2001; Ennis et al. 2004).

Fig. 8
figure 8

Ambiguous of ellipsoid glyphs due to different viewpoints (Kindlmann 2004): a the eight different tensors, but seems the same using ellipsoid glyphs, b the eight same tensors, but seems different using ellipsoid glyphs, c the eight different tensors using superquadric glyphs, d the eight same tensors using superquadric glyphs

Finally, Kratz et al. (2013) also gave a detailed survey only for symmetric positive-defined second-order tensors. Of course, both glyphs and streamlines of such kind of tensors have been surveyed in their paper.

3.1.2 Visualizing the tensor with negative eigenvalues

In this section, we will describe how to visualize the tensor whose eigenvalues are real but with negative numbers. Schultz and Kindlmann (2010a) give an effective but simple method to visualize such kind of tensor using glyphs.

As shown in Fig. 9a, b, the main idea can be summarized as:

Fig. 9
figure 9

Glyphs for the tensors with negative eigenvalues. a and b give the simple definition to visualize the negative eigenvalues. If two eigenvalues have the same sign (both of them are positive or negative), a convex arc is used to connect them, as shown in (a). On the other hand, a concave arc (b) is used to connect two eigenvalues with different signs (one positive and one negative). The details of distribution of different eigenvalues are shown in (c). d is the corresponding visualization results (Schultz and Kindlmann 2010b). Note that all positive [the top in (c) and (d)] are distinguished with all negative (the bottom) using different color

  • Convex arc if two eigenvalues have the same sign, like two positive or two negatives, then use a convex arc to connect their eigenvectors (Fig. 9a);

  • Concave arc if two eigenvalues have the different sign, one positive and one negative, then use a concave arc to connect their eigenvectors (Fig. 9b);

  • Color for the convex arc, color is used to distinguish two positives (red) and two negatives (blue) (Fig. 9c, d).

Furthermore, Fig. 9c gives the distribution of eigenvalue space. This is achieved by using the Mercator projection (Weisstein 2003) to flatten the lune to the shape of Fig. 9c. Here, the north and south poles of a tensor shape globe are the positive isotopic and negative isotropic, respectively. The visualization result using superquadric is shown in Fig. 9d. More details can be found in Schultz and Kindlmann (2010b). For more visualization of tensors with negative eigenvalues can be found in (Haber 1990; Hagen et al. 1992; Hashash et al. 2003; Hotz et al. 2004, 2006; Hsu 2001; Jeremic et al. 2002; Kirby et al. 1999; Kratz et al. 2014; Neeman et al. 2005; Ozarslan and Marecl 2003; Schultz and Kindlmann 2010a; Sigfridsson et al. 2002; Slavin et al. 2006).

3.1.3 Visualizing the tensor with imaginary eigenvalues

In previous sections, tensors with real eigenvalues have been well visualized. In this section, visualization of general tensors (Theisei et al. 2003) with imaginary eigenvalues using glyphs will be introduced.

In order to visualize the tensor with imaginary eigenvalues, Seltzer et al. (2016) decompose a tensor T into isotropic expansion (CD), anisotropic stretching (CS), and rotation (CR). These three parts capture the three basic mode of parcel motion. Using this method, a tensor can be divided into the symmetric part and the asymmetric part. Based on this theory, Zhang et al. (2009) analyzed the eigenvector manifold, which is divided into real domains in the northern hemisphere and the southern hemisphere as well as complex domains in these hemispheres, as shown in Fig. 10. Pseudo eigenvectors (Zhang et al. 2009) are also introduced to illustrate the elliptical flow patterns in the complex domains. With these definitions, 2D tensor with imaginary eigenvalues can be visualized using glyphs as shown in Fig. 11a. The pseudo eigenvectors are visualized by broken segments. This work has been further researched in Palke et al. (2011). Recently, Gerrits et al. (2017) further developed this research. They proposed new glyphs for general second-order 2D and 3D tensors. In particular for the 3D tensors with imaginary eigenvalues, the glyphs are well designed, as shown in Fig. 11b. Red indicates positive real eigenvalues, i.e., an outflow, and blue indicates negative real eigenvalues, i.e., an inflow. Yellow indicates counterclockwise swirling, and green indicates clockwise swirling. The points in the axis show that the corresponding eigenvalue is real or complex.

Fig. 10
figure 10

Eigenvector manifold, which is divided into real domains in the northern hemisphere and the southern hemisphere as well as complex domains in these hemispheres (Zhang et al. 2009)

Fig. 11
figure 11

Glyph for tensor with imaginary eigenvalues, a 2D tensor with imaginary eigenvalues (Zhang et al. 2009), b 3D tensor with imaginary eigenvalues (Gerrits et al. 2017)

3.2 The glyphs for the difference between two tensors

In previous section, we have successfully visualized all kinds of tensors using glyphs. Here, a question is often asked by users: How to compare two tensors using glyphs? Analysis of two or more diffusion tensor datasets is very important. For example, visualizing the different parameters of diffusion tensor fields [like the gradient sampling schemes (Hasan et al. 2001; Jones 2004), or the b-value (Assaf et al. 2002)]. Therefore, some researches have been focusing on the difference between two tensors, such a general taxonomy that groups visual comparison into three categories: juxtaposition (or side-by-side), superposition (or overlay), and explicit encoding of differences (Gleicher et al. 2011), difference of stress tensors in cerebral aneurysms (Meuschke et al. 2017), and several important designs (Bashat et al. 2005; Bergmann et al. 2006; Jones et al. 2002; Kubicki et al. 2005; Schultz et al. 2013). A recent design called tender by Zhang et al. (2016) is an excellent design for showing the difference between two diffusion tensors.

The glyph for the difference between two diffusion tensors is designed according to: shape, orientation, and scale, as shown in Fig. 12.

Fig. 12
figure 12

Designed glyph (Zhang et al. 2016) (d) for the difference between two diffusion tensors. They are designed according to their difference in a shape, b orientation, and c scale

Shape As shown in Fig. 12a, there are two 2D diffusion tensors (in red and blue). In the middle, they are combined into one glyph. The solid lines represent the visible parts, while the dash-dot lines are the invisible parts due to occlusion. The right glyph is the final design. The two black dot lines divide the 2D space into four parts. Two glyphs are displayed alternatively. There are obvious discontinuities between two glyphs.

Orientation According to the glyph design of Fig. 12 for shape, the red tensor needs to rotate its orientation to form the final glyph. This means the orientation of the red tensor should be changed. In order to visualize such kind of rotation, the design of Fig. 12b will be added to the glyph, as shown in Fig. 12d.

Scale The final issue that needs to be considered is to normalize the size of the glyph. The eigenvalues of two diffusion tensors are completely different in general. If the size of two diffusion tensors is very different, it will be difficult to understand the difference between them intuitively. Therefore, in this design, the size of two tensors is normalized. Instead of the actual size, color is used to show the scale of each tensor, as shown in Fig. 12c.

Using the above three designs, the glyph of difference between two diffusion tensors can be visualized as Fig. 12d. Zhang et al. (2017) also developed their idea to reduce the diffusion tensors to scalar-valued quantities using shape, orientation, and scale. This is because scalar is much easier for analysis than tensor.

4 Tacking features of tensor fields using streamlines

In this section, we will introduce the second visualization method for diffusion tensor fields: streamlines. Streamlines can be used to track the underlying continuous features embedded in discrete diffusion tensor fields. For example, in the field of medical imaging, biological tissues such as nerve and muscle fibers can be tracked (McGraw et al. 2004) by the recent developed diffusion tensor magnetic resonance imaging (DT-MRI) technology (Schultz and Vilanova 2018) for the purpose of medical diagnosis.

Note that the streamlines in diffusion tensor fields are not the same as those of vector fields. Indeed in some cases, streamlines are produced using the vector field of major eigenvectors of a tensor field, but it is not always the case. This is also an important topic to be studied. In this survey, we only give two examples. The first one is a recent work (Oster et al. 2018), who has defined “core lines” in 3D second-order tensor fields. These core lines are used to describe this swirling behavior, which is usually introduced in vector fields. Another example, some researchers have tried to use the streamlines of tensor fields for all-hexahedral mesh generation (Lei et al. 2017; Xu et al. 2018). In this kind of researches, the streamlines of the three eigenvectors of a tensor are tracked as separate vector fields, respectively.

For tracking streamlines in the diffusion tensor fields (Basser et al. 2000), a seed point is selected firstly to start tracking. The streamlines are then pursued forward and backward from the selected seed point with a small step size, where the forward and backward directions can be calculated by interpolating the eigenvectors of the generated diffusion tensor field. The above subprocess will be continued until we reach the boundary of the target object. Therefore, we need to deal with three important issues: seed points (streamlines) selection (Sect. 4.1), interpolation of diffusion tensor fields (Sect. 4.2), and isotropic features (Sect. 4.3).

4.1 Seed points (streamlines) selection

Evenly spaced streamlines from diffusion tensor fields need using well-selected seed points. Figure 13 shows such an example. The streamlines were tracked from the tensor field (a). The seed points were selected uniformly (b), along the boundary (c), and according to the proposed method in Fu and Abukhdeir (2015).

Fig. 13
figure 13

Tracking streamlines (Fu and Abukhdeir 2015) from tensor field (a). Seed points were selected uniformly (b), along the boundary (c), and according to the features of the tensor field

Jobard and Lefer (1997) introduced an effective but simple method for seed point selection, which is similar to the method in the vector fields (Max et al. 1994) [More flow visualization (Engelke et al. 2019) in vector fields can be found in a recent survey (Yusoff et al. 2016)]. In order to create an evenly spaced streamlines as the right result in Fig. 14, Jobard et al.’s method can be described as follows. When a new seed point is selected, a streamline grows beyond that point backward and forward. The growing process is stopped when the streamline reaches an edge of the surface, a singularity in the field (source or sink) or becomes too close to another streamline. Now, we will decide whether to keep this seed point or not. If the generated streamline is too close to the other streamlines, the seed point and this streamline will be deleted, as shown in the broken red circle of Fig. 14. Meanwhile, it also will be deleted if the length of the generated streamlines is too short (the blue red circle of Fig. 14).

Fig. 14
figure 14

Seed point selections (Jobard and Lefer 1997). The seed points should be deleted if the streamline is too close to another streamlines (e.g., streamlines marked by red broken circle), or the streamline is too short in the central of tensor fields (e.g., streamlines marked by blue broken circle)

Besides Jobard’s well-known seed point selection method, several new methods were also proposed in recent years. Ye et al. (2005) demonstrated the strategy for seeding 3D streamlines. Topology is very important for seed point selection, which has been researched by Wu et al. (2010) and Fu and Abukhdeir (2015). Meanwhile, several application-guided schemes were also developed. Verma et al. (2000) proposed a flow-guided streamline seeding strategy. Turk and Banks (1996) proposed an image-guided streamline seed point placement method. Chen et al. (2007) proposed a similarity-guided streamline placement approach; error evaluation was also demonstrated by their algorithm. Furthermore, Mebarki et al. (2005) also considered the efficiency of the streamline tracking process; a fast seed point placement method was proposed by them.

4.2 Interpolation of diffusion tensor fields

Interpolating diffusion tensor fields over discrete samples [grid samples in general (Savadjiev et al. 2009)] has been a key technique for visualizing the continuous behaviors of anisotropic features (Feng et al. 2008) inherent in the given measured datasets (Obermaier et al. 2011). For example, in medical application, plausibly interpolated tensor fields allow medical doctors to rely on tractography (streamlines) (Bergmann et al. 2007; Mori et al. 1999; Muraki et al. 2006; Schultz and Seidel 2008; Zhang et al. 2009) for performing more precise point-to-point connectivity analysis, as well as haptic rendering (Ikits et al. 2003; Ogawa et al. 2009) for a more intuitive detection of structural anomalies (Zheng and Pang 2003). The challenges of interpolation diffusion tensor fields lie in:

  • Anisotropy retain the anisotropic features of diffusion tensor fields for fully tracking the underlying continuous features;

  • Isotropy avoid the discontinuity caused by degenerate points.

In order to deal with these two issues, we will introduce the development of tensor field interpolation by dividing them into two classifications: matrix-based interpolation schemes (Sect. 4.2.1) and eigenstructure-based interpolation schemes (Sect. 4.2.2). The matrix-based interpolation methods can generate continuous tensor fields, but cannot retain the underlying anisotropic features. On the other hand, the eigen-based interpolation methods can fully retain the underlying anisotropic features, in the price that discontinuities occur around degenerate points. As shown in Fig. 15, (b) is the down-sampled tensor field from (a). Figure 15c, d (Arsigny et al. 2006; Fillard et al. 2006) is from the matrix-based interpolation methods. The results are continuous, but the anisotropic features cannot be retained. Figure 15e (Kindlmann et al. 2007) belongs to eigen-based methods, discontinuity occurred around the degenerate points. Figure 15f (Bi et al. 2010a; Bi et al. 2012) is also eigen-based interpolation. In this method, the isotropic areas are located firstly to avoid the discontinuity.

Fig. 15
figure 15

Interpolating a diffusion tensor field containing three degenerate points (green disks) (Bi 2012). a Original tensor samples. b Down-sampled tensor samples. The results of interpolating the down-sampled tensor field by using the c component-wise, d Log-Euclidean (Arsigny et al. 2006; Fillard et al. 2006), e geodesic-loxodrome (Kindlmann et al. 2007), and f degeneracy-aware scheme (Bi et al. 2010a, 2012). Note that the color legend represents the anisotropy of tensor samples, where the anisotropy becomes lower when the color changes from red to blue

4.2.1 Matrix-based interpolation of diffusion tensor fields

As described in the literature (Chefd’hotel et al. 2004; Westin et al. 2002), the history of tensor interpolation methods started with simple component-wise linear interpolation method. Nonetheless, it cannot maximally retain the smooth transition of tensor anisotropy, as shown in Fig. 15c. In addition, positive definiteness of the tensor matrix may not be preserved since the linear interpolation has been applied to each component of the tensor matrix in this scheme. Higher-order interpolation schemes (Mishra et al. 2006; Pajevic et al. 2002) have also been proposed for this purpose, while they suffered from the same problem.

To alleviate this problem, Batchelor et al. (2005) defined a distance function between two tensors so that the tensors can be interpolated by tracking the corresponding geodesic path on a nonlinearly curved space, which rigorously preserves the inherent positive definiteness of the tensor matrix. The space of diffusion tensors as a Riemannian symmetric manifold is also proposed with its statistical analysis (Fletcher and Joshi 2004, 2007; Lenglet et al. 2006). These methods were further developed by Arsigny et al., called Log-Euclidean (Arsigny et al. 2006; Fillard et al. 2006), which provides a faster computational algorithm. This has been accomplished by transforming tensors into their matrix logarithms so that we can perform the tensor interpolation using Euclidean operations, as shown in Fig. 15d. However, this method was discussed that it was not suitable for tensor interpolation (Pasternak et al. 2010).

Several computer graphics-based methods for interpolation of diffusion tensor fields were also proposed, such as subdivision-based methods (McGraw et al. 2009; Yassine and McGraw 2008, 2009), differential operators-based methods (McGraw et al. 2011; Weickert and Welk 2006), and so forth.

4.2.2 Eigen-based interpolation of diffusion tensor fields

Less attention has been paid to the eigenstructures of the tensor samples, and thus only few approaches have been proposed by using the eigenstructrue-based representations of diffusion tensor samples. Kindlmann et al. (2007) presented a novel tensor interpolation method called geodesic-loxodrome, which discriminates between the isotropic and anisotropic components of the tensors before interpolation. Their method can fully retain the anisotropic features of tensor fields, but discontinuity appears, as shown in Fig. 15e. Merino-Caviedes and Martin-Fernandez (2008) developed a method for interpolating second-order diffusion tensors defined over the 2D planar domain, where they constitute a 3D Euclidean space spanned by the two eigenvalues and the angle between the primary eigenvector and the x-axis of the 2D domain for the interpolation. Sophisticated models proposed by Hotz et al. (Auer and Hotz 2011; Hotz and Sreevalsan-Nair 2010; Sreevalsan-Nair et al. 2011), where they locate degenerate points by linearly interpolating between each pair of eigenvalues and the corresponding pair of eigenvectors over the 2D triangulated domain. However, their framework is limited to 2D tensor fields, and extending their framework to 3D cases is mathematically involved. A method was also proposed to locate the degenerate points firstly, and then interpolate the tensor fields using eigen-based method (Bi et al. 2010a, 2012), as shown in Fig. 15f.

4.3 Isotropic features

As described in previous two sections, singularity problems around isotropic tensors will greatly affect streamlines tracking. Therefore, finding isotropic features in tensor fields becomes an important research topic. Here, the isotropic features include degenerate points and degenerate lines.

4.3.1 Locating degenerate points

Bi et al. (2010a) proposed an effective but simple degenerate point locating method. In this method, degenerate pairs are defined. A degenerate pair is defined as an edge that connects two neighbor tensor samples. In this edge, the rotational angle between two tensor samples is large than π/2. As we known, there are two orientations for each eigenvector of a tensor sample. Here, we need to select one of them for calculating the rotational angle between the two neighbor tensor samples.

Now, we can use the configuration of degenerate pairs to locate degenerate points in grid tensor fields. There are mainly three steps; Fig. 16 shows an example. Firstly, minimum spanning tree (MST) is used to select the eigenvector orientations for each tensor. All the rotational angle on the edges of MST will be smaller than π/2. Secondly, all the other edges that are not included in MST are checked. If the rotational angle on the edge is larger than π/2. It is a degenerate pair. All the degenerate pairs are drawn in blue lines in Fig. 16. Finally, counting the number of degenerate pairs in each grid. If the number of degenerate pairs in a grid is even, no degenerate point exists in this grid. This is because that all the rotational angles in the four edges can be smaller than π/2 through changing the eigenvector orientations of one or two tensor samples. On the other hand, if the number of degenerate pairs is odd, there will be a degenerate point in this grid. In this case, no matter how the eigenvector orientations changes, there will be one degenerate pair remained. As shown in Fig. 16, two degenerate points in green are located. Actually, degenerate lines can be detected by this method through connecting all degenerate pairs.

Fig. 16
figure 16

Degenerate points (green points) are located using the configurations of degenerate pairs (blue lines) (Bi et al. 2010a)

Figure 17 shows the configuration of degenerate points and degenerate pairs in 2D grid. This is similar with marching cube. Therefore, Bi et al. (2012) also gave the configuration of degenerate pairs in 3D cube.

Fig. 17
figure 17

Locating degenerate points (Bi et al. 2010a). Each square contains four tensor samples on the four vertices. The edge in blue is a degenerate pair. The square is shaded in red if it contains a degenerate point

4.3.2 Locating degenerate lines

Although Bi et al.’s method can locate degenerate lines simply, their method can only give the possible positions of degenerate lines, but not the exact positions. Zheng et al. (2005) proposed a formulation to extract degenerate lines in a numerically stable, accurate, and complete manner.

The degenerate features of a tensor are that cubic discriminant is equal to zero, as shown in Fig. 18. In Zheng’s method, they defined a new formulation that decomposes the cubic discriminant into the sum of the squares of seven cubic polynomials. In this way, we can find degenerate features through detecting the tensors whose individual tensor constraint functions all equal to zero. As shown in Fig. 18, the while points are degenerate points. For them, all seven constraint functions are zero. These degenerate points are connected by possible degenerate lines. In each degenerate line, a constraint function is equal to zero. Figure 19 shows the result of degenerate lines from the proposed new formula on a cylinder with a hemispherical cap (Zheng et al. 2005).

Fig. 18
figure 18

Degenerate lines from the proposed formulation in Zheng et al. (2005). Two and three degenerate points exist in (a) and (b), respectively

Fig. 19
figure 19

Degenerate lines on a cylinder with a hemispherical cap (Zheng et al. 2005)

Readers can refer to more complicated isotropic features about degenerate surface in (Kindlmann et al. 2006, 2007; Schultz et al. 2007, 2010).

5 Challenges

In this section, several possible research challenges will be introduced. Firstly, most existing researches focus on second-order tensor visualization. It would be interesting to analyze the properties of high-order tensors and decompose them into several low-order information for visualization. This is similar with using parallel coordinate to show the high-dimensional dataset. Another design is to use dimension reduction scheme. Directly visualizing the most important features only is also one possible visualization scheme.

The research of streamsurface is also an important topic to be studied. Recently, several researches have been started. For example, last year, Zobel and Scheuermann (2018) have also tried to extend streamlines to streamsurfaces. This year, there are already two works focusing on streamsurfaces visualization method (Ankele and Schultz 2019; Raith et al. 2019). However, it is still a challenging task.

Another research extension is to design glyphs for the difference between two tensors with negative eigenvalues or complex eigenvalues. Current visualization methods mainly focus on the tensor with all positive eigenvalues. Developing Zhang et al.’s method (Zhang et al. 2016) into a distribution map (Zhang et al. 2009) in 3D space is a considerable design.

Finally, for tracking the underlying continuous features in a diffusion tensor field, the most difficult challenge lies in dealing with degenerate points/lines/surfaces. Actually, the topological distribution of degenerate points/lines/surfaces has been well researched. Taking good use of these topological features can greatly improve the algorithms for streamlines tracking. For example, in the process of seed point selection, most streamlines start or end in the degenerate points. This feature can be used to generate evenly distributed streamlines. Meanwhile, the topology of degenerate properties can also help the interpolation process. This is because the anisotropic features will be decreased around degenerate points.

6 Conclusions

In this paper, we give a comprehensive survey on visualization of tensor fields using glyphs and streamlines.

The glyph is introduced firstly. It can effectively show a single tensor feature. We introduced the glyph design according to the eigenvalues of tensors: start from the tensors with all positive eigenvalues, to the tensors with negative eigenvalues, following by general tensors with complex eigenvalues. Furthermore, the glyph for showing the difference between two diffusion tensors was also introduced.

Then, streamlines for showing the underlying continuous features of diffusion tensor fields were introduced. Three important issues have been described: seed point selection, interpolation schemes, and isotropic features. Seed point selection methods mainly focus on generating a tensor field with evenly distributed streamlines. For this goal, the topological structures of tensor fields have been well researched. The interpolation methods have been divided into two categories: matrix-based interpolation methods and eigen-based interpolation methods. Matrix-based interpolation methods can offer a continuous interpolation result. However, such kind of interpolation methods cannot retain the anisotropic features of original tensor fields. On the other hand, eigen-based methods can fully retain anisotropic features, at the price of some possible discontinuities around degenerate points. Finally, the methods for locating degenerate points and degenerate lines were also introduced.