How to make images for publication using VMD

From Computational Biophysics and Materials Science Group
Revision as of 22:10, 5 November 2014 by Kevin (Talk | contribs)

Jump to: navigation, search

Probably the most obvious reason that we use VMD is that it could make very nice images for publication or visual appreciation(?). Creating images with high resolution is of the most importance.

Publication Figure Rendering With Tachyon

!!!Please first read this single-slide webpage!!!

I am also attending the journey of learning to render good images. So currently I could only provide you some useful links and my way of rendering. Please feel free to come to discuss with me or edit this page if you have a better way out.
--Kevin (talk) 19:41, 14 May 2014 (HKT)


A general and highly recommended mini-tutorial on VMD images and videos is provided here as a web-book. Also I found a very clarifying message with replies from one of the authors of the mini-tutorial in the VMD Mailing List.

Following is my step of rendering:

  • Load VMD state of the Molecule.
  • Go to File -> Render -> Tachyon
  • Use "tmp.dat" for Filename in the render window
  • Modify Render Command in the render window as follows:
    Windows: "C:\Program Files (x86)\University of Illinois\VMD\\tachyon_WIN32.exe" tmp.dat -format BMP -o path/to/your/image.bmp
    Mac: "/Applications/VMD 1.9.1.app/Contents/vmd/tachyon_MACOSXX86" -aasamples 12 tmp.dat -format BMP -o path/to/your/image.bmp
  • Start Rendering

N.B. In fact it is okay to select your image path using the Browse bottom and leave the %s in the Render Command line. However I just do not like the way it left me a dat file.

You should able to understand what has been done by VMD from the steps. Generally the VMD first renders the current scene to "test.dat" as a data file, then it uses the implemented program - "tachyon_WIN32.exe" or "tachyon_MACOSXX86" to read the data file and convert into a bmp. This is the trick from which we could make good images. Usually I use 2048x1024 which takes a little bit long time of rendering but provides more than enough resolution you need.

Transparent surface

If you have transparent surface, add this option: -trans_max_surfaces [1 to 5], it seems 1 work better. Source refers to here

Resolution

You may manually set the resolution with a desirable one by adding option: -res XXXX XXXX (e.g. -res 2048 1024).

Ambient Occlusion (AO)

Ambient occlusion lighting is enabled in the Display|Display Settings window by selecting "on" in "Amb. Occl" and "Shadows" choosers. Once ambient occlusion lighting is enabled, the effect is adjusted by manipulating the "AO Ambient" and "AO Direct" coefficients, which scale the lighting contribution from the ambient light, and from the standard VMD lights, respectively. In most cases, an ambient light coefficient ranging from 0.7 to 1.0 and a direct lighting coefficient of 0.1 to 0.4 are most appropriate and yield the best results. A rule of thumb that tends to work well is that the sum of the two lighting coefficients should be near to 1.0.

Material in Graphical Representations

It turns that that the material chosen affect the final visual effect most. As AO effect is highly recommended, a material that is fairly diffuse such as "Diffuse", or the AO-optimized "AOshiny", "AOChalky", or "AOEdgy" materials should be used.

Detailed options for tachyon here

User's Guide for tachyon here

But BMP is in fact not a convenient format communicating with LaTex or MediaWiki so we have to further convert it into PNG or JPG or GIF using external graphical software. It remains much to explore. PhotoShop is expected to involve in the future.

Format

As VMD is usually shipped with a tachyon which was not compiled with PNG support so, like in the above recommend commands, we usually render some BMP and then convert them to PNG in order to put them into Latex for instance. You might check by directly running your tachyon binary in VMD and it would give you

-format PNG XXX Not compiled into this binary XXX.

Hate doing conversions? Compile the Tachyon by yourself!

Visit The Tachyon Page and download the newest source codes. You might also have to download the libpng and compile it in order to specify the headers and libraries for png support during tachyon compilation.

So

  1. Compile libpng
  2. Compile tachyon
  3. Replace your tachyon binary in VMD with the self-compiled one
  4. Done, so easy

From now on, you are able to use the -format PNG option of tachyon. Congrats.

Mac: "/Applications/VMD 1.9.1.app/Contents/vmd/tachyon_MACOSXX86" tmp.dat -format PNG -o path/to/your/image.png

TCL Scripting

Wanna script your tachyon rendering in a tcl scripting so it could make you thousands of nice images during your tea break? Run

Render Tachyon tmp.dat

first so you will have the tmp.dat as the input for

Mac: "/Applications/VMD 1.9.1.app/Contents/vmd/tachyon_MACOSXX86" tmp.dat -format PNG -o path/to/your/image.png

in the next line. So easy.