跳转到主要内容

交互式Jupyter小部件,用于在2D和3D中可视化图像、点集和网格

项目描述

PyPI version npm Build status Interactive example on MyBinder License Software citation DOI

交互式 Jupyter 小部件,用于在网页上可视化图像、点集和网格。

itkwidgets chest CT in JupyterLab

主要功能:

itkwidgets demo

这些控件旨在支持Insight Toolkit (ITK)的空间分析,但它们在科学Python生态系统中的其他空间分析工具中也同样有效。

这些控件建立在itk.jsvtk.js之上。

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

切换全屏

示例

安装后,尝试以下示例,演示如何可视化

或如何

故障排除

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

项目详情


发布历史 发布通知 | RSS源

下载文件

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

源代码分发

itkwidgets-0.32.6.tar.gz (1.7 MB 查看哈希值)

上传于 源代码

构建版本

itkwidgets-0.32.6-py2.py3-none-any.whl (3.4 MB 查看哈希值)

上传于 Python 2 Python 3

由以下支持