healpy.line_integral_convolution(Q, U, steps=100, kernel_steps=50, step_radian=0.003, pol_min=-1e+30, pol_max=1e+30, rand_seed=42, ell=None, texture=None, modulate=False)

Computes line integral convolution of polarized map.

This visualizes the vector field via convolution of streamlines with a random background texture. It thus serves as a technique for visualizing polarization orientation. Polarization intensity can additionally be visualized by modulating it with the convolved texture by setting the modulate argument. By default, the random texture is white noise, but it can also be generated with power at a given angular scale if ell is specified, or a custom texture can be passed to this function with the texture argument.

See example: https://github.com/healpy/healpy/pull/617#issue-434041253

Qarray-like, shape (Npix,)

Input Stokes Q map. Must be in RING ordering.

Uarray-like, shape (Npix,)

Input Stokes U map. Must be in RING ordering.


Number of steps to use for each line of the convolution (default: 100).


Extent of the convolution kernel (in steps, <= steps) (default: 50).


Size (in radians) of each step in the convolution (default: 0.003).


Minimum value for the polarization magnitude (default: -1e30).


Maximum value for the polarization magnitude (default: 1e30).


Seed for the random number generator; only used when texture is not provided (default: 42).

ellint or None

The ell value at which the generated background texture has power (default: None). If ell < 0, it is set to ell=2*nside. If None, the generated background texture will contain white noise.

texturearray-like, shape (Npix,) or None

Background texture map (default: None). Must be in RING ordering. If None, a background texture will be generated based on the values of rand_seed and ell.


Whether or not to modulate the convolved texture with the polarization intensity (default: False).

lic_textureLine integral convolved texture.