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
。
项目详情
哈希值 用于 neuroglancer-2.40.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b5cb9583b1668aad49c092bb047d6e74959bb3b5b343d5a624f084d82f3ede60 |
|
MD5 | 86cd5afbc0ccdeaa864243397c6a9b9d |
|
BLAKE2b-256 | 2fa2e0e01c70d7a6804eb00faeb901af341ca5518b9d58c444c133d300c48b83 |
哈希值 用于 neuroglancer-2.40.1-cp39-abi3-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7466279b2cad28465edc727b994949599d2f0ece9ca22cee05bfa30c1d63a1ac |
|
MD5 | 5cc56be7f6a367b369532cb98e7ff846 |
|
BLAKE2b-256 | a737214037aec09f43e1854173fc338eb5f20f2b2f6d57ccf9dfc9f4032b1567 |
哈希值 用于 neuroglancer-2.40.1-cp39-abi3-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 73b214772263005e2531dab6051ed1f4d5cd4c4f1c6eb181b9baf704ecb6f3f3 |
|
MD5 | ec3c7b92270d28a246ff06e38e431c7e |
|
BLAKE2b-256 | 59523890bdc3345a1885a6eac6d4b982124d4820c11b706ce179b76c26b3eaea |