[Chimera-users] Camera parameters

Dougherty, Matthew T matthewd at bcm.tmc.edu
Mon Jul 26 21:01:29 PDT 2010


Thanks Tom.  The python script would be helpful.
________________________________________
From: Tom Goddard [goddard at cgl.ucsf.edu]
Sent: Monday, July 26, 2010 9:03 PM
To: Dougherty, Matthew T; Chimera-users at cgl.ucsf.edu
Subject: Camera parameters

Hi Matt,

   The Chimera camera always points along the negative z-axis.  The
positions of the models are moved/rotated to get different view-points.
Do you mean you want camera location (x,y,z) and horizontal angular
field of view to the edges of the window (for perspective projection)?
I know how to get at these using Python code, but I'm not sure if any
Chimera commands report those values.  Also I don't know if that info
makes its way into X3D or VRML exported from Chimera.  Greg Couch would
know these answers.  He is at SIGGRAPH this week.

   A quite gruesome way to get the parameters is to find them in the
Chimera session file.

     grep formattedPositions mysession.py

     formattedPositions = {'p2': (0.3954088241213373,
18.749999499320985, (14.059999585151672, 7.399999618530273,
8.628906249999993), (36.02048479676247, -18.762672296762467),
8.62890625, {(0, 0): ((13.338430482851305, 2.7738552720503122,
6.309792459458727), (0.3889244976446376, 0.8937166155966246,
0.22362545950400858, 33.757570197325826))}, {(0, 0, 'Volume'): (False,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, False, 5.0)}, 4, (29.312384727061698,
10.919780805124898, 8.628906249999993), False), 'p1': (1.0,
18.749999499320985, (14.059999585151672, 7.399999618530273, 8.62890625),
(36.02048479676247, -18.762672296762467), 8.62890625, {(0, 0):
((-1.913954659058722, -0.7459259145443079, 6.309792459458727),
(0.3889244976446376, 0.8937166155966246, 0.22362545950400858,
33.757570197325826))}, {(0, 0, 'Volume'): (False, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, False, 5.0)}, 4, (14.059999585151669, 7.399999618530277,
8.628906249999993), False)}

This is pretty messy and the values depend on which Chimera version
saved the file.  The values are defined by Python code

     chimera/share/Midas/__init__.py in the _savePosition() routine:

     return (
         viewer.scaleFactor,
         viewer.viewSize,
         cam.center,
         cam.nearFar,
         cam.focal,
         xforms,
         clips,
         om.cofrMethod,
         cofr,
         viewer.clipping
     )


If you want a Python script to simply dump the camera positions for all
savepos positions I can provide that.

     Tom

> Hi Tom,
>
> I am creating a workaround for my graphics problem.  What I have done in the past is to create a VRML file from Chimera export, extract the openGL camera parameters using a text editor, start up Amira, using TCL I would recreate the same camera view within Amira.  At this point I could splice animation clips made by Chimera&  Amira using Final Cut Pro.
>
> It has been a while since I have done this.  I am now looking at the exported VRML files and they are lacking the camera info.
>
> Is there a command I can use to get the camera parameters for the savepos keyframes?
>
> thanks, Matt
>
>





More information about the Chimera-users mailing list