跳转到主要内容

neuroglancer的Python数据后端,用于处理基于WebGL的3D体积数据查看器

项目描述

Neuroglancer Python集成

此软件包提供了一个Python接口来控制Neuroglancer,一个基于Web的3D体积数据查看器。

支持以下功能

  • 在内存中查看NumPy数组(或具有类似接口的任何其他数组类型,包括通过h5py加载的HDF5数组)
  • 从Python读取和写入Neuroglancer查看器状态
  • 更改Neuroglancer键和鼠标绑定
  • 定义动作(由键或鼠标绑定触发),这些动作将导致调用Python回调。

它启动一个本地Web服务器,用于通过sockjs通信状态更改,提供Neuroglancer客户端代码的副本,并在使用Python数据源时为Neuroglancer客户端提供数据。

安装

建议在安装之前激活合适的Python虚拟环境。

需要Python 3.9或更高版本。

您可以使用以下方式从PyPI安装最新发布的软件包

pip install neuroglancer

在大多数情况下,这将使用预构建的二进制轮,无需node.js(构建Neuroglancer客户端)或C++编译器。如果您的平台没有可用的二进制轮,将使用源分布(sdist)代替,这需要C++编译器来构建,但不需要node.js(源分布包括预构建的Neuroglancer客户端副本)。

从远程git仓库直接安装

要从Neuroglancer的git仓库安装最新版本,您可以使用

pip install git+https://github.com/google/neuroglancer

请注意,从git仓库安装需要Node.js和C++编译器。

要安装特定提交 XXXXXXXXX

pip install git+https://github.com/google/neuroglancer@XXXXXXXXX

在另一个Python包中,您可以使用以下语法声明对git版本的依赖

setup(
    name='<package>',
    ...,
    install_requires=[
        ...,
        'neuroglancer @ git+https://github.com/google/neuroglancer@XXXXXXXXX',
    ],
)

从本地git仓库检查安装

您也可以从git仓库的本地检查安装。支持两种安装形式:常规安装和用于开发的可编辑安装。

与从远程git仓库安装类似,从本地检查安装也需要Node.js来构建Neuroglancer客户端,以及C++编译器来构建C++网格生成扩展模块。

常规安装

对于常规安装,请从仓库根目录运行以下命令

pip install .

这将在需要时自动使用Node.js构建Neuroglancer客户端(即,如果neuroglancer/static/client/index.html不存在)。要显式重新构建Neuroglancer客户端,可以使用

python setup.py bundle_client

npm run build-python

可编辑安装(用于开发目的)

在开发过程中,可编辑安装允许直接从本地检查目录导入包

pip install -e .

您对.py源文件所做的任何更改将在下一次导入包时生效,无需重新安装。如果您对Neuroglancer客户端进行了更改,您仍然需要使用npm run build-python重新构建它。您还可以通过运行npm run build-python:watch来保持Neuroglancer客户端的持续更新。

示例

请参阅examples/目录中的示例程序。使用交互式Python解释器运行它们,例如

python -i example.py

或使用IPython魔法命令

%run -i python.py

不要以非交互方式运行示例

python example.py

因为这样服务器会立即退出。

网格生成

对于内存中的分割体积,可以根据客户端的请求(例如,由于用户选择了一个分割)按需生成每个对象表面的网格表示。

安全

默认情况下,服务器只绑定到127.0.0.1地址,并且为了防止跨站脚本攻击,只接受包含有效随机生成的160位密钥的请求。

测试套件

可以使用tox命令运行测试套件。一些测试需要启用WebGL2的Web浏览器,以便测试与Neuroglancer客户端的交互。Chrome和Firefox都受支持,但由于Swiftshader中的错误,目前Chrome Headless无法使用。Firefox Headless也目前不支持WebGL。在Linux上,您可以使用xvfb-run在Firefox上成功无头运行测试。在其他平台上,无法无头运行测试。

# For headless using Firefox on xvfb (Linux only)
sudo apt-get install xvfb # On Debian-based systems
tox -e firefox-xvfb  # Run tests using headless Firefox

# For non-headless using Chrome
tox -e chrome

# For non-headless using Firefox
tox -e firefox

# To run only tests that do not require a browser
tox -e skip-browser-tests

有关测试程序的详细信息,请参阅tox.ini

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

neuroglancer-2.40.1.tar.gz (3.6 MB 查看哈希值)

上传时间 源代码

构建分发

neuroglancer-2.40.1-cp39-abi3-win_amd64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.9+ Windows x86-64

neuroglancer-2.40.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB 查看哈希值)

上传时间 CPython 3.9+ manylinux: glibc 2.17+ x86-64

neuroglancer-2.40.1-cp39-abi3-macosx_11_0_arm64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.9+ macOS 11.0+ ARM64

neuroglancer-2.40.1-cp39-abi3-macosx_10_9_x86_64.whl (3.6 MB 查看哈希值)

上传时间 CPython 3.9+ macOS 10.9+ x86-64

由以下支持