怎样更好、更清晰地展示3D图像,一直是一个难题。通常人们会利用专业的软件,来生成3D的渲染动画,例如Imaris、Amira等软件,但这些软件一般需要收费。
ImageJ在3D Viewer中自带有3D渲染动画的功能,但只能记录手动变换或者物体旋转360度,不能精确地定义动画的角度、放大缩小倍数等参数,具有很大的局限性:
Treasure琛:ImageJ实用技巧——3D可视化及测量(定量分析篇)zhuanlan.zhihu.com发表于Nature Methods的这篇文章,为解决这个问题提供了新的方法:
研究人员开发了一个ImageJ插件——3Dscript,该插件实现了简单基于自然语言的语法,快速创建高质量的3D / 4D动画[1]。
插件官网说明如下:
3Dscriptimagej.net插件说明:
3Dscript_Manual.pdfbene51.github.io这篇文章就为大家介绍,怎样利用3Dscript快速生成3D图片的渲染动画,做出CNS paper级的展示效果。
打开更新页面(Help->Update...)
等一会儿就会出现下面这个页面,点击Manage update sites。
因为3Dscript的update site还没有集成在里面,所以需要手动添加:
安装完成后重启Fiji,即可看到3Dscript这个插件。(Plugins -> 3D script)
这里以斑马鱼为例:
打开图片之后先进行校准(Image -> Properties)
打开插件(Plugins -> 3D script -> Interactive Animation )
插件会自动生成一个可交互的3D图片,总共有6个参数可调:Contrast、Transformation、Cropping、Bookmarks、Output、Animation。
1、Transformation——获得变换的位置坐标
这里可以通过坐标来精确定位,用鼠标滚轮放大缩小。这样就可以得到变换的精确参数。
因为这里的参数,并不是对动画的初始定义。
2、Output——调整输出图片大小
这里需要注意,插件为了提高处理速度,自动将图片Downsample了,例如原本图片是1407×621,输出的图像只有469×207。
如果想要更高清的动画,可以调整这两个参数,同时也可以设置需不需要边框和比例尺。
3、Animation——设置动画
这篇文章主要关注Animation,也是这个插件的亮点所在。
点击Animation旁边的show:
点击Start text-based animation editor,可出现编辑对话框:
这里的编程十分符合自然语言,即告诉插件,每一帧需要做什么操作。且具有自动补全提示功能。
(1)首先定义起始位置坐标,在对话框中输入a,即可自动补全:
At frame //enter frame number
这里想要在第一帧,即frame 0 ,将图像旋转90度,点击run即可得到第一帧的图像。
(2)定义图像动画,在对话框中输入f,即可自动补全
At frame 0 rotate by 90 degrees around (90, 0, 0) //Click Enter to start new line
From frame
这里定义动画的旋转方式,例如0-100帧水平旋转360度,100-200帧垂直旋转360度:
动画效果:
除了旋转,还有放大,非线性变换等功能,可以看Manual以及论文进一步学习。
运用熟练后可以做出十分漂亮的3D渲染动画(Supplementary Video 1)[1]:
Animation of mouse colon tumorhttps://www.zhihu.com/video/1189169021671739392(3)动画保存
点击Run以后会自动生成一个动画的Stack,可以保存为Avi、Gif等格式。
参考这篇文章:
Treasure琛:ImageJ实用技巧——图片序列转GIF和视频(基本功能篇)zhuanlan.zhihu.com参考文献:
[1]. Schmid, B.; Tripal, P. & Fraaß, T. et al. (2019), "3Dscript: animating 3D/4D microscopy data using a natural-language-based syntax",Nature methods16(4): 278–280, PMID 30886414.
如果对于ImageJ使用有什么问题可以私信我,或者给我发邮件:[email protected]
更多教程可以关注我的专栏:
ImageJ实用教程zhuanlan.zhihu.com ImageJ开发教程zhuanlan.zhihu.com希望对大家有帮助~