Create Rotational Views(创建旋转视图堆栈)
Create Rotational Views - User Manual
Dragonfly Prototype Apps · Create Rotational Views...
版本 Version 1.0 · 2026-07-26
第一部分 中文手册
目录
1. 简介
2. 适用场景
3. 功能特点
4. 使用步骤
5. 环境需求
6. 提示与注意事项
1. 简介
Create Rotational Views(创建旋转视图) 将一个已发布的图像通道(Channel)绕指定轴旋转,把每个角度得到的二维视图堆叠成一个全新的图像堆栈——每个角度对应一张切片。对 3D 体数据,它绕轴旋转后沿垂直于该轴的方向做投影,得到“转台(turntable)”式的一系列二维视图;对 2D 图像,则在其自身平面内旋转,旋转后的图像即为该角度的视图(自旋序列)。
生成的新图像通道被放置在世界坐标系原点,与源图像不保留任何形状/坐标对应关系——它是一个独立的可视化/合成结果,而非对原始体数据的就地变换。整个界面支持 中文 / English 一键切换(随 App Store 的语言开关联动)。
本插件纯进程内运行,直接使用 Dragonfly 自带 Python 的 numpy + scipy,无需安装虚拟环境、无需联网、无需 GPU、无需管理员权限。
2. 适用场景
- 为体数据生成“转台”旋转序列 / 合成倾斜序列(tilt series),用于可视化、渲染,或作为重建流程的正向投影(forward projection)输入。
- 把一张 2D 图像旋转成一组不同角度的视图堆栈,用于演示、动画或数据增广(data augmentation)。
- 快速从多个角度观察一个物体的 MIP / 平均 / 求和 / 最小值 投影。
3. 功能特点
- 输入图像通道:下拉框列出当前全部已发布的图像通道,并显示每个通道的尺寸(X×Y×Z);可点 Refresh(刷新) 重新读取列表。
- 旋转中心(体素坐标):X / Y / Z 三个可编辑数值框,默认取所选图像的几何中心;一键 Reset to image center(重置为图像中心)。
- 旋转轴:X / Y / Z 三选一。
- 轴所属坐标系(Axis from):默认 Image grid(图像自身网格盒);也可选 World system(世界坐标系)——当图像网格并非坐标轴对齐时,世界轴会就近对齐到最接近的网格轴,并在日志中给出提示。
- 投影方式(Projection):MIP 最大强度投影(默认)、Mean 平均值、Sum 求和、Min 最小值(仅对 3D 体数据的投影生效)。
- 角度范围与步长:起始角(默认 0°)、终止角(默认 360°)、步长(默认 1°)均可输入;走满整整 360° 时会自动去掉重复的最后一帧(0° 与 360° 是同一视图)。
- 输出名称:可自定义;留空则自动命名。生成过程有进度条与日志,计算在后台线程进行,不冻结界面。
4. 使用步骤
1. 在 Dragonfly 中打开 Prototype Apps ▸ Reconstruction & Imaging ▸ Create Rotational Views...。
2. 在 Input image(输入图像) 下拉框中选择要旋转的图像通道(如未列出,点 Refresh 刷新)。
3. 设置 Center(旋转中心,体素) 的 X / Y / Z;通常保持默认或点 Reset to image center 使用图像中心。
4. 选择 Rotation axis(旋转轴) 与 Axis from(坐标系:Image grid / World system);对 3D 体数据再选择 Projection(投影方式)。
5. 设置 Start / End / Step(起始角 / 终止角 / 步长,单位度),确定要生成多少个角度。
6. (可选)在 Output name(输出名称) 中填入新图像的名字;留空则自动命名。
7. 点击 Create(创建),观察进度条;完成后新图像堆栈会被发布回 Dragonfly,放置在世界坐标系原点。
5. 环境需求
- 纯进程内运行,使用 Dragonfly 自带 Python 的 numpy 与 scipy;无需安装虚拟环境、无需下载模型、无需联网、无需 GPU、无需管理员权限。
- 首次使用即可运行,插件随 Prototype Apps 一起安装到 Dragonfly,无额外一次性设置步骤。
6. 提示与注意事项
性能:每一个角度都要对整卷做一次旋转和投影,因此角度很密(步长很小)或体数据很大时计算量较大,请留意耗时与内存占用。可先用较大的步长试跑,再加密。
- 输出图像与源图像没有形状对应关系,并被放置在世界坐标系原点——它是一份独立的视图堆栈,不是对原体数据的就地修改。
- 对 2D 图像,旋转始终在其自身平面内进行,此时旋转轴的选择会被忽略,投影方式也不适用(旋转后的图像直接作为视图)。
- 选择 World system(世界坐标系) 时,若图像网格非坐标轴对齐,世界轴会被就近对齐到最接近的网格轴,日志会给出相应提示——如需精确控制,建议直接用 Image grid 坐标系。
- 各角度旋转后视图尺寸可能不同(旋转会外扩画布),插件会自动把所有视图居中填充到统一大小再堆叠成堆栈。
Part II English Manual
Contents
1. Introduction
2. When to use it
3. Features
4. How to use
5. Requirements
6. Tips & notes
1. Introduction
Create Rotational Views rotates a published image Channel around a chosen axis and stacks the per-angle 2D views into a brand-new image stack — one slice per angle. For a 3D volume it rotates about the axis and then projects perpendicular to it, giving a turntable series of 2D views; for a 2D image it rotates in-plane and the rotated image is the view (a spin series).
The new Channel is placed at the world origin with no shape or coordinate correspondence to the source — it is a standalone visualization/synthesis result, not an in-place transform of the original volume. The whole UI switches 中文 / English live, following the App Store language toggle.
The plugin runs purely in-process on Dragonfly's own Python (numpy + scipy) — no venv, no internet, no GPU and no admin rights are required.
2. When to use it
- Generate a 'turntable' rotation series / synthetic tilt series of a volume — for visualization, rendering, or as forward projections feeding a reconstruction.
- Turn a single 2D image into a stack of rotated views for a demo, an animation, or data augmentation.
- Quickly inspect an object's MIP / mean / sum / min projection from many angles.
3. Features
- Input image Channel: a dropdown listing all currently published image channels with each one's size (X×Y×Z); click Refresh to re-read the list.
- Center (voxels): editable X / Y / Z spin boxes defaulting to the selected image's geometric center, with a one-click Reset to image center.
- Rotation axis: choose X, Y or Z.
- Axis from: Image grid (the array axes, default) or World system — if the grid is not axis-aligned, the world axis is snapped to the nearest grid axis and a note is written to the log.
- Projection reduction: MIP (max, default), Mean, Sum or Min (applies to the 3D-volume projection).
- Angle range and step: start (default 0°), end (default 360°) and step (default 1°) are all editable; a full 360° turn automatically drops the duplicate final frame (0° and 360° are the same view).
- Output name: optional (blank = auto-named). A progress bar and log track the run, which happens on a background thread so the UI never freezes.
4. How to use
1. In Dragonfly, open Prototype Apps ▸ Reconstruction & Imaging ▸ Create Rotational Views....
2. In the Input image dropdown, pick the image Channel to rotate (click Refresh if it isn't listed).
3. Set the Center (voxels) X / Y / Z; usually keep the default or click Reset to image center to use the image center.
4. Choose the Rotation axis and Axis from (Image grid / World system); for a 3D volume also choose the Projection.
5. Set Start / End / Step in degrees to define how many angles to generate.
6. (Optional) Type a name in Output name; leave blank for an auto-generated name.
7. Click Create and watch the progress bar; when finished the new view stack is published back into Dragonfly at the world origin.
5. Requirements
- Runs in-process on Dragonfly's own Python (numpy + scipy); no venv, model download, internet, GPU or admin rights.
- Works on first run — the plugin installs with Prototype Apps and has no one-time setup step.
6. Tips & notes
Performance: every angle rotates and projects the whole volume, so dense angle steps (small step) or large volumes are compute-heavy — mind the time and memory. Try a coarse step first, then refine.
- The output has no shape correspondence to the source and is placed at the world origin — it is a standalone view stack, not an in-place edit of the original volume.
- For a 2D image the rotation is always in-plane, so the rotation-axis choice is ignored and the projection mode does not apply (the rotated image is used directly as the view).
- When World system is chosen and the image grid is not axis-aligned, the world axis is snapped to the nearest grid axis and a note is logged — for precise control, prefer the Image grid system.
- Rotated views can have different sizes (rotation grows the canvas); the plugin center-pads all views to a common size before stacking them into the output.