Differences between revisions 4 and 10 (spanning 6 versions)
Revision 4 as of 2008-08-14 22:29:17
Size: 566
Comment:
Revision 10 as of 2008-08-14 23:06:09
Size: 1675
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0. The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0.
#
The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ
Line 15: Line 16:
This next section will look better once we get mathml working
Line 16: Line 18:
=== Transforms and Euler Angles in the context of Projections === A pixel given at coordinate vector v = [x,y,z]^T will be transformed using the following"

{{{`vhat = T_post R T_pre v`}}}

Where the rotation matrix R is as defined in Baldwin and Penczek 2007.


=== Transformations and projections ===

Say the data model is a 3D map denoted M(x,y,z) and a projection is to be generated in a particular direction. The model may also be pre and/or post translated as part of the projection process. The translation information along with the direction of the projection is to be stored in a Transform3D object T, and the projection is to be generated according to or equivalently to the following

{{{`p(x,y) = int T M(x,y,z) dz`}}}

That is, the projection is generated by first transforming the 3D map M by the Transform3D object, and proceeded by taking line integrals along z.

=== Transformations and recontructors ===

In order to insert a projection as generated in the conventional way (above) into a 3D volume in the correct orientation, one must transpose the Transform3D object that was used to generate the projection prior to slice insertion.

Transformations in the context of projections, reconstructions, and in general

Transforming an EMData object

An EMData object may be transformed using the following syntax

   1 e = EMData("mydata.hdf")
   2 t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0. 
   3 # The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ
   4 t.set_pretrans(1,1,1)
   5 t.set_postrans(2,2,2)
   6 e.rotate_translate(t)

This next section will look better once we get mathml working

A pixel given at coordinate vector v = [x,y,z]^T will be transformed using the following"

`vhat = T_post R T_pre v`

Where the rotation matrix R is as defined in Baldwin and Penczek 2007.

Transformations and projections

Say the data model is a 3D map denoted M(x,y,z) and a projection is to be generated in a particular direction. The model may also be pre and/or post translated as part of the projection process. The translation information along with the direction of the projection is to be stored in a Transform3D object T, and the projection is to be generated according to or equivalently to the following

`p(x,y) = int T M(x,y,z)  dz`

That is, the projection is generated by first transforming the 3D map M by the Transform3D object, and proceeded by taking line integrals along z.

Transformations and recontructors

In order to insert a projection as generated in the conventional way (above) into a 3D volume in the correct orientation, one must transpose the Transform3D object that was used to generate the projection prior to slice insertion.

EMAN2/TransformConventions (last edited 2009-02-04 21:14:56 by DavidWoolford)