计算化学公社

 找回密码 Forget password
 注册 Register
Views: 18179|回复 Reply: 11
打印 Print 上一主题 Last thread 下一主题 Next thread

[建模与可视化] VMD + POV-Ray 实现焦点虚化的辅助程序

[复制链接 Copy URL]

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

本帖最后由 liyuanhe211 于 2019-10-14 03:11 编辑

本程序可随意传播、使用、改写。但将本文的教程复制至本站之外(含其图片,图片可编辑但不可去除水印),需注明作者及出处。

VMD中实现带焦点虚化的渲染颇为不便,结合Techyon实现时,必须使用Perspective显示模式(感觉戳到眼睛里)、虚化效果很差(采样率很低)、难以自定义效果。且必须自己尝试多次才能确定出合适的焦点深度。

为了解决这个问题我写了一个简单的程序辅助实现这一目的。
程序仅在Windows 8.1, 及最新的 VMD 1.9.3下测试并打包;不保证其他平台可用,但程序代码本身(除已存的程序路径外)是跨平台的、可以自行尝试。

  • 效果图(请在较大屏幕上观看):



  • 使用流程

准备工作:安装 VMD 1.9.3 和 POV-Ray 3.7 (程序包里已附带),其中 POV-Ray 3.7 请安装到默认目录(否则自己找到并记住可执行文件 pvengine64.exe 的路径)

该程序支持VMD中可显示的任意表示方式,使用CPK表示完整分子时比较方便(其他情况(如蛋白的NewCartoon方式)在本文最后说明)。
首先在VMD中调整出想要的样子。如下图所示,此处我们假设希望通过焦点模糊突出箭头所示的羰基。



打开程序,首先点击【Gen .pov Filename】按钮,程序会询问最终渲染图片的保存路径,正常命名即可。
(注:虽然程序本身其实无此限制,但为了改掉一些坏毛病,程序会检查并禁止路径中带有空格)



正确选择保存路径和文件名后,文件路径会自动被复制到剪切板中(不必Ctrl+C)



此时打开VMD的渲染控制,按照程序界面上的说明,做如下设定:
1. 选择渲染器为POV-Ray 3.6
2. 清空Filename栏,并直接Ctrl+V (程序已将所需的路径复制到剪切板了)
3. 清空Render Command
4. 点击 Start Rendering



这个过程只产生渲染文件而不进行渲染,应该瞬间结束。
随后点击程序中的【Load VMD generated .pov file】按钮载入文件。


随后需确定焦点所在的位置。
程序通过原子位置、或几个原子的几何重心确定焦点位置。
通过 VMD 的 Pick 模式(快捷键为 P)可以方便的在命令行窗口读到所关心原子的序数,此处C=O的序数分别是 Molecule ID为 1 的分子的 2526 号原子


将此信息按格式输入程序 [Focal atoms] 中:
完整写法为 [Molecule-ID]:[Representation-ID]:[atom_index],对上述原子是 "1:0:25 1:0:26"(不含引号,下同)
如果 Molecule-ID = 0 或 Representation-ID = 0 可以省去
例如上面的分子 Molecule-ID = 1,不能省去,但体系只有一个Representation(在 VMD-Graphics-Representations 中观察),故可简写为 "1:25 1:26"


点击【Submit】按钮后即可开始渲染。如果 POV-Ray 未装在默认位置,请自行寻找其可执行文件并告诉程序,程序会予以记录,下次就不用选择了。
渲染效果如图:


程序进行渲染时有几个参数,数值可用鼠标滚轮调整。各参数的效果示例如下,懂一点摄影的话很容易理解:

Resolution:生成图像的分辨率。理论上支持无穷高的分辨率。若一开始不确定下面各参数的合适范围,可先渲染小图,再渲染高分辨的图片。另外程序提供一个不更改设置的情况下渲染低分辨图片的按钮,可用于快速预览。


Depth of view:景深。决定虚化的程度。相当于相机光圈:

Depth of view = 50, 100, 200


Blur Sampling:每个模糊进行的采样数量,数值越大效果越“光滑”,但渲染时间也呈指数增加。相当于相机底片的ISO。超过85基本就完全没有颗粒感了,分辨率不十分高的时候70即可以接受。程序下方的Draft按钮即是使用很低的采样率实现快速渲染供预览使用。



Blur sampling = 1, 60, 70, 85(在2核4线程的笔记本上渲染分别耗时 1s, 16s, 35s, 2 min 4 s)

使用低采样率预览的Draft按钮


Orthographicality:透视/正交投影间的渐变,数值越大越接近正交投影,数值越小越产生“戳到眼睛里”的感觉。相当于相机离物体的远近(长焦换鱼眼)


Orthographicality = 100, 30, 2 (前两个切换着看会比较明显)


Field width:视野的宽度,相当于相机焦距,数值越小视野越小。相当于变焦镜头推拉。


Field width = 20, 50, 100





  • 若所需显示的模式不是“完整的、分子的CPK模式”

由于程序需要 CPK 模式在 POV-Ray 文件中产生球面的球心位置来定位焦点,故若分子不以 CPK 模式需要做如下调整:
以下图所示 NewCartoon 方式显示的蛋白为例


1. 调好所有效果后,最后在VMD中创建一个以 CPK模式显示的、完整分子的(Selected Atom = All)Representation


2. 记录这个多余的Representation的序号(从0开始),此处为 1
3. 正常查看所需焦点的原子序号,如此处所指为 2 号分子的 869号 原子

4. 按完整格式填写焦点原子 ([Molecule-ID]:[Representation-ID]:[atom_index]),此处为 2:1:869

5. 【关键】:在 [Remove CPK Molecules] 一栏中填入需要删除的、之前多余的 CPK Representation,格式为([Molecule-ID]:[Representation-ID]),此处为 2:1

6. 其他参数正常设置,提交。



得到效果如图




  • Bug report

这是一个自用程序,我用VMD大多是显示小分子,故可能未考虑到一些我不使用的情况。

已知的问题:
  • 效率:Submit 大分子(数千原子)时较慢,约需几秒,因为此处渲染过程完全是决速步,故而暂未打算优化,稍等片刻即可。
  • 参数正交性:各参数已经过变换,使得调整相应量时尽量不相互依赖,但由于使用了一些近似(诸如小角时 sin(x)=x),如果把参数调的特别离谱时,可能调整一个参数也连带需要调整另一参数,多加尝试即可。

遇到Bug时,请提供:
1. 载入VMD的结构文件
2. VMD中“File-Save visualization state”功能产生的状态文件。
3. 本程序界面(GUI)截图
4. 如果程序崩溃,提供本程序附带的CMD窗口(黑窗口)的截图


  • 更新

20170406: 增加了一个“Draft”按钮,用来自动以低质量生成图片用于预览(在一般电脑上一般1~2秒即可渲染完的低质量图片)用于调试参数。




  • 下载

游客,本帖隐藏的内容需要积分高于 20 才可浏览,您当前积分为 0


噫,好像荣幸的成为了本论坛第一批加水印的图


评分 Rate

参与人数
Participants 16
威望 +1 eV +62 收起 理由
Reason
ezez + 5 赞!
发量浓密 + 4
req + 2 хорошо!
Jack + 3 好物!
王二葛 + 5 牛!
小狗乖乖 + 1
终_焉 + 5 牛!
momian + 2 赞!
qczgzly + 5 とてもいい!
978142355 + 5 好物!
冰释之川 + 5 好物!
Mikasa + 5 牛!
captain + 5 好物!
ruanyang + 5 好物!
ggdh + 5 好物!
sobereva + 1

查看全部评分 View all ratings

294

帖子

0

威望

3528

eV
积分
3822

Level 5 (御坂)

2#
发表于 Post on 2017-4-4 16:28:36 | 只看该作者 Only view this author
一直想用Pov-Ray渲染方式,这个帖子非常不错,赞!

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

3#
 楼主 Author| 发表于 Post on 2017-4-6 11:47:21 | 只看该作者 Only view this author
20170406更新: 增加了一个“Draft”按钮,用来自动以低质量生成图片用于预览(在一般电脑上一般1~2秒即可渲染完的低质量图片)用于调试参数。



评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
sobereva + 3

查看全部评分 View all ratings

1

帖子

0

威望

31

eV
积分
32

Level 2 能力者

4#
发表于 Post on 2019-2-15 15:22:47 | 只看该作者 Only view this author
这个简直太方便了吧。。。谢谢楼主!

130

帖子

0

威望

1056

eV
积分
1186

Level 4 (黑子)

5#
发表于 Post on 2019-2-16 20:19:16 | 只看该作者 Only view this author
这个,确实是可以尝试一下的。

1

帖子

0

威望

25

eV
积分
26

Level 2 能力者

6#
发表于 Post on 2019-7-4 03:35:42 | 只看该作者 Only view this author
你好,用了你的渲染小程序后在load VMD generated .pov file那一步程序闪退了,请问有可能是什么原因呢,谢谢

161

帖子

0

威望

605

eV
积分
766

Level 4 (黑子)

蓝卫兵

7#
发表于 Post on 2019-7-4 05:50:11 | 只看该作者 Only view this author
这种图放ppt里让观众有种老眼昏花的错觉
B样条插值
个人专栏https://zhuanlan.zhihu.com/p/21936803

17

帖子

0

威望

245

eV
积分
262

Level 3 能力者

8#
发表于 Post on 2021-2-27 19:29:48 | 只看该作者 Only view this author
willowei 发表于 2019-7-4 03:35
你好,用了你的渲染小程序后在load VMD generated .pov file那一步程序闪退了,请问有可能是什么原因呢,谢 ...

我也出现了同样的问题,不知道为什么?

2

帖子

0

威望

224

eV
积分
226

Level 3 能力者

9#
发表于 Post on 2021-11-17 13:01:01 | 只看该作者 Only view this author
绝对是好东西

2

帖子

0

威望

224

eV
积分
226

Level 3 能力者

10#
发表于 Post on 2021-11-23 06:53:26 | 只看该作者 Only view this author
您好,想请教您一下,如果我想显示的是同时含有newcartoon蛋白和cpk小分子的话,怎么设置能成功呢?我试了一下,发现每次提交渲染时,就自动退出了。不知道为什么,所以想请教您一下。谢谢!

202111230653035765..png (411.65 KB, 下载次数 Times of downloads: 36)

202111230653035765..png

1

帖子

0

威望

406

eV
积分
407

Level 3 能力者

11#
发表于 Post on 2022-9-27 11:40:13 | 只看该作者 Only view this author
willowei 发表于 2019-7-4 03:35
**** 作者被禁止或删除 内容自动屏蔽 ****

您好,我在操作的时候也遇到了这样的情况,请问您最后解决这个问题了吗?

4

帖子

0

威望

313

eV
积分
317

Level 3 能力者

12#
发表于 Post on 2024-7-22 21:36:08 | 只看该作者 Only view this author
willowei 发表于 2019-7-4 03:35
**** 作者被禁止或删除 内容自动屏蔽 ****

我也发生了闪退不知道有没有解决这个bug?

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 05:32 , Processed in 0.210738 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list