It is the integration-based method (technique). More precisely it is based on the discrete line integral on uniform grids. Discrete numerical integration is performed along a line (more precisely curve). Line here means field line of vector field.
Global methodedit
Compared to other integration-based techniques that compute field lines of the input vector field, LIC has the advantage that all structural features of the vector field are displayed, without the need to adapt the start and end points of field lines to the specific vector field. In other words, it shows the topology of the vector field.
In user testing, LIC was found to be particularly good for identifying critical points.[2]
otheredit
With the availability of high-performance GPU-based implementations, the former disadvantage of limited interactivity is no longer present.
Texture-based methodedit
LIC takes texture as an input and gives texture ( output). So it is texture synthesis.
Historyedit
LIC technique was proposed by Brian Cabral and Leith Casey Leedom[3]
Algorithmedit
Informal descriptionedit
Principle : the pixel values along the field lines are strongly correlated, but orthogonally to them almost uncorrelated. As a result, the field lines stand out visually from the background and become visible.
Intuition:
throwing paint in a river
visualisation of magnetic field lines using randomly distributed iron filings
"emulates what happens when a rectangular area of massless fine sand is blown by strong wind"[4]
Intuitively, the flow of a vector field in some domain is visualized by adding a static random pattern of dark and light paint sources. As the flow passes by the sources, each parcel of fluid picks up some of the source color, averaging it with the color it has already acquired in a manner similar to throwing paint in a river. The result is a random striped texture where points along the same streamline tend to have similar color.
Formal mathematical descriptionedit
Although the input vector field and the result image are discretized, it pays to look at it from a continuous viewpoint.[5] Let be the vector field given in some domain . Although the input vector field is typically discretized, we regard the field as defined in every point of , i.e. we assume an interpolation. Streamlines, or more generally field lines, are tangent to the vector field in each point. They end either at the boundary of or at critical points where . For the sake of simplicity, in the following critical points and boundaries are ignored. A field line , parametrized by arc length , is defined as . Let be the field line that passes through the point for . Then the image gray value at is set to
where is the convolution kernel, is the noise image, and is the length of field line segment that is followed.
The output image will normally be colored in some way. Typically some scalar field in is used, like the vector length, to determine the hue, while the gray-scale LIC image determines the brightness of the color.
Different choices of convolution kernels and random noise produce different textures: for example pink noise produces a cloudy pattern where areas of higher flow stand out as smearing, suitable for weather visualization. Further refinements in the convolution can improve the quality of the image.[6]
Description for programmersedit
Algorithmically, the technique starts by generating in the domain of the vector field a random gray level image at the desired output resolution. Then, for every pixel in this image, the forward and backward streamline of a fixed arc length is calculated. The value assigned to the current pixel is computed by a convolution of a suitable convolution kernel with the gray levels of all the pixels lying on a segment of this streamline. This creates a gray level LIC image.
Problemedit
Visualize field lines and singularities of a 2D stationary vector field (stream lines of a 2D steady flow)
Inputedit
vector field: 2D stationary vector field
noise: stationary white noise (scalar field = texture)
Outputedit
result (output image) = final LIC image of input vector field
Stepsedit
constraintsedit
false singularities
Versionsedit
Basicedit
Basic LIC images are grayscale images, without color and animation. While such LIC image conveys the orientation of the field vectors, it does not indicate their direction; for stationary fields, this can be remedied by animation. Basic LIC images do not show the length of the vectors (or the strength of the field).
Coloredit
The length of the vectors (or the strength of the field) is usually coded in color; alternatively, animation can be used.[3][5]
Animated versionedit
LIC images can be animated by using a kernel that changes over time. Samples at a constant time from the streamline would still be used, but instead of averaging all pixels in a streamline with a static kernel, a ripple-like kernel constructed from a periodic function multiplied by a Hann function acting as a window (in order to prevent artifacts) is used. The periodic function is then shifted along the period to create an animation.
FLICedit
Fast Lic ( FLIC)
The computation can be significantly accelerated by re-using parts of already computed field lines, specializing to a box function as convolution kernel and avoiding redundant computations during convolution.[5] The resulting fast LIC method can be generalized to convolution kernels that are arbitrary polynomials.[7]
OLICedit
Oriented Line Integral Convolution (OLIC)
Fast Rendering of Oriented Line Integral Convolution ( FROLIC)[8][9]
UFLICedit
For time-dependent vector fields ( unsteady flow) a variant (UFLIC = Unsteady Flow LIC), has been designed that maintains the coherence of the flow animation.[10]
Parallel versionsedit
Since the computation of a LIC image is expensive but inherently parallel, it has also been parallelized[11] and, with availability of GPU-based implementations, it has become interactive on PCs. Also for UFLIC an interactive GPU-based implementation has been presented.[12]
Multidimensionaledit
Note that domain does not have to be a 2D domain: the method is applicable to higher dimensional domains using multidimensional noise fields. However, the visualization of the higher-dimensional LIC texture is problematic; one way is to use interactive exploration with 2D slices that are manually positioned and rotated. The domain does not have to be flat either; the LIC texture can be computed also for arbitrarily shaped 2D surfaces in 3D space.[13]
Applicationsedit
This technique has been applied to a wide range of problems since it first was published in 1993.
Applications:
representing vector fields by approximation a field lines of the input vector field
flow-visualization method for steady ( time independent) flows.[14] Here field lines are called streamlines
Visual exploration of 2D autonomous dynamical systems[15]
GPU Based Image Processing Tools by Raymond McGuire
ParaView : Line Integral Convolution
A 2D flow visualization tool based on LIC and RK4. Developed using C++ and VTK. by Andres Bejarano
Wolfram Research (2008), LineIntegralConvolutionPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html (updated 2014).
^Line Integral Convolution for Flow Visualization by Dr. Matthew O. Ward
^Laidlaw, David H.; Kirby, Robert M.; Davidson, J. Scott; Miller, Timothy S.; da Silva, Marco; Warren, William H.; Tarr, Michael J. (October 21–26, 2001). "Quantitative Comparative Evaluation of 2D Vector Field Visualization Methods". IEEE Visualization 2001, VIS '01. Proceedings. San Diego, CA, USA. pp. 143–150.
^ abCabral, Brian; Leedom, Leith Casey (August 2–6, 1993). "Imaging Vector Fields Using Line Integral Convolution". Proceedings of the 20th annual conference on Computer graphics and interactive techniques. SIGGRAPH '93. Anaheim, California. pp. 263–270. CiteSeerX10.1.1.115.1636. doi:10.1145/166117.166151. ISBN 0-89791-601-8.
^ abcStalling, Detlev; Hege, Hans-Christian (August 6–11, 1995). "Fast and Resolution Independent Line Integral Convolution". Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '95. Los Angeles, California. pp. 249–256. CiteSeerX10.1.1.45.5526. doi:10.1145/218380.218448. ISBN 0-89791-701-4.
^Weiskopf, Daniel (2009). "Iterative Twofold Line Integral Convolution for Texture-Based Vector Field Visualization". In Möller, Torsten; Hamann, Bernd; Russell, Robert D. (eds.). Mathematical Foundations of Scientific Visualization, Computer Graphics, and Massive Data Exploration. Mathematics and Visualization. Berlin, New York: Springer. pp. 191–211. CiteSeerX10.1.1.66.3013. doi:10.1007/b106657_10. ISBN 978-3-540-25076-0.
^Hege, Hans-Christian; Stalling, Detlev (1998), "Fast LIC with Piecewise Polynomial Filter Kernels", in Hege, Hans-Christian; Polthier, Konrad (eds.), Mathematical Visualization, Berlin, Heidelberg: Springer-Verlag, pp. 295–314, CiteSeerX10.1.1.31.504, doi:10.1007/978-3-662-03567-2_22, ISBN 978-3-642-08373-0
^Fast Oriented Line Integral Convolution for Vector Field Visualization via the Internet by Rainer Wegenkittl and Eduard Gr¨oller
^Java Exploration Tool for Dynamical Systems by R. Wegenkittl and E. Gröller.
^Shen, Han-Wei; Kam, David L. (1998). "A New Line Integral Convolution Algorithm for Visualizing Time-Varying Flow Fields" (PDF). IEEE Trans Vis Comput Graph. 4 (2). Los Alamitos: IEEE: 98–108. doi:10.1109/2945.694952. ISSN 1077-2626.
^Zöckler, Malte; Stalling, Detlev; Hege, Hans-Christian (1997). "Parallel Line Integral Convolution" (PDF). Parallel Computing. 23 (7). Amsterdam: North Holland: 975–989. doi:10.1016/S0167-8191(97)00039-2. ISSN 0167-8191.
^Ding, Zi'ang; Liu, Zhanping; Yu, Yang; Chen, Wei (2015). "Parallel unsteady flow line integral convolution for high-performance dense visualization". 2015 IEEE Pacific Visualization Symposium, PacificVis 2015. Hangzhou, China. pp. 25–30.
^Battke, Henrik; Stalling, Detlev; Hege, Hans-Christian (1997). "Fast Line Integral Convolution for Arbitrary Surfaces in 3D". In Hege, Hans-Christian; Polthier, Konrad (eds.). Visualization and Mathematics: Experiments, Simulations, and Environments. Berlin, New York: Springer. pp. 181–195. CiteSeerX10.1.1.71.7228. doi:10.1007/978-3-642-59195-2_12. ISBN 3-540-61269-6.
^S. Yamamoto, Xiaoyang Mo and A. Imamiya, "Enhanced LIC pencil filter," Proceedings. International Conference on Computer Graphics, Imaging and Visualization, 2004. CGIV 2004., 2004, pp. 251-256, doi: 10.1109/CGIV.2004.1323994.
^Xiaoyang Mao, M. Kikukawa, K. Kashio and A. Imamiya, "Automatic generation of hair texture with line integral convolution," 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics, 2000, pp. 303-308, doi: 10.1109/IV.2000.859772.
^Xiaoyang Mao, Toshikazu Suzuki, and Atsumi Imamiya. 2003. AtelierM: a physically based interactive system for creating traditional marbling textures. In Proceedings of the 1st international conference on Computer graphics and interactive techniques in Australasia and South East Asia (GRAPHITE '03). Association for Computing Machinery, New York, NY, USA, 79–ff. https://doi.org/10.1145/604471.604489
^Bernhard Jenny (2021) Terrain generalization with line integral convolution, Cartography and Geographic Information Science, 48:1, 78-92, DOI: 10.1080/15230406.2020.1833762
Wikimedia Commons has media related to Line integral convolution.
Wikibooks has a book on the topic of: Fractals/Mathematics/LIC