# ParaView/Line Integral Convolution

The line integral convolution(LIC) vector field visualization technique convolves noise with a vector field producing streaks along vector field tangents. Originally the technique was developed for use with 2D image based data but has since been extended to use on arbitrary surfaces and volumes. ParaView supports LIC on arbitrary surfaces via the Surface LIC plugin.

**Failed to parse (unknown function "\begin{equation}"): {\displaystyle \begin{equation} c_{ij} = L_{ij} * I + S_{ij} * (1 - I) \end{equation} }**

# Surface LIC Plugin Parameters

## Integrator

- Select Input Vectors
- This is used to select the vector field.

- Number Of Steps
- Number of integration steps.

- Step Size
- Step size given in the original vector field's units.

- Normalize Vectors
- When on the vector field will be normalized during integration. Normalization doesn't change the tangent field and makes it so the same step size and number of steps parameters work well on a variety of data. Disabling normalization can help reveal relationships between individual flow features.

- Enhanced LIC
- Enabling enhanced LIC activates an algorithm sub-pipeline that applies some image processing techniques to improve the visibility of streaking patterns in the result. The enhanced LIC algorithm requires two LIC passes. In the first pass a traditional LIC is computed, in the second pass image processing is applied to the output of pass 1 which is then used in place of noise in the second LIC pass over 1/2 of the number of integration steps.

## Shaders

- Color Mode
- This selects the shader that is used to combine mapped scalar colors with the gray scale LIC.
- Blend
- LIC and mapped scalar colors are combined in inverse proportion to produce the final color, $$c_{ij} = L_{ij} * I + S_{ij} * (1 - I)$$
- Multiply
- LIC and mapped scalar colors are multiplied together to produce the final color, $$c_{ij} = ( L_{ij} + f ) * S_{ij}$$

- LIC Intensity
- This sets the intensity for LIC pattern when using
*Blend*shader.

- Map Mode Bias
- An additive term that could be used to brighten or darken the final colors when using the
*Multiply*shader.

### Contrast Enhancement

The contrast enhancement(CE) feature applies an image processing technique called histogram stretching at various points in the algorithm to increase contrast and dynamic range in the LIC streaks and final colored image. We've used CE in three places internally. A gray scale implementation occurs after each LIC pass and a color based implementation after scalar colors and LIC have been combined. The latter is referred to as color contrast enhancement(CCE) and is applied in HSL space on the L channel but in other respects is similar to the gray scale implementation.

We've implemented this as follows: \begin{equation} c_{ij} = \frac{c_{ij} - m}{M - m} \end{equation} where, the indices $i,j$ identify a specific fragment, $c$ is the fragment's gray scale intensity (or HSL lightness for CCE), $m$ is the gray scale color value to map to 0, $M$ is the gray scale color value to map to 1. When the contrast enhancement stage is applied on the input of the high-pass filter stage, $m$ and $M$ are always set to the minimum and maximum gray scale color of all fragments. In the final contrast enhancement stage $m$ and $M$ take on minimum and maximum gray scale colors by default but may be individually adjusted by the following set of equations: \begin{equation} m = min(C) + F_{m} * ( max(C) - min(C) ) \end{equation} \begin{equation} M = max(C) - F_{M} * ( max(C) - min(C) ) \end{equation} where, $C = \{c_{00},c_{01},...,c_{nm}\}$, are all of the gray scale(L channel) fragments in the image and $F_m$ and $F_M$ are adjustment factors that take on values between 0 and 1. When $F_m$ and $F_M$ are 0 minimum and maximum are input values are used. This is the default. Adjusting $F_m$ and $F_M$ above zero controls the saturation of normalization. This is useful, for example, if the brightness of pixels near the border dominate because these are convolved less because we can't integrate outside of the dataset.

- Enhance Contrast
- Low LIC Contrast Enhancement Factor
- This can be used to adjust the minimum value in the output of the contrast enhancement. This applies only to the final CE stage in the LIC.

- High LIC Contrast Enhancement Factor
- This can be used to adjust the minimum value in the output of the contrast enhancement. This applies only to the final CE stage in the LIC.

- Low Color Contrast Enhancement Factor

- High Color Contrast Enhancement Factor

- AntiAlias

## Fragment masking

- Mask On Surface

- Mask Threshold

- Mask Intensity

- Mask Color

## Noise texture generator

- Generate Noise Texture

- Noise Type

- Noise Texture Size

- Noise Grain Size

- Min Noise Value

- Max Noise Value

- Number Of Noise Levels

- Impulse Noise Probability

- Impulse Noise Background Value

- Noise Generator Seed

## Parallelization

- Composite Strategy

## Interactivity

- Use LIC For LOD