Ray
DESCRIPTION
ray creates a ray-traced image of the current frame. This command is used to make high-resolution photos fit for publication. Please note, the ray command can take some time (up to several minutes, depending on image complexity and size).
For those who are making movies with PyMOL, Ray is one of the most commonly used last steps before stitching the frames together to compile the movie. Ray has many powerful features such as setting the size of the image -- and it still works even if the Viewport or screen is smaller than the requested output file dimensions.
USAGE
ray [width,height [,renderer [,angle [,shift ]]]
angle and shift can be used to generate matched stereo pairs
EXAMPLES
# ray trace the current scene using the default size of the viewport
ray
# ray trace the current scene, but scaled to 1024x768 pixels
ray 1024,768
# ray trace with an external renderer.
ray renderer=0
PYMOL API
cmd.ray(int width,int height,int renderer=-1,float shift=0)
SETTINGS
Ray-Tracing modes
ray_trace_mode = 0: normal color
ray_trace_mode = 1: normal color + black outline
ray_trace_mode = 2: black outline only
ray_trace_mode = 3: quantized color + black outline
set ray_trace_mode, 1 # (or 2 or 3; best with "bg_color white;set antialias,2")
# These two new modes -- 2 and 3 -- are cool cartoon looking modes.
Here are the example images for the new modes
Perspective
Perspective Example Images
Notes
PyMol 0.97 and prior used orthoscopic rendering -- that is, no perspective. Upon the arrival of 0.98 and later, we get perspective based rendering at a cost of a 4x decrease in render speed. If you want perspective
set orthoscopic, off
Otherwise
set orthoscopic, on
To magnify the effect of perspective on the scene,
set field_of_view, X
where 50<X<70. Default is 20. 50-70 gives a very strong perspective effect. Nb. the field of view is in Y, not X as one would expect.
Examples
High Quality B&W Rendering
# Black and White Script
load /tmp/3fib.pdb;
show cartoon;
set ray_trace_mode, 2; # black and white cartoon
bg_color white;
set antialias, 2;
ray 600,600
png /tmp/1l9l.png
High Quality Color
# Color Script
load /tmp/thy_model/1l9l.pdb;
hide lines;
show cartoon;
set ray_trace_mode, 3; # color
bg_color white;
set antialias, 2;
remove resn HOH
remove resn HET
ray 600,600
png /tmp/1l9l.png
Renderer
renderer = -1 is default (use value in ray_default_renderer)
renderer = 0 uses PyMOL's internal renderer
renderer = 1 uses PovRay's renderer. This is Unix-only and you must have "x-povray" in your path. It utilizes two temporary files: "tmp_pymol.pov" and "tmp_pymol.png".
Ray Tracing Stereo Images
See Stereo_Ray.
SEE ALSO
"help faster" for optimization tips with the builtin renderer. "help povray" for how to use PovRay instead of PyMOL's built-in ray-tracing engine. For high-quality photos, please also see the Antialias command.
USER Comments
How do I ray trace a publication-ready (~300dpi) image using PyMol?
This answer is in the Advanced Issues (Image Manipulation Section).