UFLIC (Unsteady Flow Line Integral Convolution) [60]
is an object-space texture synthesis technique designed to visualize unsteady
flow fields. The two important components, the time-accurate value scattering
scheme and the successive texture feed-forward strategy, are based on the
observation that particles leave their footprints, i.e., deposit their properties
(e.g., texture values) at downstream positions, as the flow runs over time.
At each time step a scattering process (SCAP, Figure
1) occurs for which a seed is released, i.e., discharged, from each
pixel as a contributor to scatter the texture value to the downstream pixels
along the newly advected pathline in its life span that usually ranges
through several time steps. On the other hand, as a receiver, each pixel
keeps several stamped buckets in a ring buffer to accumulate deposited values.
A frame is obtained by convolving the values that each pixel has received
and stored in the bucket stamped with the frame index, creating spatial
coherence in the output image. To enhance temporal coherence, the resulting
texture is high-pass filtered with noise jittering and then fed forward
as the input texture to the next SCAP. Figure 2
shows the UFLIC pipeline. |
UFLIC possesses the advantage of conveying very high
temporal-spatial coherence by scattering fed-forward texture values. Value
scattering along a long pathline over several time steps not only correlates
a considerable number of intra-frame pixels to establish strong spatial
coherence, but also correlates sufficient inter-frame pixels to build tight
temporal coherence. Texture feed-forward that takes an output frame, after
noise-jittered high-pass filtering, as the input texture for the next frame
constructs an even closer correlation between the two consecutive frames
to enhance temporal coherence. Flow
directions are clearly depicted in individual images for instantaneous flow
investigation and the animation is also quite smooth. The inconsistency
between temporal and spatial patterns in IBFV, LEA, and UFAC is successfully
resolved by scattering fed-forward texture values in UFLIC. In
addition, UFLIC can
be easily extended to time-varying 3D flows. The low performance
of UFLIC is primarily due to intensive pathline computation that typically
needs over 100 steps of integration for each pathline. In fact, there is
a huge amount of redundancy between the SCAPs of different seed particles
in terms of pathline integration. As shown in Figure
3, different particles may leave their footprints or scatter their
property values to a large number of common downstream pixels. Thus
there is a significant potential to accelerate
UFLIC by exploiting the pathline redundancy. In fact, we may
consider releasing a particle simply at point P
instead of at exactly the pixel center B such
that the red pathline can be reused to avoid the from-scratch integration
of the green pathline. This strategy indicates that a particle may be released
only at an integer time step but unnecessarily at a pixel
center. That is how our AUFLIC
version 1.0 works. We may adopt an even more ambitious mechanism
by which a particle may be released unnecessarily at an integer time
step and unnecessarily at a pixel center. That is how our
AUFLIC version 2.0
works. It is worth mentioning that version 2.0 differs from version 1.0
far more than in the seeding flexibility aspect. Here is a
table that compares UFLIC and AUFLIC 2.0 to reveal why the latter
is an order-of-magnitude faster than the former, compared to AUFLIC 1.0
that achieves 2X speedup over UFLIC. |