Logo Search packages:      
Sourcecode: pymol version File versions  Download package

contrib.py

# Contributed functionality which is either
# untested or considered unsupported by
# DeLano Scientific

# contrib.stpng(filename) generates stereo pair of images
# also merges left and right images if Python Image library PIL is available

def stpng(filename="stereo.png"):
   import Image
   filename=str(filename)
   leftfile="%s_left.png"%filename
   rightfile="%s_right.png"%filename
# render left image and save as 'filename_left.png'
   print "Rendering %s"%leftfile
   cmd.turn("y","3")
   cmd.ray()
   cmd.png(leftfile)
# render right image and save as 'filename_right.png'
   print "Rendering %s"%rightfile
   cmd.turn("y","-6")
   cmd.ray()
   cmd.png(rightfile)
# reset original view
   cmd.turn("y","3")
# merge images - can be done with PIL or an external program
############################################################
# Requires Python PIL
# Open left and right images and determine the image size
   leftim=Image.open(leftfile)
   rightim=Image.open(rightfile)
   size=leftim.size
# Set size of new stereo figure and define location of left and right
# stereo images in the new figure
   sizex=size[0]
   sizey=size[1]
   stsizex=2*sizex
   stsizey=sizey
   stsize=(stsizex,stsizey)
   leftbox=(0,0,sizex,sizey)
   rightbox=(sizex,0,stsizex,stsizey)
# Create new 'empty' stereo image
   stereoim=Image.new("RGB",stsize)
# Paste left and right images into new stereo image
   stereoim.paste(leftim,leftbox)
   stereoim.paste(rightim,rightbox)
# Save stereo image - file format is automatically derived from the
# extension of the filename (i.e. png,jpg,tif,pdf)
   stereoim.save(filename)
   print "Saved stereo image:%s"%filename
########################################################
# Merge images using ImageMagick's montage command
#   cmd_montage="montage +frame +label -geometry %s+0+0! -scene 0 %s
# %s %s"%(size,leftfile,rightfile,filename)
#   print "command:%s"%cmd_montage
#   os.system(cmd_montage)
#   print "Saved stereo image:%s"%filename
########################################################
# Remove temporary left and right image files
   os.remove(leftfile)
   os.remove(rightfile)


Generated by  Doxygen 1.6.0   Back to index