[Chimera-users] Camera parameters
Tom Goddard
goddard at cgl.ucsf.edu
Tue Jul 27 18:51:07 PDT 2010
I put the script camerapositions.py on the Chimera Python scripts page.
http://plato.cgl.ucsf.edu/trac/chimera/wiki/Scripts
It reports camera center and field of view for each saved position.
Tom
> Thanks Tom. The python script would be helpful.
>
>
> 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