D ENSE, or texture-based flow visualization (DFV), and particularly the Line Integral Convolution (LIC) method, spot noise, and "image-based" flow visualization [1] , [2] , [3] , [4] have been proved successful in many scientific and engineering applications. Its wide popularity is the result of such features as suitability for efficient parallel implementation on graphics hardware and the possibility to use adaptive resolution.
Interestingly, despite a vast body of research on the subject [5] and the fact that DFV is tightly related to the long-established branches of mathematics such as numerical methods, to the best of our knowledge, a consistent theoretical framework that would allow systematic interpretation and exploration of different modifications has not yet been proposed. For instance, the net effect of the numerous ingredients, such as the noise interpolation scheme, the kernel shape, and streamline integration sampling methods, on the output image cannot always be predicted.
The variety of models and methods in this area is typically formulated within a continuous setting, whereas the gap between the digital nature of the computational world and these continuous models is typically bridged by numerical discretization.
In this work, we propose a probabilistic model using conditional expectation computation for the position of a particle on its trajectory and derive a discrete linear algebra formulation. By multiplying this matrix with a noise input vector, we achieve results similar to LIC. We demonstrate that this formulation is compelling on its own, and closer examination can lead to fruitful insights, connections to image processing, and new visualization algorithms. We envision our purely discrete algebraic interpretation as a step toward a systematic theoretical framework for DFV.
This change of paradigm allows for further development. We apply probability modeling to discrete images to establish a probabilistic relationship between image pixels based on the trajectories of particles seeded in the flow in the cells, corresponding to pixels. Then, we explore the visualization images, constructed as an optimal solution, by minimizing the expected difference in the color space for cells with similar flow behavior. The optimal solution contains one scalar value for each cell in our image, which is then mapped to colors with a transfer function.
The obtained images visualize flow mixture patterns of particles and can be formally described as the eigenvectors of the Laplacian of the particle mixture probability matrix. We then see that the eigenvalues of the Laplacian matrix correspond to frequencies, and the eigenvectors are a discretization of the terms of a Fourier expansion. These eigenvectors, widely referred to as spectral embeddings, are a powerful tool for the analysis of different types of graphs. In particular, numerous variations of spectral clustering [6] , due to its success in computer vision in recent years [7] , have gained popularity in image segmentation.
We find the achieved results interesting for applications and encouraging for further research. Briefly, the two leading contributions of this work are:
• a matrix formulation as a new DFV method,
• a novel discrete probabilistic modeling framework for the development and analysis of dense visualization methods.
The remainder of this paper is structured as follows: In the next section, we provide a brief review of the previous work in the context of dense visualization as well as relevant flow and image analysis methods. Then, in Section 3, we suggest a novel discrete probabilistic model for flow representation, with applications to dense flow visualization. We derive a matrix from this probabilistic model, which results in similar outputs to LIC and explore its properties, including maximum value preservation. Furthermore, we use the probability that two particles meet in a given cell and the spectral embedding method to correlate different cells in the flow. In Section 4, we discuss the technical details of the method. Finally, we demonstrate the visualization results and discuss future work.
The presented results use the Viridis colormap, seen in 
The dense flow visualization paradigm, starting with the introduction of spot noise [3] and LIC [1] , has undergone significant development over almost 25 years. The stateof-the-art report by Laramee et al. [5] enumerates a broad set of methods derived from these two approaches. Mainly, the efforts have been focused on an extension to further dimensions, such as 3D LIC [8] , LIC on surfaces [9] , LIC on time-varying flow fields [10] , and efficient implementation [11] , [12] .
Although new competitive methods have appeared, LIC in its various modifications has remained a workhorse of DFV. Several works concerning its theoretical grounds and improvement have been published. A thorough analysis of the influence of LIC parameters from the signal processing standpoint was done by Stalling [13] . Okada and Lane [14] introduced the concept of twofold LIC for image enhancement. Its value and benefits for computation acceleration were later recognized by Weiskopf [15] and Hlawatsch et al. [16] .
Despite the substantial body of knowledge on the topic, there is still room for new models and interpretations. One attempt to deal with the lack of a complete theoretical framework for LIC, for example, is the empirical quantitative analysis of LIC images [17] .
Based on the generalization of existing DFV techniques, we formulate a discrete probabilistic model of flow mixture in the domain. Notably, the efforts to employ probabilistic methods for the analysis of streamline separation were previously successful in the work of Reich and Scheuermann [18] . They visualize a measure of convergence and divergence between particles seeded in the neighboring cells (pixels), after a number of iterations of a Markov chain over each particle's initial probability distribution. Our matrix model differs from this setting in the following two main aspects:
• It embraces the information about the whole integral curve, instead of a particle movement in a single time step;
• The time-consuming iterative eigenvector computation process is required only once, but not for every domain cell.
As a result of much lower computational complexity, our method is applicable in 3D. From the visualization perspective, we propose a global map of the domain with a progressive level of detail characterizing the mixture relationship between the cells in the domain. Our technique aims to highlight structures in the underlying data and to provide their visual representation at different scales. Within the existing classification, our visualization approach can be described as partition-based. The state-of-the-art report on this topic [19] names two main subclasses in this area: based on vector value clustering and relying on integral line analysis. Our method combines the features of both approaches: distinguishing the regions of the flow domain and using the information about particle trajectories instead of the vector value.
The principal idea of flow simplification is extensively exploited from a different perspective in topological methods. Salzbrunn et al. [20] give an outlook on this research, and we name only a few notable results. Helman and Hesselink [21] extracted the critical points and separatrices of 2D vector fields, which provided a segmentation into sectors of different flow behaviors. Topological simplification [22] , [23] is a way to identify the more salient topological features in a flow. Recent developments include combinatorial vector field topology [24] and streamline clustering using Morse connection graphs [25] , [26] or streamline predicates [27] . Peng et al. [28] cluster flow structures on a surface mesh.
Other approaches simplify or segment the flow without referring to topology. For example, Rössl et al. [29] group streamlines using their projection into Euclidean space with a Hausdorff distance. The methods of Garcke et al. [30] , Heckel et al. [31] , and Telea and van Wijk [32] cluster cells with similar flow vectors. Padberg-Gehle et al. [33] extract coherent sets using discretized transfer operators. Diewald et al. [34] use anisotropic nonlinear diffusion to create similar results to LIC and cluster flow fields in coherent structures. Park et al. [35] suggested a DFV approach to accentuating flow structures.
Many approaches use probabilistic models to visualize flow behavior. Hllt et al. [36] visualize the paths a particle, originating in a specific cell, can travel in subsequent steps and the corresponding probabilities. Guo et al. [37] use an adaptive and decoupled scheme to accelerate the calculation of stochastic flow maps with Monte Carlo runs. Otto et al. [38] visualize uncertain areas in uncertain vector fields, where a cell can have multiple flow vectors, each with its probability.
The technical side of our approach is inspired by the wave interference method in DFV [39] , relying on the similar mathematical apparatus of sparse matrix computations. The eigenvector computation, resulting from the analysis of our probabilistic model, has a direct correspondence to the spectral embeddings technique widely used in the image processing domain. There it consists in the representation of the image segmentation as a graph cut problem, with its consequent relaxation using spectral graph theory. For instance, the normalized cut method in image segmentation gained wide popularity after the presentation of the approach by Shi and Malik [40] . Their method works similarly to the here presented algorithm, by first creating a similarity graph, then building a Laplacian matrix from that graph, and finally calculating the eigenvectors. However, they use a different eigenvalue problem by applying matrix D to the right side and process the results differently. For introductory reading on the subject, we suggest the tutorial by Luxburg [7] . The original graph formulation was followed by the random walk interpretation of Meila and Shi [41] , which assigns intuitive meaning to the spectral embeddings, relating them to the concept of low conductivity sets. Moreover, Shuman et al. [42] relate the Laplacian matrix derived in spectral graph theory to the Fourier transformation and the eigenvalues to frequencies. Finally, the theoretical aspects of the algorithm were carefully treated by Brand and Huang [6] .
In this section, we present our contribution to the toolbox of methods for dense flow visualization. Furthermore, we use our probabilistic model to analyze the discrete flow domain in terms of particle transport (mixture probability). In Fig. 3 an overview of the presented algorithm is shown.
Considering a 2D stationary flow domain, we introduce a rectangular grid over the domain, consisting of cells corresponding to image pixels. Let N be the number of cells in our grid. We associate a particlep i with each cell c i and observe it for a specific interval L before and after it is registered in some chosen position within the cell.
We introduce two random variables: S, which takes the value on the set of observed particlesp 1 , ...,p N , and C, which takes the value on the set of cells c 1 , ..., c N . The particle can visit several other cells while moving along the streamline, as illustrated by Fig. 4a . The streamline a b Fig. 4 . a) The blue cells on the trace of a particle that contribute to the computation of the image value in the red cell, where the particle is observed. b) Several blue particles, each seeded in its own cell, contribute to the value of one red cell.
computation contains degrees of freedom in choosing the step size, kernel length L, and kernel function. The kernel length L is defined as an integer, and together with the step size, it defines the distance we observe the particle position on its trajectory. A kernel function is a measure that defines how probable a particle position is with increasing distance from its origin.
Two common examples are the Box and the Gaussian kernel. The Box kernel, corresponding to the uniform distribution, suggests that each cell on the particle trajectory likely equally captures the position of the particle. The Gaussian kernel, on the other hand, expresses an increasing uncertainty about the particle position, the further away it is from the initial point.
For each cell on the particle trajectory, we assume a conditional probability P (C = c j |S =p i ), denoting the probability of a given particlep i visiting a particular cell c j . This distribution is expressed by the shape of the chosen kernel and represents the measure of relevance of c j to the trace ofp i .
From this point of view, given a discrete 2D signal U defined on the cells c i , we can compute for each of the cells c i , and the particlesp i associated with them, the conditional expectation
of the input distribution over a set of cells visited by the particlep i . As a result, the output values are correlated for two particles if they produce overlapping traces, that is, traces sharing mutual cells, similar to the output of LIC.
In particular, the input signal U can represent the initial position probability distribution of a single particlep over all domain cells, as, for instance, in the model suggested for streamline separation by Reich and Scheuermann [18] . In this case, the expected value in cell c i corresponds to the probability of particlep arriving in cell c i . This case is intuitively illustrated with oriented LIC [43] , considered within the probabilistic framework. If the sparse input texture represents the distribution of possible initial positions of a single particle and the LIC kernel is asymmetric (backward flow direction only), for each output image cell, one possible trajectory history is sampled. The resulting image represents the probability that the initial particle arrives at this cell.
In the next section, we show how to compute the conditional probabilities for our probabilistic model and derive a matrix from them.
Given a vector field v defined by a map v : R 2 → R 2 , its streamlines σ can be defined using the arc-length parameterization by
in the regions where |v| = 0. Throughout the text, the boldface letters denote vectors in R n for various n.
Here we assume that for each xp ∈ R 2 of the image domain, a streamline σp can be computed analytically or numerically, satisfying the initial condition σp(0) = xp. The conditional expectation ep of Equation 1 is then defined as
where U (x) is the input signal, L the chosen kernel length, and k(t) the weighting kernel. Under mild smoothness assumptions (local Lipschitz condition [11] ) about the left-hand side of Equation 2, the computed curves are unique, given the initial conditions. A local violation of this property (e.g., in the immediate vicinity of the critical points) is allowed in our method.
A discrete version of Equation 3 has already been studied in the literature [15] in the context of algorithm performance optimization. However, only the discrete computation of the line integral itself was taken into account. We take the discretization a step further by explicitly specifying discrete input and output images.
We use binary noise as input images with the same dimension as the output images to generate similar results to the output of LIC.
First, as a result of integral discretization, we consider a finite number of particle positions, sampled at different distances along the same streamline. Formally, a particlẽ p with initial position xp moving along a streamline σp(s) is sampled at the distances s i , providing a set of positions
Next, we assume that the input image is sampled from an in-memory texture, with some typical interpolation method (bilinear, spline) with non-negative weights, as opposed to arbitrary procedural input texture generation (e.g., a nonsmooth analytically defined function). In other words, any input function that can be sampled on a grid and then reconstructed with interpolation satisfies this constraint.
Suppose that the input image is given on the rectangular grid of cells c j . An input value U (xp i ) is then interpolated as
where u j = U (c j ) is the value of the input signal at cell c j , and w j ≥ 0 is the interpolation weight used at c j . Now, using the interpolation formula in Equation 4 and the definition of L, the discrete version of the integral in Equation 3 can be written as
Changing the order of sums and setting
results in the basic matrix-vector product representation in
where N is the number of cells, as defined in the previous section. As k(t i ) and w j (xp i ) are non-negative, every element of P is non-negative as well.
One intriguing property of the discrete matrix formulation is that we can easily confirm the properties of other DFV methods for our operator.
One of the techniques for the enhancement of LIC output is the iteration of the LIC kernel, combined with a high-pass filter suggested by Okada and Lane [14] .
In the matrix framework, the cumulative effect of a consecutive application of the probability matrix P and another filter B can be represented by the multiplication of the input by one matrix BP . This view allows a transparent combination of our operator with basic image filters representable in matrix form (e.g., Box, Gaussian, Laplacian).
In particular, the sequence of filters suggested by Okada and Lane can be represented by the matrix P 2 H, where H performs a convolution with some high-pass kernel. Here, we do not take into account their final nonlinear contrastenhancement step (histogram equalization), which can be seen as postprocessing.
Additionally, we can make two basic conclusions about relating the properties of the input and output images. The matrix multiplication preserves the maximum norm (as an upper bound) if the sum of the row elements is equal to one, i.e., j Pp j = 1. Indeed, consider
The above inequality becomes an equation when k and w are normalized such that,
Furthermore, the average value of the input u is preserved under the matrix multiplication if the sum of the matrix column elements is equal to one. That is, given p Pp j = 1 the following holds:
For a noise input, this property means, intuitively, that all pixels possess the same amount of gray value they can redistribute among their neighbors. In particular, the value of any pixel in the vicinity of a critical point, hit by multiple streamlines, makes only a minimal contribution to the value of other pixels on each of these streamlines. The lack of average value preservation can cause a visual effect of gray value smearing around critical points.
In the next section, we demonstrate how, by extending the probabilistic interpretation, a novel flow visualization approach can be formulated. Also, we will discuss the importance of the column-wise versus row-wise normalization in the context of a probabilistic interpretation of the matrices.
In the probabilistic formulation in Section 3.1, we seed a particle within each image cell and compute the intensity value for this cell based on the trajectory of this particle. It is then natural to switch the focus from particles directly to cells. Such a shift would correspond to the transition from the Lagrangian to Eulerian approach, common in the study of fluid dynamics. This viewpoint change allows us to formulate the requirements for the resulting visualization image explicitly since the cells are directly linked to image pixels.
We are, therefore, interested in the probabilities P (S = p i |C = c j ). That is, given the cell c j is observed, we compute the conditional probability of each of the particles p i (each originating from its cell c i ) arriving at this cell. This cell-centric view is illustrated in Fig. 4b . Applying Bayes' theorem, we get
where P (S =p i ) = j P (S =p i |C = c j ) is the marginal probability of a specific particle visiting any of the cells. We assume here that for anyp i , P (S =p i ) = 1, which is another way to say that the chosen kernel is normalized. The marginal probability P (C = c j ) that any of the observed particles visits a particular cell c j is P (C = c j ) = i P (C = c j |S =p i ). Note that, technically, the transition from P (C = c j |S =p i ) to P (S =p i |C = c j ) is implemented by the normalization of columns of the original matrix.
The computed conditional probability allows us to answer the following question: What is the probability that two particlesp i andp j emitted from cells c i and c j will meet in some cell? By "meeting," we here refer to visiting the same cell, not necessarily at the same moment but within a specific interval (defined by the kernel length). We use α ij to denote this probability, which is computed by summing up the probability of these particles visiting the same cell c k over all cells.
Formally, this operation can be described as the computation of a matrix H = P P T , H ij = α ij of the conditional probability matrix P . The main diagonal of H, corresponding to the probability that two particles starting at the same cell meet, is set to 1. Since every particle originates from its own cell, α ij describes the correlation between their cells. The probability that a cell c j contributes to the value of a given cell c i is therefore dependent on the used kernel (e.g., Box, Gaussian), interpolation scheme (e.g., nearest-neighbor, bilinear) and the kernel length, as well as the used step size.
This probability of two particles visiting the same cell provides essential information about the flow domain connectivity. It is also important to remember that the computed probabilities are restricted to the particle movement for a certain predefined time period. Further, we refer to this probability as a short-term mixture probability. Clearly, for trajectories that are nowhere closer than one cell size apart, this probability is zero, and it is higher for largely overlapping trajectories.
The short-term mixture probability is a relation defined for every pair of cells, that is for N 2 values with N being the number of cells. The direct visualization of this additional amount of data by itself presents a significant challenge. However, one particular advantage of this representation is that it allows us to compute a sequence of uncorrelated domain feature maps that reveal the domain connectivity on different scales.
We define a vector f ∈ R N or a feature map f i for each cell c i as a minimizer of an expected quadratic error function e ij = (f i − f j ) 2 , with constant nonzero total energy.
The first condition above, smoothness, ensures that the difference between feature map values for any two cells is penalized in direct proportion to their short-term mixture probability, whereas the second condition, energy, restricts the problem to nontrivial solutions. For the energy to be minimized, one of two things must be true: Either α ij is small, and therefore, there is no relationship between cell c i and c j , or if α ij is large, then (f i − f j ) 2 must be small. Thus, f i and f j are pushed together wherever there is a relationship between cell c i and c j .
One straightforward value is achieved with a constant feature map f = v 0 , such that v 0 i = 1 √ N , which is not useful for flow behavior analysis. Further, we show how the complexity of the solution can be increased gradually. The approach taken is well studied in machine learning and is known as the spectral embedding of a graph (induced by the particle mixture relationship between cells).
For two particlep i andp j , a higher similarity value is assigned, if multiple points on their trajectories have only a small spatial distance between them. On the other hand, if their trajectories are far apart,p i andp j are not similar at all. This relation between particles is represented by H, as defined in the previous section. Equation 6 can be rewritten using matrix notation as a minimization of quadratic form E[f ] = 2f T Lf for ||f || = 1 [7] , where L is a Laplacian matrix L = D − H with D as the degree matrix, holding the row sums of H on the main diagonal D ii = j H ij and H as defined in the previous section. By definition of α ij , L is symmetric and positive semidefinite, and therefore, we can apply the theory of spectral embeddings. Firstly, let λ 0 , ..., λ N −1 denote the eigenvalues of L in ascending order, and v 0 , ..., v N−1 be the corresponding eigenvectors. It is well known from spectral embeddings, that the solution to our minimization problem is given by the first eigenvector v 0 of L, minimizing E[f ] with value 2λ 0 .
As mentioned, the first eigenvector is of little interest. However, introducing the additional constraint, for the new solution to be orthogonal to the constant one, we can restrict the space of solutions to non-constant vectors. With this constraint, the new solution is given by v 1 with 2λ 1 as the minimal value.
Repeating this step, we progressively refine the vector space of admitted solutions, constructing increasingly more detailed feature maps, which we call flow spectral embeddings by analogy with graph theory. By requiring the new solution to be orthogonal to the previously computed solution, we ensure that the new image and any linear combination of previously computed images are not correlated.
At the same time, the smoothness objective controls the discrepancy in the solution cell values according to the cell mixture probability so that cells with a higher probability of mixing maintain a small difference in value for a larger number of steps.
Analytically the kernel of the Laplacian can have a dimension larger than one, corresponding to disconnected areas. Therefore, the eigenvalue 0 would have multiple eigenvectors. Numerically this case is present in unstructured grids with omitted parts in the domain. As we currently cannot handle unstructured grids, a kernel of dimension larger than one presents a limitation of our algorithm.
The described algorithm computes a sequence of feature maps, by visualizing the short-term cell mixture probability in the domain and increasingly adding small features. We can summarize the steps of the algorithm as follows: 1) Choose the integration distance, that is the kernel length L and the step size s, and the trajectory certainty distribution, the kernel function. 2) Trace a particlep i for each cell c i . 3) Sample the particle positions and store the probability P (c j |p i ) of visiting cell c j , given the particlep i is observed. 4) Store P (c j |p i ) in a matrix P and normalize P by rows. 5) Compute the probability P (p i |c j ) of particlep i visiting the cell c j , normalizing the matrix P by columns. 6) Compute the short-term mixing probability matrix H = P P T , i.e., the probability that two particles, originating from cells c i and c j , meet at some cell. 7) Compute the Laplacian matrix L = D − H. 8) Compute first several eigenvectors of the Laplacian matrix (corresponding to smallest eigenvalues). For visualization purposes, we explore a few of the first such maps (embeddings), that is, eigenvectors corresponding to the first several smallest eigenvalues of the Laplacian matrix. The obtained sequence of images exhibits a multiscale structure, with the spatial frequency increasing with the number of eigenvectors computed, as demonstrated by the top row in Fig. 1 . In the background of the top row of Fig. 1 , the result of the matrix-vector product between our probability matrix and an input noise vector is added. It is important to note that the maps are ordered by the expected error and are orthogonal to each other. In other words, each subsequent map contains a smaller amount of detail compared to the previously constructed set. This detail is not present in the previous maps and has a higher spatial frequency (lower smoothness). Consequently, the eigenvectors with large indices (specific number depending on the flow) appear to be uniform noise, which is a result of the spatial frequency reaching the Nyquist limit of the chosen image resolution and the increasing numerical imprecision associated with eigenvalue computation.
The resulting images visualize the connectivity of the domain based on flow transport, since the mixture probability for any two small domain regions, which is defined as the probability of the meeting of particles seeded in these regions, corresponds to the difference in colors assigned to these regions in the visualization. In our view, such a presentation simplifies the interpretation of the flow mixture patterns even for a non-expert user.
Although spectral embeddings by themselves already capture the flow structure and, to some extent, visualize the flow transport, they can be combined into a single image using a transfer function for enhancement of detail on different scales. The examples of such visualization for the 2D case are shown in Fig. 5 and Fig. 7 . The underlying flow structure can be seen in Fig. 6 . In this case, we construct the transfer function as
where v k are the embeddings, a k the respective amplitudes, and c the chosen colormap. In the next section, we see how we can estimate the amplitudes for our eigenvectors.
The results in Fig. 5 and Fig. 7 are not supported by other visualization techniques to present the results itself. However, multiplying P with a noise input vector results in outputs similar to LIC nearly without additional overhead. Therefore, we suggest using the presented results with this additional step to get a better grasp of the underlying flow structure. The practical computation of the embeddings is discussed in Section 4. In summary, the numerical scheme requires only a series of sparse matrix-vector multiplications, which are provided by many general-purpose sparse linear algebra software packages, including those that are GPU-accelerated. Examples are SPARSPAK [44] , the Yale Sparse Matrix Package [45] , and for GPU-accelerated packages cuSPARSE.
The relation between our method and spectral embeddings in general to frequencies can be seen from the following consideration. The idea of spectral embedding is to minimize the objective function E[f ] to get coherent structures in the data [7] . The solution to this minimization is the first eigenvector. However, as the first eigenvector is constant, the data are not separated in multiple coherent structures. Therefore, the orthogonality constraint is used to separate the flow into more and more coherent structures. The solutions to this new objective function are the eigenvectors of the Laplacian matrix in increasing order. If we go from eigenvectors corresponding to smaller eigenvalues to eigenvectors corresponding to higher eigenvalues, we cut our graph into increasingly smaller coherent structures with an overall higher similarity. This phenomenon follows from the idea that the Laplacian matrix is a discretization of the Laplace operator on graphs. The eigenvectors of the Laplacian matrix correspond to a discretization of the eigenfunctions of the continuous Laplace operator. These eigenfunctions are the terms of a Fourier expansion. Therefore, eigenvectors associated with small eigenvalues are "smooth, slowly oscillating," and eigenvectors associated with bigger eigenvalues "oscillate much more rapidly" [42] . Now, what can we observe in flow spectral embeddings? We use the eigenvectors of the Laplacian to visualize coherent structures in the flow, which can be seen in the top row of Fig. 1 . The first image is separated into two coherent structures: the top and bottom halves. Points in the flow that are connected by a straight line with only marginal changes in color have a higher coherence than points connected by a line with significant changes in color. The second image is separated into more coherent structures (the surrounding yellowish and the two enclosed "oval" structures), which exhibit an overall higher coherence between points in them. In the third and fourth images, the flow gets separated even further with an increasing similarity of streamlines in those structures.
However, the color does not convey any additional information about the flow. That means disconnected regions with the same color have nothing in common. They only have the same color by coincidence, since there is only a limited amount of different colors in the colormap. For example, in the second image in the top row of Fig. 1 , the two vortices have the same color. The flow in each vortex is similar, as the trajectories overlap. Despite that, the vortices itself are not similar, as there is no overlap between their trajectories.
We would like to have a measure to differentiate between eigenvectors that capture more important structures and eigenvectors that capture less important structures to a specific flow. A global statement for this cannot be given without calculating all eigenvectors. It is possible, however, to locally determine the importance of the calculated eigenvectors. As previously stated, the eigenvalues of the Laplacian matrix correspond to frequencies, and the eigenvectors are a discrete version of the terms of a Fourier expansion. Therefore, we determine the amplitudes for the eigenvectors and decide which are essential for the flow and which can be neglected. The amplitudes of the eigenfunctions of the Laplace operator can be characterized by the L p norms (p ≥ 1) [46] As the eigenvectors are discrete evaluations of the eigenfunctions, it is natural to characterize the ampli-tudes of the eigenvectors with the p norms (p ≥ 1)
The eigenvector selection can be summarized as follows: Calculate the amplitudes for k given eigenvectors, sort them in descending order of the amplitudes, and use the first 1 ≤ m ≤ k eigenvectors to composite the final image.
The probabilistic model we described consists of several pluggable components (the chosen kernel, interpolation, and integration scheme), which can be adjusted to the requirements for a particular visualization task at hand. These settings are not all specific to our approach, but they are widely shared with the LIC method. We interpret the effect of possible modifications in the new context, not aiming to demonstrate all their combinations. Staying within the bounds of the expected error minimization framework, we briefly discuss different approaches for the definition of the input probabilities and different domain types.
The trajectory certainty distribution corresponds to the kernel with the restriction that it represents the conditional probability and hence is positive and normalized. We make no assumptions about the shape of the kernel; in particular, it does not have to be symmetric. For example, a one-sided kernel (defined on a positive or negative half of the real line) would correspond to either injecting particles in the cell and following their position or registering the arriving particles' trajectories in the cell. The mixing probability then can be interpreted as the probability of mixing in the future (reaching a common sink) or in the past (originating from a common source). Since the short-time mixing probability matrix properties are independent of the kernel shape, the other computational steps remain unchanged.
Different objectives can be achieved with two alternative types of trajectory parameterization: by time or by distance traveled by a particle. In the first case, the mixing probability corresponds to mixing in a particular period. In the second case, mixing in a neighborhood of a particular size in space is considered, effectively ignoring the particle velocity magnitude.
Finally, the presented method does not make any assumptions about the dimensionality of the flow domain and hence is applicable in 3D without modification. The straightforward extension of the method to 3D makes it possible to use standard volume rendering utilities to visualize the flow embeddings. We demonstrate several 3D examples in Section 4.3.
Run-time measurements for computation of the embeddings for the 2D flows given in Fig. 5 and Fig. 7 , as well as some of the presented 3D flows. 
In this section, we highlight some technical aspects of our current implementation and mention possible performance issues. The core of the method is the computation of eigenvectors of the Laplacian matrix L. The computation of the conditional probability matrix P entries is not substantially different from the standard LIC algorithm. Moreover, the search for eigenvectors relies on well-established algebraic routines, which allows for straightforward implementation using existing software packages for scientific computation, such as ARPACK [47] , PETSc [48] , and Eigen [49] .
The subsequent steps are simplified by the explicit storage of uncertainties P (c j |p i ) in a matrix. However, it is not necessary to keep this matrix in memory since the probability P (p i |c j ) can be computed directly by summing up the contribution of all incoming particles for each cell.
We implemented the whole process in C++, solely on the CPU. The integral line segments are computed using the classical Runge-Kutta integration scheme with bilinear interpolation and a Gaussian kernel.
Encouraging interested readers to reproduce the presented results, we provide the following pseudo-code of the described algorithm for the 2D case. The 2D datasets can be found in [50] . The von Kármán vortex street in the flow behind a cylinder has been simulated using the Free Software Gerris Flow Solver [51] . A related experiment for three interlocked magnetic Borromean flux rings [52] is shown in Fig. 1 . The Stuart vortex can be described by a closed formula:
The Benard data set was obtained using the software NaSt3DGP, developed by Institute for Numerical Simulation, all rights Institute for Numerical Simulation, University of Bonn [53] , [54] . For the ABC flow, see the typically used definition in [55] .
A fundamental property of our matrices that makes the eigenvector computation feasible in practice is their sparsity. Let us assume the average number of pixels or voxels D on each particle trace is much smaller than the image/volume domain size N (the total number of pixels/voxels), and the interpolation requires K input pixels to compute one output pixel.
By definition of H, matrix entries are nonzero, only if the trajectories of both particles share mutual cells. Consequently, only particles that are not further apart than D cells from each other can have nonzero matrix entries. So, for one specific cell, the maximum number of cells with overlapping trajectories is given by
Therefore, the number of nonzero values in each row of H grows in relation to O(KD 2 ). With H containing N rows, the total number of nonzero values is O(N KD 2 ).
As L only differs on its main diagonal from H, setting every entry to zero, the sparse complexity differs in the subtrahend N . Hence, the sparse complexity of L is O(N KD 2 ) as well.
This estimation is the upper bound for the worst case, where every cell is connected to every other cell in its neighborhood. In practice, the number of nonzero entries should be many factors lower.
Since the matrix size grows as O(N 2 ) with the size of the image or volume N , naively handling large domains on a computer becomes quickly challenging. Fortunately, several numerical methods are available that exploit the sparsity structure, featuring memory requirements and run times that are linear in the number of nonzero entries, such as the locally optimal block PCG method (LOBPCG) [56] .
At the moment, our implementation is purely prototypical and requires significant preprocessing times. For 2D images, the run time of our method is dominated by the probability matrix computation, whereas the visualization image itself is formed in order of seconds. However, as our probabilistic matrix computation is dependent on the calculation of streamlines similar to LIC, we can make use of optimized LIC algorithms. The eigenvector computation, however, is the current bottleneck in 3D and can last from several minutes to several hours. It is vital to notice that this step involves only sparse matrix-vector multiplications and can be parallelized effectively on multi-/many-core hardware using, for example, the several available libraries for sparse matrix computations on GPU, such as cuSPARSE.
Generally, the computation time can be affected by many factors, including From the theoretical perspective, the memory requirements of our technique and asymptotic complexity of the involved algorithms are both linear in the number of nonzero entries of the probability matrix.
Actual timings for the 2D flows in Fig. 5 and Fig. 7 , as well as some of the presented 3D flows, are provided in Table 1 .
The flow spectral embeddings are themselves scalar fields, intuitively featuring the separation of the domain into regions with low intermixing between them. Since these scalar fields are computed for each cell of the entire (discrete) domain, they are volumes rather than surfaces and can be visualized using known volume rendering methods and techniques. Unlike traditional dense flow visualization techniques, no dense noise is present, and certain flow regions can be highlighted with a modification of basic Fig. 9 . Direct volume rendering of the first spectral embedding for ABC flow (left), compared to the Lyapunov exponential, reproducing previous visualization of Haller [57] for the same flow.
transfer function properties such as transparency and color. In other words, what makes this particular visualization method attractive in 3D is that a local region of interest in the flow corresponds to a certain bounded continuous range in the embedding scalar field values, which makes it easy to select and filter. Therefore, we cluster the scalar field values into bounded regions with thresholds where the values jump. We then assign a specific color to every region. This clustering results in a separation of the flow into regions where particles interact with each other strongly. The interaction between these regions is low. By setting the transparency to 1, filtering the regions that cover large parts of the domain and are of no interest is easily done. The result is a visualization of the flow into regions with low intermixing between them, as shown in the presented results of 3D flows, such as the bottom row of Fig. 1 .
Using the transfer function T F with the above-described coloring, Fig. 8 reveals four compartments of the Benard flow. The symmetry of the dataset is well captured. Fig. 9 demonstrates some of the structures in the embedding volume for the ABC flow. Remarkably, the contours of the structures are similar to the ridges of the Lyapunov exponential map, shown in the reproduced visualization of Haller [57] .
In this work, we have presented a novel formal approach in dense flow visualization based on matrix and probability theory. The consequences of this probabilistic model lead to a novel dense flow visualization technique: flow spectral embeddings. We consider the demonstrated results of this method as valuable for visualization practitioners and encouraging for further development of the underlying ideas.
At present, the discussed techniques are verified with a proof-of-concept prototypical implementation, which requires an optimization effort to reach the production software standards. The refinement of technical aspects of the method is another research direction we plan to take in the future. In particular, the focus on the multiscale aspect of the eigenvector representation of the flow domain is of interest. The concept of particle trajectories is generic and is not limited to the physical particle movement. In the case of unsteady flow, the probability of virtual particles mixing in the domain cells can be computed for streamlines as well as streaklines or pathlines. Therefore, it could be of interest to investigate the robustness of the embeddings under flow modification and their insightfulness. For the 3D case, streamline clustering to reveal more compelling regions could be of interest.
On the technical side, we plan to adopt a straightforward parallel implementation for assembling the probability matrix, as well as the eigenvector computation on GPU, which is expected to decrease the run times dramatically. The systematic theoretical treatment of the eigenvector computation might further speed up the computation employing effective preconditioners in combination with the LOBPCG algorithm.
Furthermore, we plan to analyze the scalability of our method in the future. Increasing the size of the output, and respectively, the size of the matrices, the density of the matrices gets smaller. Coupled with the computational complexity that is linear in the number of nonzero entries of the LOBPCG method, applying our algorithm to larger data seems promising.