log*(n)中voronoi图的gpu加速跳洪算法

fast-gpu-voronoi的Python项目详细描述


JFA*

ResearchAuthors
[slides]GPU-Accelerated Jump Flooding Algorithm for Voronoi Diagram in log*(n) [this]Maciej A. Czyzewski
[article]Facet-JFA: Faster computation of discrete Voronoi diagrams [2014]Talha Bin Masood, Hari Krishna Malladi, Vijay Natarajan
[article]Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform [2006]Guodong Rong, Tiow-Seng Tan

实现的算法

JFA*JFA+JFA
used improvementnoise+selectionnoise--results
num. of needed stepslog*(n)log4(p)log2(p)
step sizep/(3^i)p/(2^i)p/(2^i)
research(our)(our)[Guodong 2006]

安装示例

可以使用pip

安装项目
$ pip3 install fast_gpu_voronoi

这里有一个小例子可以激发您的食欲:

fromfast_gpu_voronoiimportInstancefromfast_gpu_voronoi.jfaimportJFA_starfromfast_gpu_voronoi.debugimportsaveI=Instance(alg=JFA_star,x=50,y=50, \
        pts=[[7,14],[33,34],[27,10],[35,10],[23,42],[34,39]])I.run()print(I.M.shape)# (50, 50, 1)save(I.M,I.x,I.y,force=True)# __1_debug.png

开发

如果您想参与,请首先克隆git存储库,然后运行测试:

$ git clone git@github.com:maciejczyzewski/fast_gpu_voronoi.git
$ pip3 install -r requirements.txt
$ pytest

结果

Our methodCurrent best
JFA*JFA
JFA_starJFA
steps = log*(2000) = 4steps = log(720) ~= 10

…对于x=720;y=720;seeds=2000(读作n=2000;p=720)。

谢谢

Poznan University of Technology
OpenCl

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值