[Chimera-users] volume planes display loop
goddard at cgl.ucsf.edu
Tue Oct 28 08:24:21 PDT 2008
There is no mechanism for stopping a Chimera script (python or
commands) in the middle. The planes.py script I gave you quickly
finishes and the cycling through the planes is handled by the volume
dialog which uses a timer to periodically update the plane being
displayed. Running the script a second time tells the volume dialog to
cancel that timer.
Benoit Zuber wrote:
> Thanks very much Tom, it works fine!
> In this case, I understand that opening the script a second time stops
> the loop.
> In a more general case, once a script has started, how can I interrupt
> it before it ends?
> On Mon, 2008-10-27 at 14:54 -0700, Thomas Goddard wrote:
>> Oops! Forgot to attach the script described in the previous email.
>> Here it is.
>> Tom Goddard wrote:
>>> Hi Ben,
>>> The current Chimera daily builds have a more flexible volume plane
>>> cycling interface. In the planes panel it now has a switch
>>> Cycle through  planes at speed 
>>> It lets you play through a specified number of planes centered on the
>>> currently shown plane. You start it by clicking a switch and stop it
>>> the same way. There is no control to stop after N planes, and the
>>> initial direction of play is the same as when you last stopped playback.
>>> There is currently no Chimera command equivalent which would obviously
>>> be handy for making movies. I've attached a Python script which can be
>>> used with Chimera commands (example given in script) to control exactly
>>> which frames to show in a movie. Note that the frame rate is only
>>> relevant for real-time cycling in Chimera. Movie recording captures
>>> every new frame no matter how slow they are rendered and plays in a
>>> movie player at 25 frames per second (adjustable with a movie encode
>>> command option). Chimera movie recording capabilities are very limited
>>> now but it is an area we intend to improve.
>>> Benoit Zuber wrote:
>>>> I have got some questions regarding plane display of volumes:
>>>> Is there a way to cycle through a limited range of planes? For example
>>>> if the thickness of my volume is 300, is it possible to cycle from z =
>>>> 100 to z = 120, instead of from z = 0 to z = 299?
>>>> Is there a way to make the cycling through the planes start in the other
>>>> direction than when it stopped last time? For example, I click stop
>>>> while the display is cycling from low z value to high z value. If I then
>>>> click start, the display is going to cycle again from low to high z
>>>> value but I would like it to cycle from high to low z value.
>>>> Is it possible to specify a starting plane and an end plane, and to have
>>>> the display going from the starting plane to the end plane only once
>>>> (without cycling)?
>>>> Finally, can all of this be specified through the command line?
>>>> Benoît Zuber
>>>> MRC Laboratory of Molecular Biology
>>>> Hills Road
>>>> CB2 0QH
>>>> United Kingdom
>>>> +44 1223 402209
>>>> bzuber at mrc-lmb.cam.ac.uk
>>>> Chimera-users mailing list
>>>> Chimera-users at cgl.ucsf.edu
>>> Chimera-users mailing list
>>> Chimera-users at cgl.ucsf.edu
>> plain text document attachment (planes.py)
>> # -----------------------------------------------------------------------------
>> # Start or stop volume plane display. Useful for making a movie that steps
>> # through data planes. Example Chimera command sequence to make movie
>> # showing 10 planes starting at plane 47 of a 2048x2048x100 data set.
>> # volume #0 region 0,0,47,2047,2047,47
>> # cd /location/of/planes/script
>> # movie record supersample 3
>> # open planes.py ; wait 10 ; open planes.py
>> # movie stop
>> # movie encode output planes.mov
>> from VolumeViewer.volumedialog import volume_dialog
>> p = volume_dialog().plane_panel
>> if p.cycle_planes.get():
>> p.cycle_planes.set(False) # Stop playback.
>> # p.axis.set(p.axis_names) # Set plane axis 0 is x, 1 is y, 2 is z
>> # p.plane.set(50) # Set starting plane number (0,1,2...)
>> p.play_direction = 1 # Forward. Use -1 for backward play.
>> p.cycle_planes_count.set(100000) # Reverse direction after N planes.
>> p.cycle_frame_rate.set(30) # Maximum frames per second.
>> p.cycle_planes.set(True) # Start playback.
More information about the Chimera-users