计算化学公社

标题: VMD + POV-Ray 实现焦点虚化的辅助程序 [打印本页]

作者
Author:
liyuanhe211    时间: 2017-4-4 13:47
标题: VMD + POV-Ray 实现焦点虚化的辅助程序
本帖最后由 liyuanhe211 于 2019-10-14 03:11 编辑

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

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

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


(, 下载次数 Times of downloads: 52)
(, 下载次数 Times of downloads: 60)



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

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

(, 下载次数 Times of downloads: 70)


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

(, 下载次数 Times of downloads: 53)


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

(, 下载次数 Times of downloads: 66)


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

(, 下载次数 Times of downloads: 54)


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


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

(, 下载次数 Times of downloads: 63)

将此信息按格式输入程序 [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"

(, 下载次数 Times of downloads: 55)

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


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

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

(, 下载次数 Times of downloads: 65)

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

(, 下载次数 Times of downloads: 64)
Depth of view = 50, 100, 200


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

(, 下载次数 Times of downloads: 64)


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

(, 下载次数 Times of downloads: 47)
使用低采样率预览的Draft按钮


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

(, 下载次数 Times of downloads: 65)

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


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

(, 下载次数 Times of downloads: 50)

Field width = 20, 50, 100






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

(, 下载次数 Times of downloads: 53)

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

(, 下载次数 Times of downloads: 64)

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

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

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

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

(, 下载次数 Times of downloads: 62)


得到效果如图
(, 下载次数 Times of downloads: 56)





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

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



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

(, 下载次数 Times of downloads: 49)






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



作者
Author:
ruanyang    时间: 2017-4-4 16:28
一直想用Pov-Ray渲染方式,这个帖子非常不错,赞!
作者
Author:
liyuanhe211    时间: 2017-4-6 11:47
20170406更新: 增加了一个“Draft”按钮,用来自动以低质量生成图片用于预览(在一般电脑上一般1~2秒即可渲染完的低质量图片)用于调试参数。


(, 下载次数 Times of downloads: 52)


作者
Author:
andyli0412    时间: 2019-2-15 15:22
这个简直太方便了吧。。。谢谢楼主!
作者
Author:
meatball1982    时间: 2019-2-16 20:19
这个,确实是可以尝试一下的。
作者
Author:
willowei    时间: 2019-7-4 03:35
你好,用了你的渲染小程序后在load VMD generated .pov file那一步程序闪退了,请问有可能是什么原因呢,谢谢
作者
Author:
pyscf    时间: 2019-7-4 05:50
这种图放ppt里让观众有种老眼昏花的错觉
作者
Author:
jluZ    时间: 2021-2-27 19:29
willowei 发表于 2019-7-4 03:35
你好,用了你的渲染小程序后在load VMD generated .pov file那一步程序闪退了,请问有可能是什么原因呢,谢 ...

我也出现了同样的问题,不知道为什么?
作者
Author:
yuiopqwert10    时间: 2021-11-17 13:01
绝对是好东西
作者
Author:
yuiopqwert10    时间: 2021-11-23 06:53
您好,想请教您一下,如果我想显示的是同时含有newcartoon蛋白和cpk小分子的话,怎么设置能成功呢?我试了一下,发现每次提交渲染时,就自动退出了。不知道为什么,所以想请教您一下。谢谢!

作者
Author:
柚子的左右    时间: 2022-9-27 11:40
willowei 发表于 2019-7-4 03:35
**** 作者被禁止或删除 内容自动屏蔽 ****

您好,我在操作的时候也遇到了这样的情况,请问您最后解决这个问题了吗?
作者
Author:
Whitedwarf    时间: 2024-7-22 21:36
willowei 发表于 2019-7-4 03:35
**** 作者被禁止或删除 内容自动屏蔽 ****

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




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3