Content area
Streamline visualization is crucial for understanding 3D vector fields, and seed placement is essential for high-quality streamlines. Current algorithms are either uniform, omitting vital information, or slow due to precalculation. We propose three novel techniques to build a topology-guided accelerated vector field streamline visualization framework. First, we convert the tracing process into an iterative one, dynamically generating seed points based on critical region detection and a cooldown mechanic. Second, we introduce “planar critical points” combined with traditional critical points to identify critical regions, and place new seed points according to their critical point types. During this process, we circumvent complex eigenvalue calculation with determining whether the eigenvalues are real, which is enough for our placement strategies. Third, we offer a fast streamline simplification technique based on global distortion to reduce clutter. Based on the proposed streamline visualization framework and various vector field visualization methods, we develop a CUDA-based application tool called AdaptiFlux, which achieves real-time visualization of vector fields more efficiently than those representative visualization tools.
Introduction
Fig. 1 [Images not available. See PDF.]
Overall adaptive streamline generation procedure. Taking Delta Wing dataset as an example, seed points are placed in a kind of linear strategy at first. Then streamlines are traced from every seed point. When an innovative defined “critical region” is detected during the tracing of streamlines, new seed points adaptively generate from selected template according to the critical region type. Afterward, streamlines are simplified based on global distortion to avoid cluttering in low-frequency regions while strengthening details in critical regions. Finally, streamtubes are rendered to display the results
Vector field visualization is an essential component of scientific visualization, which is broadly applied in many areas, such as computational fluid dynamics, meteorology, big data analysis, simulation, and more [16, 21, 32]. There are various ways to visualize a vector field, including but not limited to line glyphs, arrow glyphs, volumes [12], streamlines, and streamtubes [2, 18]. Among those, streamline is the most prominent way to visualize a vector field. Glyph-based visualizations tend to clutter up the viewing space, and streamtube is simply derived from streamline. Good streamline visualization can present helpful local information and global information, such as general flow direction and turbulence. Streamline visualization is also aesthetically pleasing. However, streamline visualization highly depends on streamline tracing, which is in turn influenced by initial seed point placement. A good initial seed point placement yields clear, concise result, while a bad one may miss out many details or even mislead the tracing direction. Thus, the generation and tracing pose great challenges on streamline visualization for researchers.
Significant progress has been made on streamline visualization in the past decade. However, many problems remain unsolved. Nowadays, vector field visualization tends to be concerned with aspects, such as large-scale dataset visualization, user-defined customization, real-time streamline generation, GPU acceleration, and so on [9]. In addition, a clear streamline visualization result is also to be desired.
Traditional streamline generation algorithms usually trace streamlines from a set of specified seed points [7]. And the seed points are usually seeded uniformly in a line, rectangle, or sphere [1]. However, such seeding strategies have a common shortcoming. Because a vector field usually fluctuates violently around its critical regions, subtle differences between the locations of uniformly placed linear seed points and the ideal seed points will result in that the important information in critical regions of a vector field is lost. Verma et al. designed a topology-guided streamline seeding strategy to counter this issue [37], but this method usually requires much precomputation, which is very time-consuming.
In this paper, we will address all the problems mentioned above. Taking Delta Wing data field as an example, the overall procedure is shown in Fig. 1. First, in Sect. 3, we propose an adaptive method that generates seed points on the fly by detecting critical regions, and a streamline simplification method based on global distortion value. All the methods above can be executed in parallel by GPUs which support parallel computation architecture. Second, an application is developed by us to visualize all kinds of vector fields, together with a clean user interface, real-time visualization and navigation, and a lot of user-adjustable parameters. We will present the application in Sect. 5. The source code of this paper can be found in https://github.com/42yeah/adaptiflux.
Related work
Vector field visualization technology goes back to the previous century. The main purpose of vector field visualization is to present the user with useful information. Most of the earliest visualization took a glyph-based approach, which is simple and intuitive, but this usually falls short on complex vector fields. The Line Integral Convolution [7] method proposed in the 1990s is a classic algorithm that opens a new door to visualize 2D vector data. A lot of 3D generalizations have been proposed since then, such as Fast-LIC [31], 3D-LIC [43], and Dynamic-LIC [34]. Four classical vector field visualization technologies are introduced as follows.
Topology-based vector field visualization
Topology-based vector field visualization relies on the underlying vector field characteristics for seed point placement. Verma et al. [37] proposed a seeding strategy that focuses on placing seed points around critical points. Based on the topology information of the voxelized vector field, Salzbrunn et al. [25] proposed a heuristic and a deterministic approach to generate a minimal set of streamlines. Recently, Bujack et al. [5] provides a criterion capable of separating critical points in time-varying vector fields.
Information theory-based vector field visualization
Information theory-based vector field visualization has become an active research area recently. Wang et al. [38] presented a comprehensive overview on scientific visualization using information theory. Xu et al. [41] presented a novel seed point placement strategy from an information-theoretic point of view. Ye et al. [35] presented a streamline selection and viewpoint selection method by treating them as symmetric problems and formulating them into a unified information-theoretic framework. More recently, Präger et al. [23] introduced a robust entropy computation method in order to visualize statistical complexity in 3D vector fields.
Vector field simplification
Presenting the user with de-cluttered information is important, and has therefore been researched in the past. Early works are mainly non-topology, such as the method proposed by Telea et al. [36], which simplifies a vector field based on hierarchical clustering of the input data. Skraba et al. [30] proposed a vector field simplification method based on critical point cancellation. Skraba et al. also proposed another vector field simplification method [29], by removing features in order of their relevance and importance, so as to reduce complexity. Carmo et al. [8] proposed a 3D vector field simplification method using hierarchical clustering and local linear expansion to extract salient topological flow features. Xu et al. [40] introduced a CUDA-accelerated flow feature region detection method to filter out particles located outside of these regions.
Large-scale vector data visualization
As computing power advances, large-scale vector data visualization has become a possibility. Although particle and glyph-based visualization are the most common means for large-scale 3D vector data [3, 11, 15], streamline remains an essential method of visualizing 3D large-scale data and is supported in visualization applications such as ParaView. In order to handle large amounts of data, Pugmire et al. [24] reviewed two parallelization approaches, including static decomposition and on-demand loading, and presented a novel hybrid algorithm for streamline computation. Peng et al. [20] have proposed a prefetching method by partitioning vector fields into blocks and constructing a particle flowing probability graph. Nouanesengsy et al. [19] proposed a load-balanced parallel streamline generation method. However, their method needs supercomputers to work. Yang et al. [42] proposed an image space approach: The vector field is first rendered in low resolution, then enhanced by passing it through a multi-task super-resolution network model.
Streamline simplification
Since visualization is the end goal, simplifying streamlines as well as simplifying the vector field can achieve the same result. Although 3D vector field streamline simplification is less well-researched, some work has been done in the past. Kong et al. [14] proposed a streamline simplification technique that is view-dependent. Wischgoll et al. [39] proposed a closed-loop detection algorithm to simplify streamline calculation, so that streamlines were simplified as well. Liu et al. [17] adopted the principle component analysis method to parameterize streamlines, then cluster and simplify the streamlines based on the parameterization result. More recently, Hu et al. [13] introduced a streamline selection method based on comprehensive similarity. Their approach incorporates an improved Hausdorff distance metric to cluster streamlines, which in turn facilitates the selection of streamlines from distinct clusters.
Fig. 2 [Images not available. See PDF.]
The adaptive streamline tracing process
Fig. 3 [Images not available. See PDF.]
The results of tracing streamlines of Vortex dataset in the center region by a forward Euler method and b RK4 method. Notice that with a large time step, RK4 method successfully trace much more details than forward Euler method
While a lot of vector field visualization progress is made through the decade, recent surveys [4, 26] show that most topology-guided methods are still limited to 2D vector fields, or relies on global feature extraction, which can be slow. In comparison, our adaptive visualization method is interjected into the core streamline tracing algorithm, which tracks the trace of a point’s movement in a vector field or a flow field. Instead of using a fixed linear or spherical seeding method, we propose an iterative, adaptive seeding method. The proposed adaptive method traces streamlines at first, and then generates the rest of the seed points on the fly. While tracing the original seed points, a calculation is performed to check whether the point is near a critical region or not. If it is, a seed point explosion event is triggered, which creates new seed points. The process is then repeated until no more new seed points can be generated or the number of streamlines has reached a given maximum value. Figure 2 shows the overall adaptive tracing process.
Adaptive seed point generation
Initial seeding
Firstly, initial seeds are generated. Given a lower bound and an upper bound , initial seed points are placed uniformly in a linear (Eq. 1) or rectangular manner (Eq. 2).
1
2
In fact, our adaptive method works with any given set of initial seed points, including linear seeding, rectangular seeding, spherical seeding, cubic seeding, and user-specified initial seeding points.Streamline tracing
After initial seeding, the first batch of streamlines is to be traced using the initially created seed points. Given the time step t, Forward Euler method defined as Eq. 3 or fourth-order Runge–Kutta (RK4) method defined as Eq. 4 [6] are adopted to trace streamlines according to the accuracy requirement. Both methods are supported in our application. By comparison, RK4 integration offers better precision than forward Euler integration (Fig. 3).
3
4
A dead zone check is performed at every step of the way, followed by a critical region check. Dead zones are vector field regions where all vector components exactly equal to zero. Because of the floating point precision, it is improbable that all components are exactly zero within a vector field. Therefore, it usually indicates the boundary of a vector field. In this case, the tracing is ceased. A critical region check determines whether an explosion event will occur or not. We will explain both critical region check and seed point explosion event in great detail in Sects. 3.3 and Sect. 3.4.Table 1. Critical point types and properties of their planar Jacobian matrices
Source | Sink | Saddle point | Center | Attracting focus | Repelling focus | |
|---|---|---|---|---|---|---|
Illustration | ||||||
Properties |
Critical region detection
A test is performed for every integration step to detect whether the current tracing point is in a critical region. Critical region refers to a region near a critical point. Traditionally, only 3D critical points in the strict mathematical sense are considered, namely points where the vector magnitude vanishes [44] (Fig. 4a). However, in fact, a point which shows features of a 2D critical point in the projection plane also contains vital information of the vector field. So we also consider such a new type of planar critical points. Specifically, a planar critical point refers to a point whose neighborhood point set N within radius satisfies
All sampled vectors in N are perpendicular to : ;
exhibiting critical point behavior in its projection plane perpendicular to .
Fig. 4 [Images not available. See PDF.]
Critical region examples. a Conventional critical region. b Planar critical region. Notice the empty spot where = 0 on the left. In comparison, planar critical regions are more loosely defined: if the alignment metric is under a certain threshold, we assume the sampling point is within a critical region
Figure 4b shows one example of a planar critical point. Such critical points are vital since great changes usually emerge around them, which can be considered as features of a vector field. We further classify planar critical points into source, sink, center, and foci, as shown in Tab. 1.
Fig. 5 [Images not available. See PDF.]
The explosion event framework
3D critical point detection
Assume that a k-d vector field is represented as Eq. 5, usually .
5
Then a 3D critical point refers to a point where the vector components are all equal to zero, as shown in Eq. 6.6
It means that the vector magnitude in a vector field vanishes when sampling near a 3D critical point. Obviously, locating a critical point where all components are zero is almost impossible. So we perform a critical region check instead and check whether the vector magnitude of the current sampled point is under a certain threshold:7
In the above equation, is the mean vector magnitude of the vector field, and is a user-defined weight. We have found to be a practical value. If it is, we assume a 3D critical point has been found, and a seed point explosion event is triggered.Planar critical point detection
According to the definition of the planar critical point, we know it is a 2D critical point in the projection plane perpendicular to the current sample vector . The plane can be defined by :
8
In this equation, and denote the right unit vector and the up unit vector, respectively. is an non-parallel arbitrary up vector w.r.t. , so that no degenerate vector can be produced.In order to detect a planar critical point, |N| neighborhood sample points need to be taken (Eq. 9), and an alignment metric is evaluated (Eq. 10).
9
10
If the alignment metric is under a certain user-adjustable threshold , we assume the current sampling point is within a critical region. A seed point explosion event will then be triggered.Seed point explosion
A seed point explosion event creates new seed points. is user-adjustable; by default . In order to avoid repetitive explosions, we set a cooldown period . The explosion event is forbidden to trigger in the cooldown period (Fig. 5). The application supports two types of explosion operations: For conventional 3D critical points, uniform sphere random sample explosion; and for planar critical points, topology-guided seed point explosion inspired by the 2D topology-guided streamline seeding strategy proposed by Verma et al. [37].
Since a cooldown period is imposed whenever a seed point explosion event is triggered, we do not need to concern about critical points being non-isolated.
Uniform sphere random sample explosion
Due to the fact that conventional critical points in 3D space can exhibit complex behavior, we have opted for a stochastic, uniformly distributed spherical explosion approach. A direction is chosen randomly and uniformly within a unit sphere. The direction is then scaled by the user-adjustable radius , and new seed points are generated from the original sample point offset along the direction.
11
12
Topology-guided seed point explosion
For planar critical points, new seed points are generated based on critical point type. Unlike Verma’s topology-guided streamline seeding strategy, our method does not require the prerequisite knowledge of critical point position, and therefore, no precomputation is needed. Verma’s method is also only suitable for 2D vector fields, and does not apply to 3D vector fields. In our topology-guided seed point explosion method, if the current exploding critical point is a conventional 3D critical point, then the new seed points are generated in a uniform hemispherical manner. If it is a planar critical point, new seed points are generated according to the template of its respective critical point type (as shown in Fig. 6).
For a center, attracting focus, or repelling focus, it is a good choice to place new seed points in a linear manner (Fig. 6a) because the current vectors are approximately rotating around the center, and placing them linearly means less overlap and redundant computations. While for a source, sink, or a saddle point, placing the new seed points in a circular manner (Fig. 6b) is better, and can yield more information.
Fig. 6 [Images not available. See PDF.]
Seed point generation templates based on critical point types. a Template for centers, attracting foci, and repelling foci. b Template for sources, sinks, and saddle points
In order to determine the planar critical point type, a 2D planar Jacobian matrix needs to be evaluated from the current vector [22, 28]. Vector gradients along and axis are evaluated, and then transformed to local space where . U can be solved using
13
14
15
Then the 2D Jacobian matrix can be constructed as Eq. 17.16
17
As shown in Tab. 1, different types of critical points have different Jacobian eigenvalues. Since seed points of nodes and saddle points can be placed in the same manner, and the same goes for foci and centers. Considering both nodes and saddle points only have real eigenvalues, we determine seed point placement strategy entirely depending on whether Jacobian value has imaginary eigenvalues, much faster than actually solving the eigenvalues, which is an iterative process:18
In the equation, , and . Circular seed point explosion strategy places new seed points in a circle inside the plane defined by with a user-adjustable radius of ; linear seed point explosion places seeds in a straight line.Streamline simplification based on global distortion
Fig. 7 [Images not available. See PDF.]
Streamlines before and after our simplification procedure based on global distortion. a Streamlines before simplification. b Streamlines after simplification
The rendering result after streamline tracing is often cluttered. In addition, many streamlines do not present helpful information, thus preventing the user from gathering useful data and making meaningful decisions. In order to reduce visual clutter, we propose a global distortion-based streamline simplification method, which is very fast and can be effectively parallelized.
Following the streamline tracing process, each individual streamline is reviewed, and its global distortion value is evaluated by Eq. 19.
19
Streamlines with a global distortion value above user-specified threshold are then removed accordingly. Thus complex, interesting streamlines are preserved, while simple, straight streamlines are removed.The result is a cleaner visualization with far less visual clutter, with the most important parts of the vector field preserved, as shown in Fig. 7. Moreover, a simple kernel call also guarantees its fast execution speed.
Experiments
In the course of this study, we have carried out two distinct sets of experiments to thoroughly examine the effectiveness of our proposed methods.
The primary set of experiments is dedicated to a comparative analysis of streamline generation results. Three different approaches are considered: uniform seeding, our newly proposed adaptive seed point generation method, and an amalgamation of our adaptive seed point generation method and our streamline simplification technique. These comparisons provide a visual demonstration of the render output, illustrating the efficacy and visual clarity that our methods can achieve in comparison to conventional uniform seeding.
The secondary set of experiments revolves around a performance comparison in terms of streamline generation time. We benchmarked our software against several well-established tools in the field, namely VTK [27], VisIt [10], and Tecplot. This comparative analysis allows us to evaluate the computational efficiency of our methods and ascertain the practical feasibility of our software for use in the generation of streamlines.
Through these carefully designed experiments, we aim to provide a comprehensive evaluation of our proposed methodologies, taking into account both the quality of the visualizations and the efficiency of the generation process.
Table 2. Comparisons between linear seeding, our proposed adaptive seeding method without streamline simplification, and our proposed method with streamline simplification
Dataset | Parameters | Uniform seeding | Adaptive seeding without simplification | Adaptive seeding with simplification |
|---|---|---|---|---|
Delta Wing | Default | |||
Bluntfin | ||||
Tube | ||||
Turbulence | ||||
Vortex | ||||
Same as Vortex |
Streamline visualizations
Table 2 shows the comparison among different datasets, with/without our proposed seed point generation method, and with/without the simplification method. It can be seen from the table that the adaptive method greatly enhances the final visualization result and the streamlines traced. Simplification takes this further by removing unnecessary streamlines, which not only de-clutters the visualization result, but also improves overall aesthetics.
Table 3. A comparison of streamline generation time in milliseconds among VTK, Tecplot, our adaptive seeding method (Ours), and ours with simplification (Ours + S)
Dataset | Size (MB) | VTK | VisIt | Tecplot | Ours | Ours + S |
|---|---|---|---|---|---|---|
Tube | 0.371 | 260.30 | 39.49 | 50.12 | 15.30 | 38.19 |
Delta Wing | 68.6 | 80.83 | 48.01 | 48.57 | 31.89 | 33.61 |
Bluntfin | 2.16 | 155.46 | 49.35 | 48.49 | 28.05 | 35.80 |
Turbulence | 118 | 657.96 | 81.80 | 51.61 | 27.99 | 36.25 |
Vortex | 16.8 | 875.07 | 127.85 | 60.73 | 47.03 | 74.57 |
Performance benchmark
We compared our streamline generation speed with some of the commonly-used data visualization library: Visualization Toolkit (VTK), VisIt, and Tecplot. Since our method is designed with high performance computing in mind, combined with CUDA acceleration, we can interact with the whole scene at a smooth, high framerate. Even when streamlines are being actively generated, no noticeable stutters can be found. Table 3 shows significant streamline generation speed improvement. With simplification process enabled, our method is still the fastest one by far. Due to the dynamic placement of the seed points, our streamline visualization method can also present more information than those visualization toolkits with the same number of seeds ().
All tests were conducted on an OMEN laptop with a 12th Gen Intel(R) Core i7-12800HX 2.00GHz processor, 16 GB system memory, and an NVIDIA GeForce” 3070 Ti graphics card. The operating system is Windows 11, and our CUDA version is v11.7. CUDA can effectively parallelize our method, and as a result, the application can be run in real time, with an above interactive framerate (20 FPS) most of the time.
Vector field visualization application
We have developed an application AdaptiFlux to demonstrate the methods described in the paper, which has a simple and easy to navigate user interface, as shown in Fig. 8.
Fig. 8 [Images not available. See PDF.]
Graphics interface of our vector field visualization application
AdaptiFlux can be started from the command line. The application offers a series of ways to visualize a vector field, and supports plain text as well as NRRD format. In addition, all visualization methods have user-adjustable parameters.
AdaptiFlux supports the visualization of line glyphs, arrow glyphs, streamlines, and streamtubes. In this paper, all vector field visualizations were created using the AdaptiFlux software package. Beyond its core rendering capabilities, the application also offers additional advanced features that enhance its usability and versatility.
Functionalities
Camera control
Camera control is accessible and intuitive. By using the WASD keys to move around and a mouse to control camera pitch and yaw, the user can effectively navigate around the whole vector field. Camera pose can be saved to disk and restored later. The user can adjust the resolution of the final render, and the render can be saved by clicking the “screenshot” button.
Line glyphs and arrow glyphs
The user can choose the visualization plane between the X–Y plane and the Y–Z plane. The plane offset can be adjusted on a slide bar or hotkeys Q and E. Visualized line length is scaled by vector magnitude at the sample point. The user can additionally specify a parameter for the length of a line.
Streamlines
The user can choose the streamline initial seeding method among Delta Wing recommended seeding, linear seeding, and rectangular seeding strategies. For seeding strategies other than Delta Wing recommended one, the beginning point and the ending point need to be additionally specified. Delta Wing recommended seeding strategy is just a linear seeding shortcut placed conveniently near the critical region of the delta wing to showcase our method’s capabilities. RK4 integration method can be toggled on and off. The user also has the option to render seed points.
Streamtubes
The controls of streamtubes are very much like streamlines, but with one extra user-adjustable parameter, i.e., streamtube’s radius r. For a voluminous vector field, streamtube rendering will consume significantly more memory, so caution should be taken when picking streamtube as the visualization method. The user additionally has the option to export the streamtube as a WaveFront.obj file and save it to the local disk.
Adaptive seeding
The user can choose to enable adaptive seeding. After enabling, the user can adjust some adaptive parameters again, including seed point generation (alignment) threshold , adaptive explosion radius , number of new seed points created , and explosion cooldown .
Streamline simplification
The user can toggle to enable streamline simplification. Streamline simplification can run independently. That is to say it does not require adaptive seeding to be enabled. The user can choose the simplification threshold . By default, .
Taking the Vortex vector field as an example, Fig. 9 outputs the visualization results of glyphs, arrow glyphs, streamlines, and streamtubes from the AdaptiFlux.
Fig. 9 [Images not available. See PDF.]
AdaptiFlux supports various forms of vector field visualization. Above shows the Vortex dataset visualized in line glyphs, arrow glyphs, streamlines, and streamtubes
Algorithm implementation
Like [40], our algorithm is accelerated using CUDA. The application is written in C++, and compiled using the NVIDIA CUDA compiler NVCC. Since there will be CUDA kernel calls during application execution, a computer with an NVIDIA graphics card with CUDA v11.7 or above is needed. After CUDA calculations are done, the streamlines/glyphs are copied directly into OpenGL VBOs using CUDA-OpenGL interoperability. As a result, most of the operations are performed on GPU.
CUDA kernels are implemented separately for line glyphs, arrow glyphs, streamlines, and streamtubes. The CUDA grid size is evaluated as:
20
Typically . For our adaptive tracing procedure, n stands for the current number of untraced streamlines. For example, means that there are 100 new seed points being traced in this iteration. The seed point array and the number of seed points are shared between all CUDA blocks. When a critical region has been detected and a corresponding template has been determined, we use21
Rendering
We utilize the interoperability of OpenGL and CUDA [33] to achieve real-time rendering. Streamlines are properly color mapped and shaded according to their vector magnitude. With an NVIDIA GeForce 3070 Ti graphics card, the whole process, from streamline tracing to rendering, can be done at above interactive framerate.
After the initial batch of streamlines has been traced, newly added seed points are appended to the whole seed point set. The process is then repeated until either no new seed points can be created, or the maximum amount of streamlines has been reached. We only show the rendering result after the streamline tracing process is halted. And the streamline tracing process will launch only when the tracing parameter is changed. The result is a much better streamline view, with fewer streamlines at lower frequency areas and more detail at critical regions, as shown in Fig. 10.
Fig. 10 [Images not available. See PDF.]
Streamline visualization comparisons for Turbulence dataset. Streamlines generated by (a) the linear seeding strategy; b the adaptive seeding strategy and the simplification method based on global distortion. Streamlines at lower frequency areas are greatly simplified, while details are further improved in the turbulent region
Conclusion
We have presented a technique for streamline visualization, which generates seed points on the fly by our proposed adaptive seeding method. Using this method, we can achieve above interactive framerate. Users can interact with the vector field and adjust visualization parameters seamlessly. In order to reduce visual clutter, we have also proposed a streamline simplification method, which filters streamlines based on their global distortion. Both methods are very fast, which can be effectively parallelized and run on all devices supported by the CUDA architecture. We further developed a visualization application to demonstrate the viability of our methods. The visualization procedure is quick, which provides helpful information for users. In fact, the file size does not strongly impact execution time. So the developed application can still work smoothly for voluminous dataset.
However, there are many user-adjustable parameters for the proposed methods. This is a double-edged sword. On one hand, users have the freedom to adjust visualization parameters according to their preferences, aiming for optimal results. On the other hand, this flexibility might occasionally confuse users when determining the appropriate parameter values. Hence, further research could focus on automating the process of parameter selection. In our application, the maximum streamline length is set to 8192, as the ultimate length of the streamline is unknown. Consequently, when the number of seed points is high, this leads to significant memory consumption. To address this issue, one possible improvement would involve initially allocating a smaller memory size and pausing the tracing process once the maximum streamline length is reached. Subsequently, the tracing can resume from the cutoff point in the next kernel call. Moreover, the simplification algorithm can be extended further. It is worth noting that straight lines also convey essential information about the vector field, and their simplification may not always be desirable. Therefore, determining which streamlines to simplify requires additional investigation.
Funding
This work was supported in part by the National Natural Science Foundation of China under Grant (Nos 62072126, 61720164), in part by the Fundamental Research Projects Jointly Funded by Guangzhou Council and Municipal Universities under Grant SL2023A03J00639, and Key Laboratory of Philosophy and Social Sciences in Guangdong Province of Maritime Silk Road of Guangzhou University (GD22TWCXGC15), in part by the PolyU Research Institute for Sports Science and Technology under Grant P0044571.
Data availability
The datasets used in Sect. 4 are available at https://osf.io/um3xr.
Code availability
The source code of AdaptiFlux is available at https://github.com/42yeah/adaptiflux.
Declarations
Conflict of interest
The authors declare that they have no Conflict of interest.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
References
1. Ahrens, J; Geveci, B; Law, C et al. 36-paraview: an end-user tool for large-data visualization. The Visualization Handbook; 2005; Citeseer: pp. 50038-500381.
2. Andrysco, N.: A user study contrasting 2d unsteady vector field visualization techniques. Ph.D. thesis, The Ohio State University (2005)
3. Brambilla, A., Andreassen Ø, Hauser, H.: Integrated multi-aspect visualization of 3d fluid flows. In: VMV, pp. 1–9 (2013)
4. Bujack, R; Middel, A. State of the art in flow visualization in the environmental sciences. Environ. Earth Sci.; 2020; 79,
5. Bujack, R; Dutta, S; Zhang, D et al.et al. Hotz, I; Bin Masood, T; Sadlo, F et al.et al. Objective finite-time flow topology from flowmap expansion and contraction. Topological Methods in Data Analysis and Visualization VI; 2021; Cham, Springer: pp. 111-131. [DOI: https://dx.doi.org/10.1007/978-3-030-83500-2_7]
6. Butcher, J.: Runge–Kutta methods. Scholarpedia 2(9), 3147 (2007)
7. Cabral, B., Leedom, L.C.: Imaging vector fields using line integral convolution. In: Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques. Association for Computing Machinery, New York, NY, USA, SIGGRAPH ’93, pp 263–270 (1993). https://doi.org/10.1145/166117.166151
8. Carmo, B.S., Ng, Y.P., Prügel-Bennett, A.: et al A data clustering and streamline reduction method for 3d mr flow vector field simplification. In: Medical Image Computing and Computer-Assisted Intervention–MICCAI 2004: 7th International Conference, Saint-Malo, France, September 26–29, 2004. Proceedings, Part I 7. Springer, pp. 451–458 (2004)
9. Chao, L., Lingda, W.: Vector field visualization review and prospects. In: 2014 International Conference on Virtual Reality and Visualization, pp. 43–49 (2014). https://doi.org/10.1109/ICVRV.2014.42
10. Childs, H., Brugger, E., Whitlock, B., et al (2012) Visit: an end-user tool for visualizing and analyzing very large data. In: High Performance Visualization–Enabling Extreme-Scale Scientific Insight. LBNL Publications, pp. 357–372. https://doi.org/10.1201/b12985
11. Engelke, W; Lawonn, K; Preim, B et al. Autonomous particles for interactive flow visualization. Comput. Graph. Forum; 2019; 38,
12. Hall, P. Volume rendering for vector fields. Vis. Comput.; 1993; 10, pp. 69-78. [DOI: https://dx.doi.org/10.1007/BF01901943]
13. Hu, X., Weng, J., Chai, J., et al.: A 3d streamline selection algorithm based on comprehensive similarity. In: Third International Conference on Artificial Intelligence and Computer Engineering (ICAICE 2022), pp. 1230–1234. SPIE (2023)
14. Kong, L.X., Tang, X.A., Li, H., et al.: A view-dependent and physical feature-preservation streamline simplification method for 3d vector field visualization. In: Computers and Information Processing Technologies I, Applied Mechanics and Materials, vol. 571, pp 676–681. Trans Tech Publications Ltd (2014). https://doi.org/10.4028/www.scientific.net/AMM.571-572.676
15. Kruger, J; Kipfer, P; Konclratieva, P et al. A particle system for interactive visualization of 3d flows. IEEE Trans. Vis. Comput. Graph.; 2005; 11,
16. Laramee, RS; Erlebacher, G; Garth, C et al. Applications of texture-based flow visualization. Eng. Appl. Comput. Fluid Mech.; 2008; 2,
17. Liu, F; Zhou, W; Liu, B et al. Flow field description and simplification based on principal component analysis downscaling and clustering algorithms. Front. Earth Sci.; 2022; 9, 23. [DOI: https://dx.doi.org/10.3389/feart.2021.804617]
18. Max, N.: Progress in scientific visualization. The Visual Computer 21(UCRL-JRNL-208330) (2004)
19. Nouanesengsy, B; Lee, TY; Shen, HW. Load-balanced parallel streamline generation on large scale vector fields. IEEE Trans. Vis. Comput. Graph.; 2011; 17,
20. Peng, B; Wang, W; Li, S. Data prefetching in streamline visualization of large scale flow field. J. Comput.-Aided Des. Comput. Graph.; 2016; 28,
21. Peng, Z., Geng, Z., Laramee, R.S.: Design and implementation of a system for interactive higher dimensional vector field visualization. In: Eurographics (Posters), pp. 13–14 (2011)
22. Perry, A; Fairlie, B. Critical points in flow patterns. Advances in Geophysics; 1975; Elsevier: pp. 299-315.
23. Präger, A., Nsonga, B., Scheuermann, G.: Visualizing statistical complexity in 3d turbulent flows using a robust entropy calculation method. In: WSCG 2022 Forum, pp. 28–37 (2022). https://doi.org/10.24132/CSRN.3201.5
24. Pugmire, D., Childs, H., Garth, C., et al.: Scalable computation of streamlines on very large datasets. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, pp. 1–12 (2009). https://doi.org/10.1145/1654059.1654076
25. Salzbrunn, T; Scheuermann, G. Flow Structure Based 3D Streamline Placement; 2009; Berlin, Springer: pp. 89-100. [DOI: https://dx.doi.org/10.1007/978-3-540-88606-8_7]
26. Sane, S; Bujack, R; Garth, C et al. A survey of seed placement and streamline selection techniques. Comput. Graph. Forum; 2020; 39,
27. Schroeder, W., Martin, K., Lorensen, B., et al.: The Visualization Toolkit: An Object-oriented Approach to 3D Graphics. Kitware (2006). https://books.google.co.jp/books?id=rx4vPwAACAAJ
28. Skala, V et al. Classification of critical points using a second order derivative. Procedia Comput. Sci.; 2017; 108, pp. 2373-2377. [DOI: https://dx.doi.org/10.1016/j.procs.2017.05.271]
29. Skraba, P; Wang, B; Chen, G et al. Robustness-based simplification of 2d steady and unsteady vector fields. IEEE Trans. Vis. Comput. Graph.; 2015; 21,
30. Skraba, P; Rosen, P; Wang, B et al. Critical point cancellation in 3d vector fields: robustness and discussion. IEEE Trans. Vis. Comput. Graph.; 2016; 22,
31. Stalling, D., Hege, H.C.: Fast and resolution independent line integral convolution. In: Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques. Association for Computing Machinery, New York, NY, USA, SIGGRAPH ’95, pp. 249–256 (1995). https://doi.org/10.1145/218380.218448
32. Stalling, D., Steinke, T.: Visualization of vector fields in quantum chemistry. Tech. Rep. SC-96-01, ZIB, Takustr. 7, 14195, Berlin (1996)
33. Storti, D; Yurtoglu, M. CUDA for Engineers: An Introduction to High-Performance Parallel Computing; 2015; Addison-Wesley Professional:
34. Sundquist, A. Dynamic line integral convolution for visualizing streamline evolution. IEEE Trans. Vis. Comput. Graph.; 2003; 9,
35. Tao, J; Ma, J; Wang, C et al. A unified approach to streamline selection and viewpoint selection for 3d flow visualization. IEEE Trans. Vis. Comput. Graph.; 2013; 19,
36. Telea, A., Van Wijk, J.: Simplified representation of vector fields. In: Proceedings Visualization ’99 (Cat. No.99CB37067), pp 35–507 (1999). https://doi.org/10.1109/VISUAL.1999.809865
37. Verma, V., Kao, D., Pang, A.: A flow-guided streamline seeding strategy. In: Proceedings Visualization 2000. VIS 2000 (Cat. No.00CH37145), pp. 163–170 (2000). https://doi.org/10.1109/VISUAL.2000.885690
38. Wang, C; Han-Wei, S. Information theory in scientific visualization. Entropy; 2011; [DOI: https://dx.doi.org/10.3390/e13010254]
39. Wischgoll, T., Scheuermann, G.: Locating closed streamlines in 3d vector fields. In: Proceedings of the Symposium on Data Visualisation 2002. Eurographics Association, Goslar, DEU, VISSYM ’02, p. 227-ff (2002)
40. Xu, H; Cheng, ZQ; Martin, RR et al. 3d flow features visualization via fuzzy clustering. Vis. Comput.; 2011; 27, pp. 441-449. [DOI: https://dx.doi.org/10.1007/s00371-011-0577-8]
41. Xu, L., Lee, T.Y., Shen, H.W.: An information-theoretic framework for flow visualization. IEEE Trans. Vis. Comput. Graph. 16(6), 1216–1224 (2010). https://doi.org/10.1109/TVCG.2010.131
42. Yang, Y; Zhou, H; Peng, W. Multi-task super resolution method for vector field critical points enhancement. Metaverse; 2022; 3,
43. Ye, X., Kao, D., Pang, A.: Strategy for seeding 3d streamlines. In: VIS 05. IEEE Visualization, 2005., pp. 471–478 (2005). https://doi.org/10.1109/VISUAL.2005.1532831
44. Zharfa, M., Krueger, P.S.: APS -72nd Annual Meeting of the APS Division of Fluid Dynamics - Event - Critical point identification in 3D velocity fields., in Bulletin of the American Physical Society, American Physical Society. (2019) Available: https://meetings.aps.org/Meeting/DFD19/Session/H12.8. Accessed 8 Apr 2024
Copyright Springer Nature B.V. Jan 2025