一个简单的Python模块,包含一个在C++中优化的现成的线性秩过滤器。

rank_filter的Python项目详细描述


秩滤波器

动机

这个包的目的是提供一个有效的线性秩序 用Python绑定编写C++的过滤器。可以是单程的,也可以是双程的 精度作为输入浮动。它需要作为等效百分位数 发现scipy中的筛选器太慢,并且不必要地通用。 在维格拉没有对等的。

要求

要构建此软件包,需要满足以下要求。

  1. 巨蟒(2.7.x或3.5.x)
  2. 增强(1.56.0或更高版本)
  3. numpy(1.7.0或更高版本)
  4. cython(0.23.0或更高版本)
  5. 设置工具(18.0或更高版本)
  6. < > >

安装

最简单的安装方法是安装conda软件包。 或者,可以从 pip 安装,但这需要 C++编译器和最近版本的 StudioToops>

建筑

有几种方法可以构建包。

  1. 标准的python构建和安装。
  2. Conda配方构建和安装。
  3. 制作并安装。
  4. < > >

    任何一种形式的vanilla安装基本上都应该是等效的。

    入门

    要开始,只需克隆repo并将目录更改为repo即可。

    git clone https://github.com/nanshe-org/rank_filter
    cd rank_filter
    

    使用python

    要直接使用python构建/安装,只需运行以下命令即可。

    python setup.py install
    

    使用conda

    要使用conda构建/安装,只需运行以下命令即可。

    conda build rank_filter.recipe
    conda install --use-local rank_filter.
    

    使用cmake

    为了找到boost include和库,安装了boost目录 to必须设置为 boost\u root

    cmake -DBOOST_ROOT=<path-to-Boost-root> .
    

    此外,cmake安装程序还将拾取这些变量,如果它们设置在 环境和未提供的。

    export BOOST_ROOT=<path-to-Boost-root>
    cmake .
    

    另外,可以使用 python_可执行文件 变量。

    检查

    在构建Python绑定之前,检查C++代码是否值得 通过自己的测试套件。这可以使用 命令B埃洛不需要运行此阶段,但它将运行 每次建造的时候。这些测试不能保证python 模块将工作。它们验证的是C++代码工作。

    make check
    
    建筑

    使用 make 可以轻松地进行构建。这将创建一个共享对象 在slib目录中,python可以将其作为模块导入。AS 在检查部分中提到,C++测试将首先运行。如果 它们失败了,python模块将不会被构建。他们不能保证 python模块将工作。相反,可以使用测试阶段 验证模块。

    make
    
    测试

    一旦构建了python模块,就值得测试它是否工作。 这可以使用下面的命令通过 make 完成。不同于C++ 测试,这些是使用nose运行测试的python测试。测试 是在C++测试中使用的Python类似物。他们不仅 验证基本命令是否运行,但它们传递的结果是否正确 仅限。

    make test
    
    安装

    在建造和测试之后,是时候安装了。使用 使 下面的命令将在已标识的python的 允许使用该文件夹导入此模块的网站包文件夹 蟒蛇. < /P>

    make install
    
    清洁

    还有一些关于清洁的附加选项。有可能 清除所有生成中介(包括cmake生成的文件)离开 只有最终的产品。按如下方式拨打电话即可完成此操作。

    git clone https://github.com/nanshe-org/rank_filter
    cd rank_filter
    
    0

    如果需要消除构建产品以及所有 中间产物,则可以使用下面的调用。

    git clone https://github.com/nanshe-org/rank_filter
    cd rank_filter
    
    1

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

推荐PyPI第三方库


热门话题
eclipse AST和JDT Java模型之间的主要区别是什么?   java访问jar文件中的外部库(jmf)   java读取简单json库文件   安全验证数字签名pdf java IText   java如何防止有人在JSP/Servlet中从浏览器修改输入表单参数   java有没有办法在JTree中为多个根使用扩展图标?   当我在IntelliJ IDEA下使用Lombok时,java无法编译项目   java Log4j不向linux系统日志发送日志   Java中的字符转换正则表达式   java如何在Glide上显示gif   java如何解析正弦函数?   slick2d Java slick:翻译   datetime java DateFormat给出了奇怪的格式结果   java如何让一个简单的HelloWorld应用程序在Spring Boot中运行   java如何在带有JUnit的Maven项目中通过自定义类加载器两次加载同一类   java PDFBox。生成具有相同图像的多页文档   JavaJSF外部链接   java Google NLP api无法找到TLS ALPN提供商;没有可用的工作网络、密码或码头NPN/ALPN   面向对象的纸牌游戏的java类图,可处理多达21点的纸牌