交互式Jupyter小部件,用于在2D和3D中可视化图像、点集和网格
项目描述
交互式 Jupyter 小部件,用于在网页上可视化图像、点集和网格。
主要功能:
在Jupyter中可视化二维和三维图像、点集和几何形状,例如网格。
支持以下类型:
精美的体积渲染
三平面体积切片
创新、强大的不透明度传输函数/窗口/级别控件
标签图像分割2D和3D渲染
支持各向异性的体素间距
图像线轮廓控件
图像统计控件
比较图像控件
当有点数据或单元格数据时,选择用于几何形状或色图的实色或色图控件
将点集可视化为中心点或球体,并交互式调整点大小
与其他ipywidgets结合,快速创建交互式图形界面,以提供对数据算法的洞察
这些控件旨在支持Insight Toolkit (ITK)的空间分析,但它们在科学Python生态系统中的其他空间分析工具中也同样有效。
Binder上的示例
数据类型
食谱
安装
使用pip在Jupyter笔记本中安装控件
pip install itkwidgets
对于Jupyter Lab,另外,运行
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib jupyterlab-datawidgets itkwidgets
使用
在Jupyter中导入view函数
from itkwidgets import view
然后,在单元格末尾调用view函数,传入要检查的图像
view(image)
有关其他选项的信息,请参阅view函数文档字符串
view?
其他可用控件
itkwidgets.line_profile:绘制强度线轮廓。
itkwidgets.checkerboard:以棋盘图案比较两个图像。
itkwidgets.compare:并排比较两个图像。
在Docker容器中使用
您可以在JupyterLab中,从Docker容器中使用 itkwidgets。要创建本地Docker镜像
安装 docker 并使用以下命令构建Docker镜像
git clone https://github.com/InsightSoftwareConsortium/itkwidgets cd itkwidgets/docker IMAGE=itkwidgets:0.1.0 docker build -t $IMAGE .
然后运行Docker容器
EXAMPLESDIR=`pwd`/../examples docker run -it --rm -v $EXAMPLESDIR:/home/jovyan -p 8888:8888 itkwidgets:0.1.0
最后,连接到您的笔记本,网址为 http://127.0.0.1:8888/lab
高级用法
itkwidgets 基于 ipywidgets。因此,可以使用由 view 函数返回的 viewer 对象查询、分配或观察小部件特性。itkwidgets 可以与其他 ipywidgets 结合,快速探索算法参数、创建图形界面或创建数据可视化仪表板。
鼠标控制
- 左键点击 + 拖动
旋转
- 右键点击 + 拖动 或 shift + 左键点击 + 拖动
平移
- 鼠标滚轮 或 control + 左键点击 + 拖动 或 捏合
缩放
- Alt + 左键点击 + 拖动左右
更改颜色传递函数窗口
- Shift + 左键点击 + 拖动上下
更改颜色传递函数级别
- Shift + alt + 左键点击 + 拖动上下
更改主要高斯体积不透明度传递函数幅度
键盘快捷键
当鼠标位于查看器内部时,键盘快捷键生效。所有快捷键均以前缀 Alt+ 开头。对应Dvorak键盘布局的键具有相同的效果。
- Alt + 1
X平面模式
- Alt + 2
Y平面模式
- Alt + 3
Z平面模式
- Alt + 4
体积渲染模式
- Alt + q
切换用户界面
- Alt + w
切换感兴趣区域(ROI)选择小部件
- Alt + e
重置ROI
- Alt + r
重置相机
- Alt + s
在体积渲染模式中切换切片平面
- Alt + f
切换全屏
示例
安装后,尝试以下示例,演示如何可视化
ImageJ ImgLib2图像(需要 conda 和本地 Fiji 安装)
或如何
故障排除
IOPub数据速率超过。
如果您遇到笔记本警告
IOPub data rate exceeded. The notebook server will temporarily stop sending output to the client in order to avoid crashing it. To change this limit, set the config variable `--NotebookApp.iopub_data_rate_limit`.
设置笔记本配置值
jupyter notebook --NotebookApp.iopub_data_rate_limit=1e12
JupyterLab中的滚动
单元格输出默认情况下会滚动。要禁用滚动,右键点击输出左侧的区域并选择 禁用输出滚动。
安装期间出现“权限被拒绝”
如果在安装期间出现“权限被拒绝”错误,请通过以下方式以 user 权限安装Python包
pip install –user itkwidgets
对于JupyterLab扩展程序的安装,通过设置环境变量 JUPYTERLAB_DIR 来配置JupyterLab使用您的用户应用程序目录。
export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
检查是否在由以下内容报告的 应用程序目录 值中获取到这一设置:
jupyter lab path
然后,按照常规方式安装扩展程序。
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib jupyterlab-datawidgets itkwidgets
黑客技术
欢迎参与!对于开发安装(需要 Node.js)
git clone https://github.com/InsightSoftwareConsortium/itkwidgets.git cd itkwidgets python -m pip install -r requirements-dev.txt -r requirements.txt python -m pip install -e . jupyter nbextension install --py --symlink --sys-prefix itkwidgets jupyter nbextension enable --py --sys-prefix itkwidgets jupyter nbextension enable --py --sys-prefix widgetsnbextension python -m pytest python -m pytest --nbmake examples/*.ipynb
上述命令将为Jupyter Notebook的开发设置您的系统。在一个终端中,启动Jupyter:
cd itkwidgets jupyter notebook
在另一个终端中,将Webpack设置为监视模式,以便在保存JavaScript文件时重新构建任何JavaScript更改。
cd itkwidgets npm run watch
如果Python代码有更改,重新启动内核以查看更改。如果JavaScript代码有更改,Webpack构建完成后重新加载页面。
为了开发Jupyter Lab,还需要运行以下命令:
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-matplotlib jupyterlab-datawidgets jupyter-webrtc jupyter labextension install ./js jupyter lab --watch
项目详情
itkwidgets-0.32.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c93394116cbc0680bdd1130239c2b1aa4cadd08fd7ba3c058df83b4f32bb0d00 |
|
MD5 | 53e87cea297b8a3ede82c28d777dfb14 |
|
BLAKE2b-256 | 2d2bce84ff2871e25d0527c5c5d755b0c79229a80197ce6400c424b5dcf35e9e |
itkwidgets-0.32.6-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e617f1948126e9de6c15f4f64b3a6918c4b2873a46b52c6a4ae207a76d449817 |
|
MD5 | ca678f9aece3b994e931ace1e4c787e2 |
|
BLAKE2b-256 | d19d1a64e834c17ffe615c8f80d8367f0beeafd07338efccf5be9733d0f770da |