LIC绘图算法。
项目描述
线积分卷积
线积分卷积(LIC)是一种用于绘制矢量场的算法。其主要优点是可以详细地展示矢量场的精细结构。它不显示矢量的大小或方向,尽管这些信息可以在后处理步骤中用颜色编码。
结果当然取决于内核的形状和流线的长度
。如果太小,纹理没有被充分过滤,运动不清楚。如果太大,图像被平滑处理,运动的细节丢失。对于大小为(256,256)的图像,20的值可以得到可接受的结果。
安装
如果您想安装LIC,可以克隆仓库并运行。
pip install -e .
或从PyPI安装
pip install licplot
使用方法
基本用法显示在,可运行的示例可以在 examples/lic_demo.py
下找到
from lic import lic_internal
import numpy as np
import matplotlib.pyplot as plt
# create vector field and kernel
size = 500
u = np.zeros((size, size), dtype=np.float32)
v = np.zeros((size, size), dtype=np.float32)
texture = np.random.rand(size, size).astype(np.float32)
# create a kernel
kernel_length = 31
kernel = np.sin(np.arange(kernel_length) * np.pi / kernel_length).astype(np.float32)
# compute the lic
image = lic_internal.line_integral_convolution(u, v, texture, kernel)
plt.imshow(image, cmap="hot")
plt.show()
由Anne Archibald从 https://github.com/aarchiba/scikits-vectorplot 分支
。