[Chimera-users] Control of the volume viewer from the command line
Thomas Goddard
goddard at cgl.ucsf.edu
Tue Nov 28 10:45:08 PST 2006
Hi Lukas,
There is no Chimera command to set the volume contour surface threshold
or color. We plan on adding this command.
For now, I have four suggestions. You can use "Volume Series" tool
available on the Chimera Experimental Features web page:
http://www.cgl.ucsf.edu/chimera/experimental/experimental.html
This page contains plugins that are not yet distributed with Chimera.
You download a zip file and put the new directory in with your existing
Chimera to use it. The Volume Series tool lets you play a series of
volume data sets perserving thershold level and color settings just as
you want:
http://www.cgl.ucsf.edu/chimera/experimental/volume_series/volume_series.html
There is no Chimera command for this tool either so to make a movie you
would start Movie recorder (menu entry Tools / Utilities / Movie Recorder
or use Chimera movie command) then press the Play button on the volume series
dialog.
A second approach is to use the EMANimator animation tool
http://www.cgl.ucsf.edu/chimera/related/emanimator/emanimator.html
It is a Chimera extension included with the EMAN single particle reconstruction
package. It provides a time-line user interface for composing animations
and has a specific capability for playing a sequence of volume data sets
just as you want.
A third approach is to use some Python code in Chimera to script your
movie. This is a bit more complicated than using just Chimera commands.
But you can easily use all Chimera commands in a Python script and you
additionally can control all of the volume settings. I include an example
at the bottom of this email. You simply open the Python file to run the
script.
A fourth approach is to get the Animation Commands package
http://www.cgl.ucsf.edu/chimera/experimental/transition/transition.html
from the Chimera experimental features page. It includes a command
to change the contour level of a volume map from one value to another over
a set number of frames. You could use it to set the contour level. But
there is not a command in this package to set the volume color.
Tom
------------
Example seriesmovie.py Python script follows. Tested in Chimera 1.2309.
directory = '/usr/local/src/chimera-demos/volume/dna_blur' # Volume file location
files = ['1enn_00.mrc', '1enn_05.nc', '1enn_10.nc', '1enn_15.nc', '1enn_20.nc',
'1enn_25.nc', '1enn_30.nc', '1enn_35.nc', '1enn_40.nc',
'1enn_45.nc', '1enn_50.nc']
movie_path = '/usr/local/src/staff/goddard/1enn.mov'
threshold = 0.12
color = (.5, .7, 0) # red, green, blue
delay = 10 # movie frames per volume
def set_volume_threshold_and_color(threshold, rgb):
import VolumeViewer
d = VolumeViewer.volume_dialog()
r = d.focus_region
r.set_parameters(surface_levels = [threshold], # Set threshold level.
surface_colors = [color]) # Set color rgb or rgba.
d.show_region(r, 'surface')
from chimera import runCommand
runCommand('cd %s' % directory)
runCommand('movie record')
for filename in files:
runCommand('open %s' % filename)
set_volume_threshold_and_color(threshold, color)
runCommand('wait %d' % delay)
runCommand('close #0')
runCommand('movie stop')
runCommand('movie encode mformat mov output %s' % movie_path)
More information about the Chimera-users
mailing list