一个将NumPy(Python)和ImgLib2(Java)世界结合在一起的Python模块。
项目描述
imglyb
imglyb
旨在连接两个长期分离的世界
imglyb
使用jpype访问numpy
数组,并通过imglib2-imglyb
将它们暴露给ImgLib2
。这意味着numpy
和ImgLib2
之间的共享内存,即任何ImgLib2
算法都可以在numpy
数组上运行,而无需创建数据的副本!例如,Python用户现在可以利用BigDataViewer 扩展来可视化密集体积数据。
如果您对使用imglyb
感兴趣,请查看examples
文件夹并根据需要扩展示例!
注意: NEP 18
有可能改进numpy
- imglib
互操作性,尤其是在将imglib2
数据结构转换为numpy
时。
安装
先决条件
imglyb
已在Linux、macOS和Windows上进行了测试。
以下工具是必需的
- Python 3
- Java 8或11 JDK(JRE不足以使用)
- Apache Maven
如果您使用conda,这些工具将为您安装。
使用conda安装
conda install -c conda-forge imglyb
使用pip安装
首先,安装上述先决条件。然后运行
pip install imglyb
建议在虚拟环境或conda环境中运行此操作,而不是全局范围内。
从源码安装
首先,安装上述先决条件。然后运行
git clone https://github.com/imglib/imglyb
cd imglyb
pip install -e .
建议在虚拟环境或conda环境中运行此操作,而不是全局范围内。
使用方法
建议根据您的需求遵循并扩展examples
文件夹中的示例。
或者,为了更高级地使用imglyb
,请查看pyimagej。
已知问题
macOS上的AWT
AWT和Cocoa并不完美地兼容。一般来说,需要在JVM加载之前启动Cocoa事件循环。(感谢@tpietzsch找出这个!)这需要一些macOS特定的代码,使用PyObjC
编写,以正确启动和关闭Cocoa应用程序,并在其中启动Java/Python代码。
imglyb
库中包含的OSXAWTwrapper.py
脚本提供了Cocoa代码的示例,并可用于运行imglyb
示例。此包装器需要两个来自PyObjC
的包(pyobjc-core
和pyobjc-framework-cocoa
),并且它们应与macOS上的imglyb
一起安装。
运行包装器时,可以提供目标模块的名称(类似于使用python -m
),或者提供目标脚本的完整路径。因此,使用模块名称,运行位于imglyb-examples
中的“butterfly”脚本的命令如下所示
python imglyb/OSXAWTwrapper.py imglyb-examples.butterfly
目前通过python -m
运行OSXAWTwrapper.py
不起作用。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定该选择哪一个,请了解更多关于安装包的信息。
源代码分发
构建分发
imglyb-2.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9651860278bd4f05d74b47d7ea06df7f24e39cfbfb541208d913fbd01c48c276 |
|
MD5 | 35bdd480d1bcb12e306bcd8a3f60e2bf |
|
BLAKE2b-256 | 97e69fa4ff8aab684dd3ae58be7d782155ba72a2584dcf5779785206c1ca2b8a |
imglyb-2.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9630171d869e4d0d1d138552f9c08562c7f7dffa9482d9c25383928a6c8ada7 |
|
MD5 | 7ce0c27278aebbdae784054faa5783f1 |
|
BLAKE2b-256 | 0c61d088cd14e5a56b3fe0be6390d9b06cfb5f5974cd504c5c81126df4853e0f |